On Thu, 2022-12-15 at 01:24 -0600, Nathan Dehnel wrote: > You could try seeing what they're doing here to cross-build > https://github.com/flavioc/cross-hurd > It worked last time I ran it (which was admittedly a while ago)
Hi, The problem is probably that you need to add --enable-add-ons=libpthread to configure when building first version of cross-glibc. This is to obtain weak references when building libcstd++ of cross-gcc: nm --dynamic /cross-tools/lib/libstdc++.so.6.0.30|grep pthread ... w __pthread_key_create w pthread_key_create w pthread_key_delete ... Then that build of cross-gcc will succeed in building the Hurd version of libstdc++ etc. nm --dynamic /tools/lib/libstdc++.so.6.0.30|grep pthread <same as above> The problem is due to that with recent versions of glibc libpthread is included for Linux, but not for Hurd. Note that don't issue autoreconf gcc (in my case 12.2.0) unless you have only autoconf2.69 installed (or what is needed for your version of upstream gcc). My scripts to cross-build Hurd on Debian/GNU Linux: hurd-cross (hurdX) will soon be published on Savannah under the Hurd umbrella. Note the name difference: hurd-cross vs cross-hurd. As of current these scripts include up-to-date versions of all packages used, with git versions of mig, gnumach and hurd. (The scripts of hurd-cross were based on the work by Flavio in 2019, thank you Flavio. However they have diverged considerably since then, and are not easily merged into his work at github) Good luck!