bug-guix
[Top][All Lists]
Advanced

[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’.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]