Bug 197897

Summary: graphics/lprof-devel fails to build when USE_GCC=yes implies GCC 4.9
Product: Ports & Packages Reporter: Gerald Pfeifer <gerald>
Component: Individual Port(s)Assignee: Dmitry Marakasov <amdmi3>
Status: Closed FIXED    
Severity: Affects Some People CC: mandree
Priority: --- Flags: bugzilla: maintainer-feedback? (amdmi3)
Version: Latest   
Hardware: Any   
OS: Any   
Bug Depends on:    
Bug Blocks: 196712    

Description Gerald Pfeifer freebsd_committer freebsd_triage 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. 

http://package18.nyi.freebsd.org/data/93i386-default-PR196712/2015-01-18_16h49m19s/logs/errors/lprof-devel-20080514_12.log

[ 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 freebsd_triage 2015-02-22 01:36:39 UTC
Auto-assigned to maintainer amdmi3@FreeBSD.org
Comment 2 Dmitry Marakasov freebsd_committer freebsd_triage 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 freebsd_triage 2015-02-22 17:10:02 UTC
Dmitry, the full patch is at
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=196712
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 freebsd_triage 2015-04-09 10:02:39 UTC
Fixed after OpenEXR patch was committed.