Am 08/21/12 11:25, schrieb Andrew W. Nosenko: > On Mon, Aug 20, 2012 at 10:39 PM, O. Hartmann > <ohart...@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 ... >
signature.asc
Description: OpenPGP digital signature