Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 06 Jan 2012 13:49:48 +0100
From:      Dimitry Andric <dim@FreeBSD.org>
To:        "O. Hartmann" <ohartman@zedat.fu-berlin.de>
Cc:        Roman Divacky <rdivacky@freebsd.org>, Current FreeBSD <freebsd-current@freebsd.org>
Subject:   Re: WITH_LIBCPLUSPLUS on FreeBSD 10.0-CURRENT/amd64 fails with CLANG:
Message-ID:  <4F06EDEC.5030805@FreeBSD.org>
In-Reply-To: <4F06B378.7050404@zedat.fu-berlin.de>
References:  <4F062232.1020204@zedat.fu-berlin.de> <20120106073104.GA50351@freebsd.org> <4F06B378.7050404@zedat.fu-berlin.de>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2012-01-06 09:40, O. Hartmann wrote:
...
> Obviously, these lines in make.conf seem to fail recently when building
> the sources:
>
> ###
> ###     CLANG
> ###
>
> .if !defined(NO_CLANG)
> .if ${.CURDIR:M/usr/src/*} || ${.CURDIR:M/usr/obj/*} || ${.CURDIR:M/sys/*}

Hi Oliver,

The problem is that the ${.CURDIR:M/usr/src/*} expressions are wrong,
they will not match when you are *exactly* in /usr/src or in /usr/obj.

So for any operations in the "root" of your source checkout, or of your
object directory, CC will still be 'cc', and unexpected things will
happen.

It is better to use:

   .if ${.CURDIR:M/usr/src*} || ${.CURDIR:M/usr/obj*} || ${.CURDIR:M/sys*}

or if you want to be strict:

   .if ${.CURDIR:M/usr/src} || ${.CURDIR:M/usr/src/*} || ${.CURDIR:M/usr/obj} || ${.CURDIR:M/usr/obj/*} || ${.CURDIR:M/sys} || ${.CURDIR:M/sys/*}

It is similar to a problem another user reported on freebsd-stable
(though he got a weird linker error instead):

   http://lists.freebsd.org/pipermail/freebsd-stable/2011-December/065172.html

After some analysis, it turned out he had the same problem in his
make.conf:

   http://lists.freebsd.org/pipermail/freebsd-stable/2011-December/065183.html



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F06EDEC.5030805>