Whizard 3.0.0 doesn't compile with HepMC 3.2.3
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
WHIZARD |
Fix Released
|
High
|
Juergen Reuter |
Bug Description
Dear Whizard authors,
after running "make && make install" I got following error (g++ 11.1.0, make 4.3, os Manjaro 21.0.7):
CXX libHepMCWrap_
In file included from /usr/include/
/usr/include/
84 | operator std::string_view() const { return std::string_
| ^~~
In file included from /usr/include/
/usr/include/
115 | operator std::string_view() const { return std::string_
| ^~~
/usr/include/
280 | explicit TString(const std::string_view &sub);
| ^~~~~~~~~~~
/usr/include/
280 | explicit TString(const std::string_view &sub);
| ^~~
/usr/include/
317 | TString &operator=(const std::string_view &s);
| ^~~~~~~~~~~
/usr/include/
317 | TString &operator=(const std::string_view &s);
| ^~~
/usr/include/
444 | std::string_view View() const { return std::string_
| ^~~~~~~~~~~
/usr/include/
444 | std::string_view View() const { return std::string_
| ^~~
In file included from /usr/include/
/usr/include/
839 | inline Bool_t operator==(const char *s1, const std::string_view &s2)
| ^~~~~~~~~~~
/usr/include/
839 | inline Bool_t operator==(const char *s1, const std::string_view &s2)
| ^~~
/usr/include/
839 | inline Bool_t operator==(const char *s1, const std::string_view &s2)
| ^~~~~~~~
/usr/include/
844 | inline Bool_t operator==(const std::string_view &s1, const char *s2)
| ^~~~~~~~~~~
/usr/include/
844 | inline Bool_t operator==(const std::string_view &s1, const char *s2)
| ^~~
/usr/include/
844 | inline Bool_t operator==(const std::string_view &s1, const char *s2)
| ^~~~~~~~
/usr/include/
857 | std::string printValue(const std::string_view* val);
| ^~~~~~~~~~~
/usr/include/
857 | std::string printValue(const std::string_view* val);
| ^~~
In file included from /usr/include/
/usr/include/
327 | static Bool_t SetCacheFileDir
| ^~~~~~~~~~~
/usr/include/
/usr/include/
326 | { return SetCacheFileDir
| ^~~~~~~~~~~
/usr/include/
../../.
../../.
181 | }
| ^
../../.
../../.
201 | }
| ^
../../.
../../.
226 | }
| ^
../../.
../../.
287 | }
| ^
../../.
../../.
312 | }
| ^
../../.
../../.
326 | }
| ^
../../.
../../.
351 | }
| ^
Regards,
Kacper Nowak
Changed in whizard: | |
status: | Fix Committed → Fix Released |
Hi Kacper, "--std= c++17".
this seems not to be a bug, but an incompatibility between different C++ standards between HepMC3, ROOT, and the WHIZARD interfaces. How did you install ROOT and HepMC3? Did you compile yourself or did you use system packages? string_view is a C++17 feature, so some of your three programs have not been compiled with that compiler or with those flags. Try configuring WHIZARD with the setting
CXXFLAGS=