[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#40463: GCC fails to cross-build
From: |
Ludovic Courtès |
Subject: |
bug#40463: GCC fails to cross-build |
Date: |
Mon, 06 Apr 2020 11:31:53 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Hello,
On current ‘master’ GCC fails to cross build:
--8<---------------cut here---------------start------------->8---
$ guix build -e '(@ (gnu packages gcc) gcc)' --target=arm-linux-gnueabihf
--no-grafts --log-file
https://ci.guix.gnu.org/log/85q2g7xyfrqyzy1kc30kzw5y58c4i1ah-gcc-7.4.0
$ guix describe
Generacio 137 Mar 31 2020 09:13:55 (nuna)
guix 011f941
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: 011f9412795c141ea05fdfa3096ab252252d7080
--8<---------------cut here---------------end--------------->8---
The log reads (slightly edited):
--8<---------------cut here---------------start------------->8---
checking for
-rdynamic.../tmp/guix-build-gcc-7.4.0.drv-0/gcc-7.4.0/libcc1/configure: line
10735: -T: command not found
no
configure: error:
Building GCC with plugin support requires a host that supports
-fPIC, -shared, -ldl and -rdynamic.
--8<---------------cut here---------------end--------------->8---
That’s from libcc1/configure. ‘-rdynamic’ is wrongfully determined to
not be working. This is because gcc-plugin.m4 uses this:
if test x$build = x$host; then
export_sym_check="objdump${exeext} -T"
elif test x$host = x$target; then
export_sym_check="$gcc_cv_objdump -T" # <--- here
else
export_sym_check=
fi
and for some reason $gcc_cv_objdump is empty. Its value comes from the
top-level configure.ac:
gcc_cv_objdump="$OBJDUMP_FOR_TARGET"
This would need a fix that does not apply to the cross-GCC, but here we
reach another problem: in gcc.scm we don’t distinguish between a
cross-compiler and a cross-compiled compiler because we just look at
‘%current-target-system’.
Thanks,
Ludo’.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#40463: GCC fails to cross-build,
Ludovic Courtès <=