> No, this is totally broken. No package in Debian ships anything in > /usr/include/bits/. If you have anything there, your system is broken > rather than Debian.
That's exactly the kind of info I was looking for. Thank you! > The interesting question now is where those files came from. Easy enough. $ dpkg -S /usr/include/bits libc6-dev-i386: /usr/include/bits That's the problematic package. I don't recall why I had this installed, but it was there on all of my boxes. I removed it: $ sudo apt remove libc6-dev-i386 ... The following additional packages will be installed: cpp-10 g++-10 gcc-10 gcc-10-base gfortran-10 lib32gcc-10-dev lib32stdc++-10-dev libgcc-10-dev libgfortran-10-dev libstdc++-10-dev libx32gcc-10-dev libx32stdc++-10-dev The following packages will be REMOVED: g++-10-multilib gcc-10-multilib libc6-dev-i386 libc6-dev-x32 The following packages will be upgraded: cpp-10 g++-10 gcc-10 gcc-10-base gfortran-10 lib32gcc-10-dev lib32stdc++-10-dev libgcc-10-dev libgfortran-10-dev libstdc++-10-dev libx32gcc-10-dev libx32stdc++-10-dev But the build still fails: $ arm-linux-gnueabihf-gcc-12 -c -o /tmp/tst.o /tmp/tst.c In file included from /tmp/tst.c:1: /usr/include/math.h:27:10: fatal error: bits/libc-header-start.h: No such file or directory 27 | #include <bits/libc-header-start.h> | ^~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. Looking around, this was due to libc6-dev-armhf-cross not being installed. I install it: $ sudo apt install libc6-dev-armhf-cross ... The following additional packages will be installed: linux-libc-dev-armhf-cross The following NEW packages will be installed: libc6-dev-armhf-cross linux-libc-dev-armhf-cross And the test compile then works. I then looked at the package relationships to see why libc6-dev-armhf-cross wasn't pulled in. It looks like gcc-12-arm-linux-gnueabihf Recommends libc6-dev-armhf-cross And for whatever reason this recommendation wasn't being satisfied on my systems. I'm sure there's a reason this is Recommends and not Depends. Would it break too much stuff to upgrade this to a Depends? This failure was kinda fundamental. Also, the libc6-dev-i386 was a red herring: I can reinstall that package, and it can coexist nicely with the armhf-cross stuff without breaking anything. Thanks!