From owner-freebsd-toolchain@freebsd.org Thu Mar 31 22:34:43 2016 Return-Path: Delivered-To: freebsd-toolchain@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id AA9F8AE4556; Thu, 31 Mar 2016 22:34:43 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:1900:2254:206c::16:87]) by mx1.freebsd.org (Postfix) with ESMTP id 98ACF1236; Thu, 31 Mar 2016 22:34:43 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [IPv6:::1]) by freefall.freebsd.org (Postfix) with ESMTP id 888051668; Thu, 31 Mar 2016 22:34:43 +0000 (UTC) (envelope-from bdrewery@FreeBSD.org) Received: from mail.xzibition.com (localhost [172.31.3.2]) by mail.xzibition.com (Postfix) with ESMTP id 35E291FD7E; Thu, 31 Mar 2016 22:34:43 +0000 (UTC) X-Virus-Scanned: amavisd-new at mail.xzibition.com Received: from mail.xzibition.com ([172.31.3.2]) by mail.xzibition.com (mail.xzibition.com [172.31.3.2]) (amavisd-new, port 10026) with LMTP id H2VrfZ_ogwaq; Thu, 31 Mar 2016 22:34:34 +0000 (UTC) Subject: Re: svn commit: r297435 - head: still problems for stage 3 when gcc 4.2.1 is avoided (powerpc64 self-hosted build) DKIM-Filter: OpenDKIM Filter v2.9.2 mail.xzibition.com 5EDF31FD79 To: Mark Millard References: <5A0ACA76-6F1D-4975-9E59-2A64BB8EFC77@dsl-only.net> <56FD9757.6040709@FreeBSD.org> <9E3033D5-F416-4B78-97C2-0A0AABF5A49E@dsl-only.net> Cc: FreeBSD Current , FreeBSD Toolchain , FreeBSD PowerPC ML , Gerald Pfeifer From: Bryan Drewery Organization: FreeBSD Message-ID: <56FDA5F9.1090601@FreeBSD.org> Date: Thu, 31 Mar 2016 15:34:33 -0700 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.7.1 MIME-Version: 1.0 In-Reply-To: <9E3033D5-F416-4B78-97C2-0A0AABF5A49E@dsl-only.net> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: quoted-printable X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 31 Mar 2016 22:34:43 -0000 On 3/31/16 3:02 PM, Mark Millard wrote: >> > We likely just need to prioritize /usr/include over /usr/local/inclu= de >> > for these phases, which gcc49 may have backwards since it has its pr= efix >> > set to /usr/local from the ports build. Yup this is the problem with using the ports compiler as the "host" compiler: > # echo '' |/usr/local/bin/gcc49 -v -x c++ - -o /dev/null > Using built-in specs. > COLLECT_GCC=3D/usr/local/bin/gcc49 > COLLECT_LTO_WRAPPER=3D/usr/local/libexec/gcc49/gcc/x86_64-portbld-freeb= sd11.0/4.9.4/lto-wrapper > Target: x86_64-portbld-freebsd11.0 > Configured with: ./../gcc-4.9-20160210/configure --with-build-config=3D= bootstrap-debug --disable-nls --enable-gnu-indirect-function --libdir=3D/= usr/local/lib/gcc49 --libexecdir=3D/usr/local/libexec/gcc49 --program-suf= fix=3D49 --with-as=3D/usr/local/bin/as --with-gmp=3D/usr/local --with-gxx= -include-dir=3D/usr/local/lib/gcc49/include/c++/ --with-ld=3D/usr/local/b= in/ld --with-pkgversion=3D'FreeBSD Ports Collection' --with-system-zlib -= -with-ecj-jar=3D/usr/local/share/java/ecj-4.5.jar --enable-languages=3Dc,= c++,objc,fortran,java --prefix=3D/usr/local --localstatedir=3D/var --mand= ir=3D/usr/local/man --infodir=3D/usr/local/info/gcc49 --build=3Dx86_64-po= rtbld-freebsd11.0 > Thread model: posix > gcc version 4.9.4 20160210 (prerelease) (FreeBSD Ports Collection) > COLLECT_GCC_OPTIONS=3D'-v' '-o' '/dev/null' '-mtune=3Dgeneric' '-march=3D= x86-64' > /usr/local/libexec/gcc49/gcc/x86_64-portbld-freebsd11.0/4.9.4/cc1plus = -quiet -v - -quiet -dumpbase - -mtune=3Dgeneric -march=3Dx86-64 -auxbase = - -version -o /tmp//ccA75yFy.s > GNU C++ (FreeBSD Ports Collection) version 4.9.4 20160210 (prerelease) = (x86_64-portbld-freebsd11.0) > compiled by GNU C version 4.9.4 20160210 (prerelease), GMP vers= ion 5.1.3, MPFR version 3.1.3, MPC version 1.0.3 > GGC heuristics: --param ggc-min-expand=3D100 --param ggc-min-heapsize=3D= 131072 > ignoring nonexistent directory "/usr/local/lib/gcc49/gcc/x86_64-portbld= -freebsd11.0/4.9.4/../../../../../x86_64-portbld-freebsd11.0/include" > #include "..." search starts here: > #include <...> search starts here: > /usr/local/lib/gcc49/include/c++/ > /usr/local/lib/gcc49/include/c++//x86_64-portbld-freebsd11.0 > /usr/local/lib/gcc49/include/c++//backward > /usr/local/lib/gcc49/gcc/x86_64-portbld-freebsd11.0/4.9.4/include > /usr/local/include > /usr/local/lib/gcc49/gcc/x86_64-portbld-freebsd11.0/4.9.4/include-fixe= d > /usr/include > End of search list. Note the /usr/local/include and /usr/include order near the end. Passing -isystem /usr/include seems to fix it: > # echo '' |/usr/local/bin/gcc49 -v -x c++ - -o /dev/null -isystem /usr/= include > Using built-in specs. > COLLECT_GCC=3D/usr/local/bin/gcc49 > COLLECT_LTO_WRAPPER=3D/usr/local/libexec/gcc49/gcc/x86_64-portbld-freeb= sd11.0/4.9.4/lto-wrapper > Target: x86_64-portbld-freebsd11.0 > Configured with: ./../gcc-4.9-20160210/configure --with-build-config=3D= bootstrap-debug --disable-nls --enable-gnu-indirect-function --libdir=3D/= usr/local/lib/gcc49 --libexecdir=3D/usr/local/libexec/gcc49 --program-suf= fix=3D49 --with-as=3D/usr/local/bin/as --with-gmp=3D/usr/local --with-gxx= -include-dir=3D/usr/local/lib/gcc49/include/c++/ --with-ld=3D/usr/local/b= in/ld --with-pkgversion=3D'FreeBSD Ports Collection' --with-system-zlib -= -with-ecj-jar=3D/usr/local/share/java/ecj-4.5.jar --enable-languages=3Dc,= c++,objc,fortran,java --prefix=3D/usr/local --localstatedir=3D/var --mand= ir=3D/usr/local/man --infodir=3D/usr/local/info/gcc49 --build=3Dx86_64-po= rtbld-freebsd11.0 > Thread model: posix > gcc version 4.9.4 20160210 (prerelease) (FreeBSD Ports Collection) > COLLECT_GCC_OPTIONS=3D'-v' '-o' '/dev/null' '-isystem' '/usr/include' '= -mtune=3Dgeneric' '-march=3Dx86-64' > /usr/local/libexec/gcc49/gcc/x86_64-portbld-freebsd11.0/4.9.4/cc1plus = -quiet -v -isystem /usr/include - -quiet -dumpbase - -mtune=3Dgeneric -ma= rch=3Dx86-64 -auxbase - -version -o /tmp//ccNh006Z.s > GNU C++ (FreeBSD Ports Collection) version 4.9.4 20160210 (prerelease) = (x86_64-portbld-freebsd11.0) > compiled by GNU C version 4.9.4 20160210 (prerelease), GMP vers= ion 5.1.3, MPFR version 3.1.3, MPC version 1.0.3 > GGC heuristics: --param ggc-min-expand=3D100 --param ggc-min-heapsize=3D= 131072 > ignoring nonexistent directory "/usr/local/lib/gcc49/gcc/x86_64-portbld= -freebsd11.0/4.9.4/../../../../../x86_64-portbld-freebsd11.0/include" > ignoring duplicate directory "/usr/include" > #include "..." search starts here: > #include <...> search starts here: > /usr/include > /usr/local/lib/gcc49/include/c++/ > /usr/local/lib/gcc49/include/c++//x86_64-portbld-freebsd11.0 > /usr/local/lib/gcc49/include/c++//backward > /usr/local/lib/gcc49/gcc/x86_64-portbld-freebsd11.0/4.9.4/include > /usr/local/include > /usr/local/lib/gcc49/gcc/x86_64-portbld-freebsd11.0/4.9.4/include-fixe= d I didn't realize the ports compiler was defaulting /usr/local/include into the search path now. It does not have /usr/local/lib in the default library path as far as I can tell. It's also broken for its -rpath (noted in its pkg-message). So having a default /usr/local/include path seems odd. Adding -isystem /usr/include to fix this is probably possible but there's a risk someone will remove it as redundant. In this case I wish /usr/include was first but I'm not sure what impact that would have on consumers expecting /usr/local/include (and /usr/local/lib) overrides to work, though they would need to pass a -L /usr/local/lib anyhow and would likely be passing -I /usr/local/lib too. --=20 Regards, Bryan Drewery