pkg(ng)/portupgrade-devel: does not respect setting of USE_GCC= 4.6+

Andrew W. Nosenko andrew.w.nosenko at gmail.com
Tue Aug 21 09:25:33 UTC 2012


On Mon, Aug 20, 2012 at 10:39 PM, O. Hartmann
<ohartman at zedat.fu-berlin.de> wrote:
> I'm pretty sure, that the last time I updated port math/fftw3 I wanted
> option OpenMP enabled so I declared "USE_GCC=4.6+" in make.conf. Later,
> also working!, I excluded all these user definitions into an external
> file called ports.conf located in /usr/local/etc (I like this clean
> separation of OS and user messes ;-) ). Suddenly it doesn't work
> anymore. There were changes in several Mk files located in /usr/ports/Mk.

Beware!  Even if you will be able to force gcc-4.6 to be used and thus
obtain OpenMP-3.1 at the compilation stage, the libgomp.so.1, which
will be used at run-time, will be OpenMP-3.0 from the base gcc-4.2
(/usr/lib/libgomp.so.1 on my FreeBSD-8.0 system).  Also, as a bonus,
you may be exposed to ancient bugs from the gcc-4.2 openmp
implementation.  For me, personally, it is memory leak as described in
    http://gcc.gnu.org/ml/gcc/2009-05/msg00427.html
Fixed in gcc-4.3, but gcc-4.3 never was nor will be in base.

Thus...  For obtain the proper openmp you will either limit yourself
to openmp-3.0 from gcc-4.2 and workaround known bugs, or make a black
magic dance for override and "unsteal" the libgomp (e.g. using
libmap.conf) and have maintenance problem every time when gcc version
changes (and, therefore, changes the directory name, where gcc
libraries live).

-- 
Andrew W. Nosenko <andrew.w.nosenko at gmail.com>


More information about the freebsd-ports mailing list