Dear Jure, On 21/03/2018 13:34, Jure Pečar wrote:
Hi all,We're working on getting the latest version of EMAN2 built through easybuild and since it is a mess, we're hitting some issues. Most interesting one currently is that while we can get the thing to build, it fails with this error when we attempt to run it: "TypeError: No registered converter was able to produce a C++ rvalue of type std::string from this Python object of type str" We traced this down to Boost and it goes away if we build libboost_python.so with -D_GLIBCXX_USE_CXX11_ABI=0. Now the question is how we can build Boost with this set in CXXFLAGS. There is a line in boost easyblock build_step picking up cxxflags from environment: cxxflags = os.getenv('CXXFLAGS') But we want to define CXXFLAGS in easyconfig itself so it won't get lost in the future. Any suggestions?
Since the Boost easyblock resolves $CXXFLAGS, it will be hard to intervene...
The best approach here is probably to enhance the Boost easyblock so you can tell it to enable the use of -D_GLIBCXX_USE_CXX11_ABI=0 in a clean way, e.g. adding support for using this in a Boost easyconfig:
use_cxx11_abi = False regards, Kenneth

