Assembler problem when compile v25.12.2

Hi all,

I cloned the OpenWrt project and checked-out the v25.12.2 tag.

I updated and installed the feeds but when I run the make command I have quite soon a lot of assembly errors:

touch /home/stefano.mora/OpenWrt/openwrt/build_dir/host/libdeflate-1.25/.configured
/home/stefano.mora/OpenWrt/openwrt/staging_dir/host/bin/gcc -O2 -I/home/stefano.mora/OpenWrt/openwrt/staging_dir/host/include -L/home/stefano.mora/OpenWrt/openwrt/staging_dir/host/lib /home/stefano.mora/OpenWrt/openwrt/build_dir/host/libdeflate-1.25/lib/{,/}.c /home/stefano.mora/OpenWrt/openwrt/build_dir/host/libdeflate-1.25/programs/{gzip,prog_util,tgetopt}.c -o /home/stefano.mora/OpenWrt/openwrt/build_dir/host/libdeflate-1.25/libdeflate-gzip
/home/stefano.mora/OpenWrt/openwrt/tmp/ccTj9XbV.s: Assembler messages:
/home/stefano.mora/OpenWrt/openwrt/tmp/ccTj9XbV.s:668: Error: junk at end of line, first unrecognized character is {' /home/stefano.mora/OpenWrt/openwrt/tmp/ccTj9XbV.s:669: Error: junk at end of line, first unrecognized character is {'
/home/stefano.mora/OpenWrt/openwrt/tmp/ccTj9XbV.s:670: Error: junk at end of line, first unrecognized character is {' /home/stefano.mora/OpenWrt/openwrt/tmp/ccTj9XbV.s:671: Error: junk at end of line, first unrecognized character is {'
/home/stefano.mora/OpenWrt/openwrt/tmp/ccTj9XbV.s:672: Error: junk at end of line, first unrecognized character is {' /home/stefano.mora/OpenWrt/openwrt/tmp/ccTj9XbV.s:690: Error: junk at end of line, first unrecognized character is {'
/home/stefano.mora/OpenWrt/openwrt/tmp/ccTj9XbV.s:691: Error: junk at end of line, first unrecognized character is {' /home/stefano.mora/OpenWrt/openwrt/tmp/ccTj9XbV.s:722: Error: junk at end of line, first unrecognized character is {'
/home/stefano.mora/OpenWrt/openwrt/tmp/ccTj9XbV.s:723: Error: junk at end of line, first unrecognized character is {' /home/stefano.mora/OpenWrt/openwrt/tmp/ccTj9XbV.s:794: Error: junk at end of line, first unrecognized character is {'
/home/stefano.mora/OpenWrt/openwrt/tmp/ccTj9XbV.s:795: Error: junk at end of line, first unrecognized character is {' /home/stefano.mora/OpenWrt/openwrt/tmp/ccTj9XbV.s:797: Error: junk at end of line, first unrecognized character is {'
/home/stefano.mora/OpenWrt/openwrt/tmp/ccTj9XbV.s:798: Error: junk at end of line, first unrecognized character is {' /home/stefano.mora/OpenWrt/openwrt/tmp/ccTj9XbV.s:799: Error: junk at end of line, first unrecognized character is {'
/home/stefano.mora/OpenWrt/openwrt/tmp/ccTj9XbV.s:801: Error: junk at end of line, first unrecognized character is {' /home/stefano.mora/OpenWrt/openwrt/tmp/ccTj9XbV.s:803: Error: junk at end of line, first unrecognized character is {'
/home/stefano.mora/OpenWrt/openwrt/tmp/ccTj9XbV.s:804: Error: junk at end of line, first unrecognized character is {' /home/stefano.mora/OpenWrt/openwrt/tmp/ccTj9XbV.s:927: Error: no such instruction: vpdpbusd %ymm16,%ymm1,%ymm9'
/home/stefano.mora/OpenWrt/openwrt/tmp/ccTj9XbV.s:928: Error: no such instruction: vpdpbusd %ymm14,%ymm1,%ymm0' /home/stefano.mora/OpenWrt/openwrt/tmp/ccTj9XbV.s:929: Error: no such instruction: vpdpbusd %ymm15,%ymm1,%ymm9'
/home/stefano.mora/OpenWrt/openwrt/tmp/ccTj9XbV.s:930: Error: no such instruction: vpdpbusd %ymm14,%ymm4,%ymm0' /home/stefano.mora/OpenWrt/openwrt/tmp/ccTj9XbV.s:931: Error: no such instruction: vpdpbusd %ymm15,%ymm4,%ymm9'

I guess the tool is compiling the host tools.

The machine is a:

Linux build 5.13.19-2-pve #1 SMP PVE 5.13.19-4 (Mon, 29 Nov 2021 12:10:09 +0100) x86_64 GNU/Linux

and I’m compiling for a iMX6ULL CortexA7 micro.

The compiler is gcc-13.2.0 :

stefano.mora@build:~/OpenWrt/openwrt$ ls -l staging_dir/host/bin/gcc
lrwxrwxrwx 1 stefano.mora stefano.mora 23 apr 20 10:50 staging_dir/host/bin/gcc -> /opt/gcc-13.2.0/bin/gcc

In the past I checked-out the 23.05.5 tag and I had no these problems.

Any idea, please?

are the prereqs fulfilled ?

which device, specifically ?
the hw doesn't seem to be supported here.

The host system is a Debian stretch 9.13; in the system a gcc 13.02 compiler is installed.

The hw is a custom board based on NPX iMX6ULL Cortex-A7:

Target System  --->  NXP i.MX
Subtarget      --->  Cortex-A7

The 23.05.5 version of OpenWrt has been succesfully compiled on the same system.

PS: same errors for the 24.10 version.

Thanks!

i hd similar symptoms, when trying to compile new openwrt on older ubuntu version. I suggest, you try the build on VM, running ubuntu 24.04 . I got the info, recent openwrt builds assume recent host system. Your debian is rather old.

Recent stable Debian or Ubuntu is recommended for the buildroot. Debian 13 is latest stable. That's four iterations later and you can't exactly say Debian releases so often...

Debian 9 reached its end of life already in 2017. I guess it’s assembler (as, gas) must be quite old. You need to be aware that GCC does not include an assembler. It generates input for an external assembler, which must support the instruction set that is being emitted. Clang would be different; it bundles an assembler.

Thanks to everyone,

inspecting the 13.2.0 toolchain directory I discovered that the as tool is missing, so the make tool recalls the default one (2.8) and this one is old.

Someone told me that is possible to force gcc act as ‘as’ by the:

export AS="/opt/gcc-13.2.0/bin/gcc -c"

directive, but I don’t know how to insert it in the flow.

Thanks