Bug 197897 - graphics/lprof-devel fails to build when USE_GCC=yes implies GCC 4.9
Summary: graphics/lprof-devel fails to build when USE_GCC=yes implies GCC 4.9
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Dmitry Marakasov
Depends on:
Blocks: 196712
  Show dependency treegraph
Reported: 2015-02-22 01:36 UTC by Gerald Pfeifer
Modified: 2015-04-09 10:02 UTC (History)
1 user (show)

See Also:
bugzilla: maintainer-feedback? (amdmi3)


Note You need to log in before you can comment on or make changes to this bug.
Description Gerald Pfeifer freebsd_committer 2015-02-22 01:36:39 UTC
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
Comment 1 Bugzilla Automation freebsd_committer 2015-02-22 01:36:39 UTC
Auto-assigned to maintainer amdmi3@FreeBSD.org
Comment 2 Dmitry Marakasov freebsd_committer 2015-02-22 14:35:35 UTC
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?
Comment 3 Gerald Pfeifer freebsd_committer 2015-02-22 17:10:02 UTC
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.
Comment 4 Dmitry Marakasov freebsd_committer 2015-04-09 10:02:39 UTC
Fixed after OpenEXR patch was committed.