After updating my Linux build chain to the latest 2.1.1 release (both downloaded from the release page and building it from source) and therefore c++14 in efcc69c, my locally built Cortex and Gaffer no longer run. I'm building from master with gcc 7.5 (presumably anything over 5.1 would fail based on the next paragraphs).
I get unresolved external symbols due to building Boost (and perhaps others, but Boost was the first library loaded that caused the error) in c++14 without the _GLIBCXX_USE_CXX11_ABI=0 macro set. It is set in Cortex and Gaffer so they were looking for symbols without the __cxx11 namespace and not finding them.
Commenting those lines out of Cortex and Gaffer builds sorted it for me Gaffer runs as expected (and tests succeed as well).
Is this something I should do a PR for to remove the _GLIBCXX_USE_CXX11_ABI=0 lines in Cortex and Gaffer Scons? I don't think that would cause problems in pre-5.1 gcc, but not sure if that would run afoul of other solutions IE or others have made.
After updating my Linux build chain to the latest 2.1.1 release (both downloaded from the release page and building it from source) and therefore c++14 in efcc69c, my locally built Cortex and Gaffer no longer run. I'm building from master with gcc 7.5 (presumably anything over 5.1 would fail based on the next paragraphs).
I get unresolved external symbols due to building Boost (and perhaps others, but Boost was the first library loaded that caused the error) in c++14 without the
_GLIBCXX_USE_CXX11_ABI=0macro set. It is set in Cortex and Gaffer so they were looking for symbols without the__cxx11namespace and not finding them.Commenting those lines out of Cortex and Gaffer builds sorted it for me Gaffer runs as expected (and tests succeed as well).
Is this something I should do a PR for to remove the
_GLIBCXX_USE_CXX11_ABI=0lines in Cortex and Gaffer Scons? I don't think that would cause problems in pre-5.1 gcc, but not sure if that would run afoul of other solutions IE or others have made.