devel/lprof-devel build fail - libvigraimpex.so undefined reference

Dmitry Marakasov amdmi3 at amdmi3.ru
Tue Mar 12 18:57:51 UTC 2013


* David Southwell (david at vizion2000.net) wrote:

> Errors on build:
> 
> [100%] Building CXX Object src/CMakefiles/lprof.dir/qrc_lprof.o
> Linking CXX executable lprof
> /usr/lib/libvigraimpex.so: undefined reference to 
> '_ZNKSt5ctypeIcE13_M_widen_initEv at GLIBCXX_3.4.11'
> *** Error code 1
> 1 error
> *** Error Code 2
> 1 error
> *** Error Code 2
> 1 error
> *** Error code 1
> 
> Stop in /usr/ports/graphics/lprof-devel.
> 
> Thanks in advance for any help with this

This really is a result of us sticking with a rotten gcc in the base
system for so long. And I expect more and more similar breakages to
follow.

Here, graphics/vigra uses gcc46 (since r307701) to build, and
combiled vigra library depends code only present in libstdc++ from
gcc46 (and not in libstdc++ in our base system).

To compile lprof, adding USE_GCC=4.6+ to it's Makefile would be enough,
however it won't run:

% lprof
/usr/lib/libstdc++.so.6: version GLIBCXX_3.4.11 required by /usr/local/lib/libvigraimpex.so.4 not found

To fix that, one needs to add LD_LIBRARY_PATH=/usr/local/lib/gcc46
into environement. The same thing will be required for all vigra
consumers.

If gcc46 is optional for vigra, the problem may be temporary fixed by
reverting r307701 (fluffy@?), however there will be more and more
software depending on newer libstdc++, and we need a way to address that
until all supported FreeBSD releases have switched to clang and new c++
stack.

-- 
Dmitry Marakasov   .   55B5 0596 FF1E 8D84 5F56  9510 D35A 80DD F9D2 F77D
amdmi3 at amdmi3.ru  ..:  jabber: amdmi3 at jabber.ru    http://www.amdmi3.ru


More information about the freebsd-ports mailing list