CURRENT: lang/gcc fails to build on CURRENT with error: configure: error: no usable dependency style found
Dimitry Andric
dim at FreeBSD.org
Mon Mar 11 16:29:36 UTC 2013
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
More information about the freebsd-current
mailing list