On 12.02.2023 21:01, Kai Ruottu wrote:
Christer Solskogen via Gcc-help kirjoitti 12.2.2023 klo 19.51:
While cross compiling gcc with musl I see this:
checking for exported symbols... /home/solskogen/gcc/libcc1/configure:
line 15053: -T: command not found
yes
checking for -rdynamic... /home/solskogen/gcc/libcc1/configure: line
15063: -T: command not found
no
checking for library containing dlopen... none required
checking for -fPIC -shared... yes
configure: error:
Building GCC with plugin support requires a host that supports
-fPIC, -shared, -ldl and -rdynamic.
make[1]: *** [Makefile:11890: configure-libcc1] Error 1
This is the configure line: /home/solskogen/gcc/configure
--prefix=/usr --libexecdir=/lib --host=aarch64-centrix-linux-musl
--target=aarch64-centrix-linux-musl --build=x86_64-pc-linux-gnu
What is intersting in this case is WHICH GCC the build tries to use when
compiling libgcc. It should be the 'aarch64-centrix-linux-musl' targeted
cross-GCC, used for the becoming $host
system to create the executables and libraries for it. So what are the
CC_FOR_TARGET, GCC_FOR_TARGET, CXX_FOR_TARGET and GXX_FOR_TARGET in the
main Makefile and in the one
used for libgcc? My habit has been years to define these in environment
before running configure. Maybe these simply don't work in the "native
Canadian Cross" case. (To create a native
GCC with a cross-GCC).
I see this in configure:
Configuring in ./libcc1
configure: loading cache ./config.cache
checking build system type... x86_64-pc-linux-gnu
checking host system type... aarch64-centrix-linux-musl
checking target system type... aarch64-centrix-linux-musl
checking for aarch64-centrix-linux-musl-gcc...
aarch64-centrix-linux-musl-gcc
checking whether the C compiler works... yes
Which *should* mean that it finds the correct compiler. In the Makefile
I see this:
CC = aarch64-centrix-linux-musl-gcc
CXX = aarch64-centrix-linux-musl-g++
GCC_FOR_TARGET=$(STAGE_CC_WRAPPER) aarch64-centrix-linux-musl-gcc
CXX_FOR_TARGET=$(STAGE_CC_WRAPPER) aarch64-centrix-linux-musl-c++
CC_FOR_TARGET=$(STAGE_CC_WRAPPER) aarch64-centrix-linux-musl-gcc
All of the other tools also have the aarch64-centrix-linux-musl- prefix
as well, so as far as I understand this *should* work.