I can't get the latest version of openwrt 24.10 to compile for my Raspberry Pi CM4 (it has a dfrobot iot carrier board on it for an extra ethernet port and hence needs extra kernel modules)
A year before I build openwrt 23.xx.x and it worked well. This time I keep getting an error that I think is related to musl.
In the build process I get pretty much everything compiled. I get all the packages installed. It continues to enabling services, and then I get the following error.
I am building on Fedora 41 using a tool chain installed on the host. But I also tried it in an Ubuntu 22.04 container and I get the same error.
I tried with the openwrt 24.10.0 release on github and I have tried pulling the code directly from github and doing a checkout of the 24.10.0 tag. I even tried on the main branch. Everytime I get the same error.
I'm confused as to what to do next. Any help would be much appreciated!
Enabling boot
Enabling cron
Enabling dnscrypt-proxy
Enabling done
Enabling dropbear
Enabling firewall
Enabling gpio_switch
Enabling led
Enabling log
Enabling network
Enabling odhcpd
Enabling packet_steering
Enabling sysctl
Enabling sysfixtime
Enabling sysntpd
Enabling system
Enabling umount
Enabling urandom_seed
Enabling wpad
rm -rf /home/justin/source/GIT/raspberrypi/openwrt/build_dir/target-aarch64_cortex-a72_musl/root-bcm27xx/boot /home/justin/source/GIT/raspberrypi/openwrt/build_dir/target-aarch64_cortex-a72_musl/root-bcm27xx/tmp/* /home/justin/source/GIT/raspberrypi/openwrt/build_dir/target-aarch64_cortex-a72_musl/root-bcm27xx/lib/apk/db/*.post-install* /home/justin/source/GIT/raspberrypi/openwrt/build_dir/target-aarch64_cortex-a72_musl/root-bcm27xx/usr/lib/opkg/info/*.postinst* /home/justin/source/GIT/raspberrypi/openwrt/build_dir/target-aarch64_cortex-a72_musl/root-bcm27xx/usr/lib/opkg/lists/* /home/justin/source/GIT/raspberrypi/openwrt/build_dir/target-aarch64_cortex-a72_musl/root-bcm27xx/var/lock/*.lock
rm -rf /home/justin/source/GIT/raspberrypi/openwrt/tmp/mklibs-progs /home/justin/source/GIT/raspberrypi/openwrt/tmp/mklibs-out
# first find all programs and add them to the mklibs list
find /home/justin/source/GIT/raspberrypi/openwrt/staging_dir/target-aarch64_cortex-a72_musl/root-bcm27xx -type f -perm /100 -exec file -r -N -F '' {} + | awk ' /executable.*dynamically/ { print $1 }' > /home/justin/source/GIT/raspberrypi/openwrt/tmp/mklibs-progs
# find all loadable objects that are not regular libraries and add them to the list as well
find /home/justin/source/GIT/raspberrypi/openwrt/staging_dir/target-aarch64_cortex-a72_musl/root-bcm27xx -type f -name \*.so\* -exec file -r -N -F '' {} + | awk ' /shared object/ { print $1 }' > /home/justin/source/GIT/raspberrypi/openwrt/tmp/mklibs-libs
mkdir -p /home/justin/source/GIT/raspberrypi/openwrt/tmp/mklibs-out
/home/justin/source/GIT/raspberrypi/openwrt/staging_dir/host/bin/mklibs -D -d /home/justin/source/GIT/raspberrypi/openwrt/tmp/mklibs-out --sysroot /home/justin/source/GIT/raspberrypi/openwrt/staging_dir/target-aarch64_cortex-a72_musl/root-bcm27xx `cat /home/justin/source/GIT/raspberrypi/openwrt/tmp/mklibs-libs | sed 's:/*[^/]\+/*$::' | uniq | sed 's:^/home/justin/source/GIT/raspberrypi/openwrt/staging_dir/target-aarch64_cortex-a72_musl/root-bcm27xx:-L :'` --ldlib /lib/ld-musl-aarch64.so.1 --target aarch64-openwrt-linux-musl `cat /home/justin/source/GIT/raspberrypi/openwrt/tmp/mklibs-progs /home/justin/source/GIT/raspberrypi/openwrt/tmp/mklibs-libs` 2>&1
I: Using /lib/ld-musl-aarch64.so.1 as dynamic linker.
I: library reduction pass 1
3255 symbols, 16 unresolved
I: library reduction pass 2
3257 symbols, 18 unresolved
Library not found: /home/justin/source/GIT/raspberrypi/openwrt/staging_dir/target-aarch64_cortex-a72_musl/root-bcm27xx/lib/libc.so in path: /lib:/usr/lib:/usr/lib/ucode:/usr/lib
make[2]: *** [package/Makefile:102: package/install] Error 1
make[2]: Leaving directory '/home/justin/source/GIT/raspberrypi/openwrt'
make[1]: *** [package/Makefile:184: /home/justin/source/GIT/raspberrypi/openwrt/staging_dir/target-aarch64_cortex-a72_musl/stamp/.package_install] Error 2
make[1]: Leaving directory '/home/justin/source/GIT/raspberrypi/openwrt'
make: *** [/home/justin/source/GIT/raspberrypi/openwrt/include/toplevel.mk:233: world] Error 2