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

O. Hartmann ohartman at zedat.fu-berlin.de
Tue Aug 21 17:15:52 UTC 2012


Am 08/21/12 11:25, schrieb Andrew W. Nosenko:
> 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,

Shouldn't that be /usr/local/lib/gcc46/libgomp.so.1 then? If not, then
using a modern and fast compiler like gcc 4.6/4.7 or even 4.8 for OMP is
useless on FreeBSD (I use FreeBSD 9.1-PRE and 10.0-CURRENT).

> 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).

Well, I see, here comes the black magic in refering eventually to
/usr/local/lib/gcc46/libgomp.so.1.

I'm confused now! I try avoiding the lagcy and outdated gcc 4.2.
Unfortunatelly, CLANG doesn't support OpenMP (yet), and it is not clear
when OpenMP will ever make in in due time into it.

I thought, and this seems to be a big mistake and misunderstanding of
mine, that USE_GCC=4.6+ will circumvent any problems and even relocated
the library paths for compiled software using OpenMP.

We use lots of modelling software based upon OpenMP. That would imply if
still using USE_GCC=4.6+ to provide OpenMP support will reel in the
outdated libgomp.so.1 from the legacy gcc4.2?

this is a very bad outlook ...

> 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
Url : http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20120821/a4461d86/signature.pgp


More information about the freebsd-ports mailing list