From owner-freebsd-ports@FreeBSD.ORG Mon Aug 20 19:39:16 2012 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 0824510656FD for ; Mon, 20 Aug 2012 19:39:16 +0000 (UTC) (envelope-from ohartman@zedat.fu-berlin.de) Received: from outpost1.zedat.fu-berlin.de (outpost1.zedat.fu-berlin.de [130.133.4.66]) by mx1.freebsd.org (Postfix) with ESMTP id 9E17A8FC0A for ; Mon, 20 Aug 2012 19:39:15 +0000 (UTC) Received: from inpost2.zedat.fu-berlin.de ([130.133.4.69]) by outpost1.zedat.fu-berlin.de (Exim 4.69) with esmtp (envelope-from ) id <1T3Xog-0002f2-JL>; Mon, 20 Aug 2012 21:39:14 +0200 Received: from e178002159.adsl.alicedsl.de ([85.178.2.159] helo=thor.walstatt.dyndns.org) by inpost2.zedat.fu-berlin.de (Exim 4.69) with esmtpsa (envelope-from ) id <1T3Xog-0001ID-DB>; Mon, 20 Aug 2012 21:39:14 +0200 Message-ID: <5032925C.4040604@zedat.fu-berlin.de> Date: Mon, 20 Aug 2012 21:39:08 +0200 From: "O. Hartmann" User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:14.0) Gecko/20120810 Thunderbird/14.0 MIME-Version: 1.0 To: Matthew Seaman References: <50327A9C.5040103@zedat.fu-berlin.de> <50328AF8.60804@infracaninophile.co.uk> In-Reply-To: <50328AF8.60804@infracaninophile.co.uk> X-Enigmail-Version: 1.4.3 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig12F861E933DC4522A65CDB67" X-Originating-IP: 85.178.2.159 Cc: Ports FreeBSD Subject: Re: pkg(ng)/portupgrade-devel: does not respect setting of USE_GCC= 4.6+ X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Aug 2012 19:39:16 -0000 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig12F861E933DC4522A65CDB67 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable 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 >=20 > 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. >=20 >> .include "/usr/local/etc/ports.conf" in which I have settings like tho= se: >> >> # math/fftw3 >> .if ${.CURDIR:M/usr/ports/math/fftw3} >> USE_GCC=3D 4.6+ >> #CC=3D cc >> #CXX=3D c++ >> #CPP=3D 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: >> >> =3D=3D=3D> fftw3-3.3.2 : clang does not support OpenMP. Disable the O= PENMP >> 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". >=20 > Hi, Oliver, Hello Matthew, >=20 > 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. >=20 > 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 th= e > 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. >=20 > 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." >=20 > 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= >=20 > Verb. Sap. -- I usually write those tests against .CURDIR like this: >=20 > .if ${.CURDIR:M*/net-mgmt/net-snmp} > NET_SNMP_MIB_MODULES=3Dhost disman/event-mib mibII/mta_sendmail > mibII/tcpTable ucd-snmp/diskio > .endif >=20 > so that they still work even if I'm using a ports tree in a non-standar= d > place. This is a very good idea, I will adobt this ... >=20 > Another test would be: >=20 > % make -C /usr/ports/math/fftw3 -V USE_GCC This results in: 4.6+ >=20 > 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=3D4.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=3D4.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=3Dnative -Wl,-rpath=3D/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=3D4.6+ .. Regards, Oliver >=20 > Cheers, >=20 > Matthew --------------enig12F861E933DC4522A65CDB67 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) iQEcBAEBAgAGBQJQMpJhAAoJEOgBcD7A/5N8ROYH/A2nh96XsRqN+FPqZNP/kWco PRp34/bkLEKW2lfiqSawAZXFZBrQ2/qnjeXaSfMXe+Xp7vN0P5zu7um9qINfIcfK uxIDlvzGRvA9fIsRguh7rbkv1BGzyqaqv966kOI2smKnmB1GVO97j6Sv6Hnw+u9s c81pCG63TxTt176Q+jTs3ECzDLQUXmKoGPs/FmsXL0MNhsDtFpXxwDxFd8y6fPaq lt3FoevxsrWcL8FblhqQROIVKU+s2c9sdFZg1V5cooG5lQ/FCOyQnAbPJPHfSAeI jkv31KQBdbYQK6ecknMjlrV8PRlqd0D1X++Qhpq5I3bi22tNr8/+kgjLnHdx4Mg= =KkKO -----END PGP SIGNATURE----- --------------enig12F861E933DC4522A65CDB67--