Hello all,

while this topic is still on, here's a challenge for the community:
* can features like this be generalized at a deeper level, so that individual 
easyblocks actually need NOT be extended in isolation, but rather have a 
generic mechanism? (i am asking this because I don't imagine yet any obvious 
answer...)

However, I'd consider generalizing this kind of needs as a very desirable 
approach, 
to optimize against configuration clutter.

tia for any ideas!
F.

--
echo "sysadmin know better bash than english" | sed s/min/mins/ \
        | sed 's/better bash/bash better/' # Yelling in a CERN forum

________________________________________
From: [email protected] [[email protected]] on 
behalf of Kenneth Hoste [[email protected]]
Sent: Wednesday, March 21, 2018 20:05
To: [email protected]; Jure Pečar
Subject: Re: [easybuild] CXX11 ABI

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

Reply via email to