Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Aug 2012 21:39:08 +0200
From:      "O. Hartmann" <ohartman@zedat.fu-berlin.de>
To:        Matthew Seaman <m.seaman@infracaninophile.co.uk>
Cc:        Ports FreeBSD <freebsd-ports@freebsd.org>
Subject:   Re: pkg(ng)/portupgrade-devel: does not respect setting of USE_GCC= 4.6+
Message-ID:  <5032925C.4040604@zedat.fu-berlin.de>
In-Reply-To: <50328AF8.60804@infracaninophile.co.uk>
References:  <50327A9C.5040103@zedat.fu-berlin.de> <50328AF8.60804@infracaninophile.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
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--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5032925C.4040604>