JeffersonLab / chroma

The Chroma Software System for Lattice QCD
http://jeffersonlab.github.io/chroma
Other
58 stars 50 forks source link

The errors of make #68

Closed SerialCore closed 2 years ago

SerialCore commented 2 years ago

The "make" ends with the following errors:

In file included from ./util/ferm/key_peram_distillution.h:10, from ./meas/hadron/distillution_factory.h:19, from meas/hadron/distillution_factory.cc:7: ./util/ferm/key_val_db.h:38:50: error: ISO C++17 does not allow dynamic exception specifications 38 | void writeObject (std::string& output) const throw (SerializeException) {3

  |                                                  ^~~~~

./util/ferm/key_val_db.h:44:48: error: ISO C++17 does not allow dynamic exception specifications 44 | void readObject (const std::string& input) throw (SerializeException) { | ^~~~~ ./util/ferm/key_val_db.h:86:50: error: ISO C++17 does not allow dynamic exception specifications 86 | void writeObject (std::string& output) const throw (SerializeException) { | ^~~~~ ./util/ferm/key_val_db.h:92:48: error: ISO C++17 does not allow dynamic exception specifications 92 | void readObject (const std::string& input) throw (SerializeException) { | ^~~~~ ./util/ferm/key_val_db.h: In instantiation of ‘class Chroma::SerialDBKey’: ./util/ferm/key_peram_distillution.h:43:42: required from here ./util/ferm/key_val_db.h:36:26: error: conflicting return type specified for ‘const short unsigned int Chroma::SerialDBKey::serialID() const [with K = Chroma::KeyPeramDistillution_t]’ 36 | const unsigned short serialID (void) const {return 456;} | ^~~~ In file included from /usr/local/include/DBKey.h:43, from /usr/local/include/DBCursor.h:55, from /usr/local/include/ConfDataStoreDB.h:71, from /usr/local/include/qdp_db_imp.h:10, from /usr/local/include/qdp_db.h:12, from ./util/ferm/key_val_db.h:10, from ./util/ferm/key_peram_distillution.h:10, from ./meas/hadron/distillution_factory.h:19, from meas/hadron/distillution_factory.cc:7: /usr/local/include/Serializable.h:58:28: note: overridden function is ‘virtual short unsigned int FILEDB::Serializable::serialID() const’ 58 | virtual unsigned short serialID (void) const = 0; | ^~~~ In file included from ./util/ferm/key_peram_distillution.h:10, from ./meas/hadron/distillution_factory.h:19, from meas/hadron/distillution_factory.cc:7: ./util/ferm/key_val_db.h: In instantiation of ‘class Chroma::SerialDBData’: ./util/ferm/key_peram_distillution.h:44:42: required from here ./util/ferm/key_val_db.h:84:26: error: conflicting return type specified for ‘const short unsigned int Chroma::SerialDBData::serialID() const [with D = Chroma::ValPeramDistillution_t]’ 84 | const unsigned short serialID (void) const {return 123;} | ^~~~

It seems that the errors are associated with programming itself.

SerialCore commented 2 years ago
  1. error: ISO C++17 does not allow dynamic exception specifications
  2. error: conflicting return type specified for ‘const short unsigned int Chroma::SerialDBKey::serialID() const [with K = Chroma::KeyPeramDistillution_t]’
eromero-vlc commented 2 years ago

Is this error when compiling the master branch or devel?

SerialCore commented 2 years ago

I didn't choose any branch, just the default master.> Is this error when compiling the master branch or devel?

eromero-vlc commented 2 years ago

Thanks for reporting this. It is likely that the default branch can only be built with c++11 and c++14. The devel branch (which will be the next release) supports up to c++20.

SerialCore commented 2 years ago

Thanks for reporting this. It is likely that the default branch can only be built with c++11 and c++14. The devel branch (which will be the next release) supports up to c++20.

Got it. Thank you for replying.