Am 08/20/12 21:07, schrieb Matthew Seaman: > On 20/08/2012 18:57, O. Hartmann wrote: >> I utilize FreeBSD 10.0-CURRENT and build the OS with CLANG as well as >> ports, which are compatible building with clang, using the well known >> settings in /etc/make.conf and /etc/src/conf. >> >> I use ports-mgmt/pkg (1.0-r6) and recently in combination with >> ports-mgmt/portupgrade for maintaining my ports. Prior to portupgrade I >> used to use ports-mgmt/portmaster (with patch). >> >> >> >> In /etc/mak.conf, I include a file via > > I take it this is a typo in your e-mail and you really meant to say > /etc/make.conf ?
Correct, it is a type, the file's name is /etc/make.conf. > >> .include "/usr/local/etc/ports.conf" in which I have settings like those: >> >> # math/fftw3 >> .if ${.CURDIR:M/usr/ports/math/fftw3} >> USE_GCC= 4.6+ >> #CC= cc >> #CXX= c++ >> #CPP= cpp >> .endif >> >> >> This setup worked very well in pre-pkg(ng) times and with portmaster. >> But now, with pkg, I can not install math/fftw3 anymore (amongst other >> ports not compatible with CLANG). Performing "make install" in >> math/fftw3 results in: >> >> ===> fftw3-3.3.2 : clang does not support OpenMP. Disable the OPENMP >> option or use another compiler. >> *** [install] Error code 1 >> >> Stop in /usr/ports/math/fftw3. >> >> >> Using portupgrade ends up in this: >> portupgrade -f math/fftw3 >> USING PKGNG >> ** Port marked as IGNORE: math/fftw3: >> : clang does not support OpenMP. Disable the OPENMP option or >> use another compiler >> ** Listing the failed packages (-:ignored / *:skipped / !:failed) >> - math/fftw3 (marked as IGNORE) >> >> I'd like to have OPENMP since I have multicore CPUs running and >> therefore I use GCC 4.6 (or higher), which is capable of. >> >> Why does the use of pkg(ng) reject those essential settings? Have I >> overlooked something essential? I can not find any remarks on that >> subject in the man pages, or any hint leading towards a new configure >> schematics. Any hint? >> >> >> Regards and greetings, >> Oliver >> >> >> P.S. Please CC me in email, I do not subscribe list "ports@freebsd". > > Hi, Oliver, Hello Matthew, > > This technique certainly should work: I use some pretty similar > constructs in several machines with various combinations of pkg_tools, > pkgng, portmaster and poudriere, and it's absolutely fine there. > > pkgng doesn't do anything to affect the actual extract / patch / > configure / build / install phases -- that's all still exactly the same, > and all of the various ports related make variables should work in the > same way as before. In fact, the only place pkgng gets involved is > during the 'fake-pkg' and 'package' targets which happen right after the > software has been installed. All that does is process the various > package metadata (plist, recording dependencies, checksums etc) and > updates the database in /var/db/pkg/local.sqlite and optionally builds a > tarball out of the installed files. > > Hmm... can you check the environment you used while building? Several > variables can have a significant effect. PORTSDIR, PORT_DBDIR -- but > pespecially __MAKE_CONF might be the culprit. Except, as you can see, > __MAKE_CONF has got that __ prefix, which signifies "not a user > serviceable part." > > Your ports tree is definitely in the usual place of /usr/ports? Yes, it is definitely located at /usr/ports. /usr/ports is, in all of my installations, a separate partition, i.e: /dev/gpt/usr.ports 29G 3.8G 23G 14% /usr/ports > > Verb. Sap. -- I usually write those tests against .CURDIR like this: > > .if ${.CURDIR:M*/net-mgmt/net-snmp} > NET_SNMP_MIB_MODULES=host disman/event-mib mibII/mta_sendmail > mibII/tcpTable ucd-snmp/diskio > .endif > > so that they still work even if I'm using a ports tree in a non-standard > place. This is a very good idea, I will adobt this ... > > Another test would be: > > % make -C /usr/ports/math/fftw3 -V USE_GCC This results in: 4.6+ > > If that doesn't result in 4.6+ then something is broken in make.conf or > ports.conf somewhere. I assume we can exclude this. 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. Strange: sysutils/cdrtools is also marked to be compiled with USE_GCC=4.6+ and when I recompile the already installed port via portupgrade -f cdrtools I see a lot of those console exposures: gcc46 -O2 -fno-strict-aliasing -pipe -pipe -O3 -fno-strict-aliasing -march=native -Wl,-rpath=/usr/local/lib/gcc46 -DSCHILY_BUILD -IOBJ/amd64-freebsd-cc -I../incs/amd64-freebsd-cc -I../include -I/usr/local/include -I/usr/local/include -I../libscg -I../cdrecord -DSCHILY_PRINT -c -o OBJ/amd64-freebsd-cc/dmaresid.o dmaresid.c which definitely indicates, that it has been compiled with GCC 4.6. Otherwise, CLANG failed in the past and I suppose it still fails. Strange ... think this is subject of further investigations. I do not know why math/fftw3 now is excluded from respcting USE_GCC=4.6+ .. Regards, Oliver > > Cheers, > > Matthew
signature.asc
Description: OpenPGP digital signature