This is related to PR 196712 and blocks updating the default version of
GCC from 4.8 to 4.9.
I believe what is happening here is that OpenEXR uses GCC on older
versions of FreeBSD and when linking with the OpenEXR libraries we
then fail to pull in the proper NEWER GCC run-time libraries.
This can be fixed by building (or at least linking) with the same
compiler that OpenEXR is built with. See OpenEXR/Makefile for how
this is done there.
[ 96%] Building CXX object src/CMakeFiles/lprof.dir/qrc_lprof.o
Linking CXX executable lprof
/usr/local/lib/libIlmImf-2_2.so.22: undefined reference to `std::__throw_out_of_range_fmt(char const*, ...)@GLIBCXX_3.4.20'
*** [src/lprof] Error code 1
Auto-assigned to maintainer amdmi3@FreeBSD.org
Can I get the patch (or peferrably make.conf settings) to reproduce this in my poudriere?
Using compiler:c++11-lang should fix this, right?
Dmitry, the full patch is at
and I will shortly attach an updated version (which also
addresses comment #2 by Antonine, alas in a different way).
To reproduce the issue, simply setting the default version of
GCC in Mk/bsd.default-versions.mk should be sufficient as well.
And, yes, USES=compiler:c++11-lang is something I suggested to
Matthias now as well, and if that works for OpenEXR it probably
would be the nicer approach overall.
Fixed after OpenEXR patch was committed.