Hello, Currently crossdev for ARM with GCC version 13.2.1 is not building correctly and is failing during configuration phase. Checking the config.log, i get the following errors: configure:4396: x86_64-pc-linux-gnu-gcc --version >&5 x86_64-pc-linux-gnu-gcc (Gentoo 13.2.1_p20230826 p7) 13.2.1 20230826 Copyright (C) 2023 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. configure:4407: $? = 0 configure:4396: x86_64-pc-linux-gnu-gcc -v >&5 Using built-in specs. COLLECT_GCC=x86_64-pc-linux-gnu-gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-pc-linux-gnu/13/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: /var/tmp/portage/sys-devel/gcc-13.2.1_p20230826/work/gcc-13-20230826/configure --host=x86_64-pc-linux-gnu --build=x86_64-pc-linux-gnu --prefix=/usr --bindir=/usr/x86_64-> Thread model: posix Supported LTO compression algorithms: zlib gcc version 13.2.1 20230826 (Gentoo 13.2.1_p20230826 p7) configure:4407: $? = 0 configure:4396: x86_64-pc-linux-gnu-gcc -V >&5 x86_64-pc-linux-gnu-gcc: error: unrecognized command-line option '-V' x86_64-pc-linux-gnu-gcc: fatal error: no input files compilation terminated. configure:4407: $? = 1 configure:4396: x86_64-pc-linux-gnu-gcc -qversion >&5 x86_64-pc-linux-gnu-gcc: error: unrecognized command-line option '-qversion'; did you mean '--version'? x86_64-pc-linux-gnu-gcc: fatal error: no input files compilation terminated. Looks like it is a capital V that is not recognized and -qversion also. I'm not really familiar with the inner workings of this but, this is what i found.
Created attachment 871534 [details] The complete config.log for reference
Unfortunately it looks like several configuration files in this release is having these kind of issue. the "configure" script for libgcc is having the same issue as the file i raised this bug for. I did local patches for both files to test. It corrected those specific errors, however more files was having invalid options. Routines that I do not have any experience with unfortunately. However, I'm a but curious on the reason for the package to be so riddled with these small typos? Has there been a script run on the package that caused this?
Adding crossdev email as CC, was not able to change Assignee
Why do you think there's something wrong here? It's normal to have some errors in config.log. At the very end, it says it exited with code 0, which means it worked. If something did fail, then you need to post the wider build log.
Well, The reason for me to think something is wrong is: 1. It does not build. 2. The error given is "Error cannot compute suffix of object files: Cannot compile" See "config.log" for more details. 3. In the config.log we have statements such as: configure:4407: $? = 0 configure:4396: x86_64-pc-linux-gnu-gcc -V >&5 x86_64-pc-linux-gnu-gcc: error: unrecognized command-line option '-V' x86_64-pc-linux-gnu-gcc: fatal error: no input files compilation terminated. The same also for the routines relating to g++ further down. I was thinking that these errors is the reason for it to stop building. I include the build log, maybe someone can spot something else?
Created attachment 871859 [details] build log
The real error is in arm-none-eabi/libgcc/config.log. > configure:3792: checking for suffix of object files > configure:3814: /var/tmp/portage/cross-arm-none-eabi/gcc-13.2.1_p20230826/work/build/./gcc/xgcc -B/var/tmp/portage/cross-arm-none-eabi/gcc-13.2.1_p20230826/work/build/./gcc/ -B/usr/arm-none-eabi/bin/ -B/usr/arm-none-eabi/lib/ -isystem /usr/arm-none-eabi/include -isystem /usr/arm-none-eabi/sys-include -c -g -O2 conftest.c >&5 > /var/tmp/portage/cross-arm-none-eabi/gcc-13.2.1_p20230826/work/build/./gcc/as: line 114: exec: -m: invalid option > exec: usage: exec [-cl] [-a name] [command [argument ...]] [redirection ...] > configure:3818: $? = 1 There's something wrong with cross-arm-none-eabi/binutils, but I don't know what.
Yeah, during the build process, GCC creates a wrapper for as etc and for some reason it's concluded there.. is no as, so the wrapper just executes nothing (the variable expands to something blank in the wrapper, been there before).
(In reply to Sam James from comment #8) > Yeah, during the build process, GCC creates a wrapper for as etc and for > some reason it's concluded there.. is no as, so the wrapper just executes > nothing (the variable expands to something blank in the wrapper, been there > before). configure:12798: checking for x86_64-pc-linux-gnu-readelf configure:12814: found /usr/bin/x86_64-pc-linux-gnu-readelf configure:12825: result: x86_64-pc-linux-gnu-readelf configure:12980: checking for arm-none-eabi-cc configure:12996: found /usr/bin/arm-none-eabi-cc configure:13007: result: arm-none-eabi-cc configure:13141: checking for arm-none-eabi-c++ configure:13157: found /usr/bin/arm-none-eabi-c++ configure:13168: result: arm-none-eabi-c++ configure:13302: checking for arm-none-eabi-gcc configure:13318: found /usr/bin/arm-none-eabi-gcc configure:13329: result: arm-none-eabi-gcc configure:13458: checking for arm-none-eabi-gfortran configure:13488: result: no configure:13619: checking for arm-none-eabi-gccgo configure:13649: result: no configure:13780: checking for arm-none-eabi-gdc configure:13810: result: no configure:13941: checking for arm-none-eabi-gm2 configure:13971: result: no configure:14071: checking for ar configure:14104: result: no configure:14182: checking for arm-none-eabi-ar configure:14212: result: no configure:14301: checking for as configure:14334: result: no configure:14412: checking for arm-none-eabi-as configure:14442: result: no It doesn't seem to think you have an as at all for arm-none-eabi. I get: ``` checking for arm-none-eabi-cc... no checking for arm-none-eabi-gcc... no checking for arm-none-eabi-c++... no checking for arm-none-eabi-g++... no checking for arm-none-eabi-cxx... no checking for arm-none-eabi-gxx... no checking for arm-none-eabi-gcc... no checking for arm-none-eabi-gfortran... no checking for arm-none-eabi-gccgo... no checking for arm-none-eabi-gdc... no checking for arm-none-eabi-gm2... no checking for ar... /usr/libexec/gcc/arm-none-eabi/ar checking for as... /usr/libexec/gcc/arm-none-eabi/as ``` in stage1 at least. What command did you run when you hit this? Were you running crossdev to setup a new cross toolchain or were you just doing a world upgrade and an existing toolchain was being updated? Please also include emerge --info.
Created attachment 871926 [details] Emerge info
Thanks for checking in on this. I attached a file with emerge --info output. Actually, initially i encountered it while performing a routine world update. However, i did also attempt it with "crossdev --target arm-non-eabi", and it fails at the same way.
(In reply to Daniel from comment #11) > Thanks for checking in on this. > > I attached a file with emerge --info output. > > Actually, initially i encountered it while performing a routine world update. > > However, i did also attempt it with "crossdev --target arm-non-eabi", and it > fails at the same way. Hopefully that was 'none'. Could you try crossdev -C arm-none-eabi and then crossdev arm-none-eabi?