Re: GCC fails to build.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

I found from the emails that you referenced earlier that there is a open source project for building cross compilers: crosstools-ng. I used it to build a toolchain with the --with-sysroot option, and here
is the result:
$ arm-linux-gnueabihf-gcc -v
Using built-in specs.
COLLECT_GCC=arm-linux-gnueabihf-gcc
COLLECT_LTO_WRAPPER=/home/david/pi/arm-linux-gnueabihf/bin/../libexec/gcc/arm-linux-
gnueabihf/9.2.0/lto-wrapper
Target: arm-linux-gnueabihf
Configured with: /home/david/cross-gcc/crosstool-ng/.build/arm-linux-gnueabihf/src/gcc/configure
--build=x86_64-build_pc-linux-gnu --host=x86_64-build_pc-linux-gnu --target=arm-linux-gnueabihf
--prefix=/home/david/x-tools/arm-linux-gnueabihf --with-sysroot=/home/david/x-tools/arm-linux-
gnueabihf/arm-linux-gnueabihf/sysroot --enable-languages=c,c++ --with-float=hard --with-
pkgversion='crosstool-NG 1.24.0.55-7bd6bb0' --disable-sjlj-exceptions --enable-__cxa_atexit
--disable-libmudflap --disable-libgomp --disable-libssp --disable-libquadmath --disable-libquadmath-
support --disable-libsanitizer --disable-libmpx --with-gmp=/home/david/cross-gcc/crosstool-
ng/.build/arm-linux-gnueabihf/buildtools --with-mpfr=/home/david/cross-gcc/crosstool-ng/.build
/arm-linux-gnueabihf/buildtools --with-mpc=/home/david/cross-gcc/crosstool-ng/.build/arm-linux-
gnueabihf/buildtools --with-isl=/home/david/cross-gcc/crosstool-ng/.build/arm-linux-gnueabihf
/buildtools --disable-lto --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++ -lm' --enable-
threads=posix --enable-target-optspace --disable-plugin --disable-nls --disable-multilib --with-local-
prefix=/home/david/x-tools/arm-linux-gnueabihf/arm-linux-gnueabihf/sysroot --enable-long-long
Thread model: posix
gcc version 9.2.0 (crosstool-NG 1.24.0.55-7bd6bb0)

As you can see, it uses a subdirectory of the prefix, $PREFIX/arm-linux-gnueabihf/sysroot.

Thank you for all of your help, Tadeus,
David
________________________________
From: Tadeus Prastowo <tadeus.prastowo@xxxxxxxx>
Sent: Sunday, January 12, 2020 6:54 AM
To: DAVID STUMPH <DSTUMPH1144@xxxxxxxxxxxxx>
Cc: gcc-help@xxxxxxxxxxx <gcc-help@xxxxxxxxxxx>
Subject: Re: GCC fails to build.

Hello,

On Sun, Jan 12, 2020 at 1:21 AM DAVID STUMPH <DSTUMPH1144@xxxxxxxxxxxxx> wrote:
>
> Hello,
>
> Here is the output of gcc -v:
> $ gcc -v
> Using built-in specs.
> COLLECT_GCC=gcc
> COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper
> OFFLOAD_TARGET_NAMES=nvptx-none
> OFFLOAD_TARGET_DEFAULT=1
> Target: x86_64-linux-gnu
> Configured with: ../src/configure -v --with-pkgversion='Debian 8.3.0-6' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --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 --enable-default-pie --with-system-zlib --with-target-system-zlib --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
> Thread model: posix
> gcc version 8.3.0 (Debian 8.3.0-6)

Thanks.  Now I see that the system compiler of Ubuntu 16.04 LTS is
older than that of Debian 10, which you use as I learned from your
initial post.

> > Could you confirm whether --with-sysroot=$HOME/cross-gcc/install is
> > really what you used?  It is not
> > --with-sysroot=$HOME/cross-gcc/install/arm-linux-gnueabihf?
>
> I definitely used $HOME/cross-gcc/install/ as a sysroot and not
> $HOME/cross-gcc/install/arm-linux-gnueabihf. I had previously tried to build MinGW-w64,
> and it used the prefix that as the sysroot.

Interesting.  I think that might be a special case for MinGW-w64,
considering that it deals with a non-unix-like OS.

> I didn't think that it made sense to set the sysroot as
> a subdirectory of the prefix either.

I think it makes sense that the sysroot is a subdirectory of the
prefix; to quote
https://gcc.gnu.org/install/configure.html#Cross-Compiler-Specific-Options:

--with-sysroot
--with-sysroot=dir
[...]  The default value, in case --with-sysroot is not given an
argument, is ${gcc_tooldir}/sys-root. If the specified directory is a
subdirectory of ${exec_prefix}, then it will be found relative to the
GCC binaries if the installation tree is moved.  [...]

End quote.

> Here's what the MinGW-w64 building instructions says:
>
>         If using a sysroot, add "--with-sysroot=/mypath --prefix=/mypath" to
>         your configure command, i.e., for multilib:
>                 ../path/to/configure --target=x86_64-w64-mingw32  \
>                   --enable-targets=x86_64-w64-mingw32,i686-w64-mingw32  \
>                   --with-sysroot=/mypath --prefix=/mypath
>
> I'll try your suggestions for the --with-sysroot option, however, and I will share my results.

Thanks.

> David

--
Best regards,
Tadeus




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux