Skip to content

c++11 ABI on gcc versions > 5.1 #175

@ericmehl

Description

@ericmehl

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions