Closed issue by CtrlC-Root on void-packages repository https://github.com/void-linux/void-packages/issues/48299 Description: ### Is this a new report? Yes ### System Info Void 6.1.69_1 armv6l Unknown uptodate rFF ### Package(s) Affected direwolf-1.7_1 ### Does a report exist for this bug with the project's home (upstream) and/or another distro? https://github.com/RPi-Distro/repo/issues/278 https://bugs.launchpad.net/raspbian/+bug/1980899 https://groups.io/g/direwolf/topic/87406630#5856 ### Expected behaviour You should be able to run the binaries in the `direwolf` package on supported ARM boards as per the Void Handbook including the Raspberry Pi Zero W. ### Actual behaviour The `direwolf` binary crashes with an `Illegal instruction` as seen below: ``` [root@void-live ~]# direwolf Dire Wolf version 1.7 Includes optional support for: hamlib cm108-ptt Dire Wolf requires only privileges available to ordinary users. Running this as root is an unnecessary security risk. Illegal instruction [root@void-live ~]# ``` I've done some digging and it appears this is likely because it's compiled on an ARM system that has the NEON instruction set whereas the Raspberry Pi Zero W does not support this. ``` [root@void-live ~]# readelf -A /usr/bin/direwolf | grep NEON Tag_Advanced_SIMD_arch: NEONv1 [root@void-live ~]# lscpu Architecture: armv6l Byte Order: Little Endian CPU(s): 1 On-line CPU(s) list: 0 Vendor ID: ARM Model name: ARM1176 Model: 7 Thread(s) per core: 1 Core(s) per socket: 1 Socket(s): 1 Stepping: r0p7 CPU(s) scaling MHz: 100% CPU max MHz: 1000.0000 CPU min MHz: 700.0000 BogoMIPS: 997.08 Flags: half thumb fastmult vfp edsp java tls ``` Of course just because the binary contains NEON instructions does not necessarily mean it's executing them but I suspect this is the issue given the linked bug reports above. I am currently attempting to build this package from source on the board to see if that solves it but that's going to take a while. ### Steps to reproduce 1. Follow the Void Handbook instructions to download an ARMv6l image (I used `void-rpi-armv6l-20230628.img`) and prepare a microSD card using it. 2. Boot the image on an ARMv6l board without support for NEON instructions (I used a Raspberry Pi Zero W). 3. Install the direwolf package: `xbps-install direwolf` 4. Run the `direwolf` binary in a way where it attempts to actually process data: `direwolf -c /usr/share/doc/direwolf/conf/direwolf.conf` 5. Observe the crash documented above in the `Actual behavior` section. Tagging @classabbyamp as the package maintainer.