On 17.01.2018 16:15, Xi Ruoyao wrote:
On 2018-01-17 15:54 +0100, Georg-Johann Lay wrote:
$ echo "#include <errno.h>" | gcc -xc - -H
. /usr/include/errno.h
.. /usr/include/features.h
... /usr/include/x86_64-linux-gnu/sys/cdefs.h
.... /usr/include/x86_64-linux-gnu/bits/wordsize.h
... /usr/include/x86_64-linux-gnu/gnu/stubs.h
.... /usr/include/x86_64-linux-gnu/gnu/stubs-64.h
.. /usr/include/x86_64-linux-gnu/bits/errno.h
... /usr/include/linux/errno.h
.... /usr/include/x86_64-linux-gnu/asm/errno.h
..... /usr/include/asm-generic/errno.h
...... /usr/include/asm-generic/errno-base.h
Any ideas?
For a "simple" build with
../../gcc.gnu.org/trunk/configure --prefix=/local/gnu/install/gcc-8-host
--enable-languages=c,c++ --enable-checking=release --disable-bootstrap
--build=x86_64-linux-gnu
the same occurs.
Ubuntu 16.04 have "multiarch" directory. For example <asm/errno.h> is
"/usr/include/x86_64-linux-gnu/asm/errno.h" on x86-64. To make GCC recognize
it you need configuration option "--enable-multiarch".
hmm, I also found
https://gcc.gnu.org/PR48879
From all of my knowledge, a "bootstrap" is a plain configure and it
should work without any special options?
PR48879 and the link above suggest linking /usr/include/asm, but
formally anything that requires to be su is highly questionabe.
FYI, to bootstrap I am using
$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu
5.4.0-6ubuntu1~16.04.5'
--with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs
--enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++
--prefix=/usr --program-suffix=-5 --enable-shared
--enable-linker-build-id --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --libdir=/usr/lib
--enable-nls --with-sysroot=/ --enable-clocale=gnu
--enable-libstdcxx-debug --enable-libstdcxx-time=yes
--with-default-libstdcxx-abi=new --enable-gnu-unique-object
--disable-vtable-verify --enable-libmpx --enable-plugin
--with-system-zlib --disable-browser-plugin --enable-java-awt=gtk
--enable-gtk-cairo
--with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre
--enable-java-home
--with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64
--with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64
--with-arch-directory=amd64
--with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc
--enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64
--with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic
--enable-checking=release --build=x86_64-linux-gnu
--host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.5)
Johann