Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 11 Mar 2013 17:29:10 +0100
From:      Dimitry Andric <dim@FreeBSD.org>
To:        Niclas Zeising <zeising+freebsd@daemonic.se>,  Steve Kargl <sgk@troutmask.apl.washington.edu>
Cc:        FreeBSD Current <freebsd-current@freebsd.org>, "Hartmann, O." <ohartman@zedat.fu-berlin.de>, =?ISO-8859-1?Q?G=E1bor_K=F6vesd=E1n?= <gabor@FreeBSD.org>, freebsd-ports@freebsd.org
Subject:   Re: CURRENT: lang/gcc fails to build on CURRENT with error: configure: error: no usable dependency style found
Message-ID:  <513E0656.7000601@FreeBSD.org>
In-Reply-To: <513DD90F.2090700@daemonic.se>
References:  <513B56E8.2060702@zedat.fu-berlin.de> <8F5265A6-396A-426F-A3F8-EFD44D167313@FreeBSD.org> <20130309233930.GA95285@troutmask.apl.washington.edu> <513DAF4F.50602@FreeBSD.org> <20130311131318.GA57506@troutmask.apl.washington.edu> <513DD90F.2090700@daemonic.se>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2013-03-11 14:15, Niclas Zeising wrote:
> On 03/11/13 14:13, Steve Kargl wrote:
...
>> No.  Here's my make.conf.
>>
>> KERNCONF=SPEW
>> CPUTYPE?=opteron
>> FFLAGS+= -O2 -pipe -march=native -mtune=native -funroll-loops -ftree-vectorize
>> MALLOC_PRODUCTION="YES"
>> WITHOUT_LIB32="YES"
>> WITHOUT_MODULES="YES"
>> WITHOUT_NLS="YES"
>> WITH_BSD_GREP="YES"
>> WITH_PROFILE="YES"
>> WITH_PKGNG=yes
>> PRINTERDEVICE=ps
>> #
>> # Crap for ports.
>> #
>> DISABLE_MAKE_JOBS="YES"
>> WITH_GHOSTSCRIPT_VER=8
>> #
>> # added by use.perl 2013-02-19 12:45:06
>> PERL_VERSION=5.12.4
>>
>
> This is most likely due to a incompatibility between bsd grep and gnu
> grep.  Try to switch to gnu grep, and the problem will most likely go away.

Yes, this is definitely due to a BSD grep bug.  The depcomp tests
create a file sub/conftest.Po, containing:

========================================================================
sub/conftest.o: sub/conftest.c sub/conftst1.h sub/conftst2.h \
    sub/conftst3.h sub/conftst4.h sub/conftst5.h sub/conftst6.h

sub/conftst1.h:

sub/conftst2.h:

sub/conftst3.h:

sub/conftst4.h:

sub/conftst5.h:

sub/conftst6.h:
========================================================================

Then it runs "grep sub/conftest.o sub/conftest.Po", which fails with BSD
grep, and succeeds with GNU grep.

BSD grep does something very strange here:

$ echo 'foo.bar' | grep foo.bar
foo.bar
$ echo 'foo.barx' | grep foo.bar
foo.barx
$ echo 'sub/foo.bar' | grep sub/foo.bar
sub/foo.bar
$ echo 'sub/foo.barx' | grep sub/foo.bar
$ echo $?
1

So why does it not match in the last case?  GNU grep works:

$ echo 'sub/foo.barx' | gnugrep sub/foo.bar
sub/foo.barx



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?513E0656.7000601>