RISC-V notes: (Building Rocky 9 packages) 0. start with Fedora gcc-12.1.1-4.1, glibc-2.36-1, annobin-10.81-1, util-linux-2.36.1-1, redhat-rpm-config-226-1.0 (bootstrap redhat-rpm-config) 1. annobin-10.73-3 (Rocky 9) (bootstrap version, customized so it doesn't conflict with Fedora annobin-docs) 1.5. Switch to normal Rocky9 redhat-rpm-config (can do it now that we have a proper annobin) 2. gcc (Rocky9 build, no tests) 1. glibc (no tests) 2. annobin (bootstrap version + no tests) 3. gcc glibc-2.34: - compiled --without=werror , --without=tests , --nocheck - glibc-2.34 test failure (building w/o tests): make[2]: Leaving directory '/builddir/build/BUILD/glibc-2.34/elf' make[2]: Entering directory '/builddir/build/BUILD/glibc-2.34/elf' gcc -o /builddir/build/BUILD/glibc-2.34/build-riscv64-redhat-linux/elf/tst-main1 -Wl,-O1 -nostdlib -nostartfiles -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-a nnobin-cc1 -Wl,--build-id=sha1 -Wl,-dT,/builddir/build/BUILD/glibc-2.34/.package_note-glibc-2.34-40.el9.1.riscv64.ld -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both /builddir/build/BUILD/glibc-2.34/build-riscv64-redhat-linux/csu/cr t1.o /builddir/build/BUILD/glibc-2.34/build-riscv64-redhat-linux/csu/crti.o `gcc --print-file-name=crtbeginS.o` /builddir/build/BUILD/glibc-2.34/build-riscv64-redhat-linux/elf/tst-main1.o /builddir/build/BUILD/glibc-2.34/build-riscv64-r edhat-linux/elf/tst-main1mod.so /builddir/build/BUILD/glibc-2.34/build-riscv64-redhat-linux/support/libsupport_nonshared.a -Wl,-dynamic-linker=/lib/ld-linux-riscv64-lp64d.so.1 -Wl,-rpath-link=/builddir/build/BUILD/glibc-2.34/build-riscv6 4-redhat-linux:/builddir/build/BUILD/glibc-2.34/build-riscv64-redhat-linux/math:/builddir/build/BUILD/glibc-2.34/build-riscv64-redhat-linux/elf:/builddir/build/BUILD/glibc-2.34/build-riscv64-redhat-linux/dlfcn:/builddir/build/BUILD/glibc -2.34/build-riscv64-redhat-linux/nss:/builddir/build/BUILD/glibc-2.34/build-riscv64-redhat-linux/nis:/builddir/build/BUILD/glibc-2.34/build-riscv64-redhat-linux/rt:/builddir/build/BUILD/glibc-2.34/build-riscv64-redhat-linux/resolv:/build dir/build/BUILD/glibc-2.34/build-riscv64-redhat-linux/mathvec:/builddir/build/BUILD/glibc-2.34/build-riscv64-redhat-linux/support:/builddir/build/BUILD/glibc-2.34/build-riscv64-redhat-linux/nptl -lgcc -Wl,--as-needed -lgcc_s -Wl,--no-as -needed /builddir/build/BUILD/glibc-2.34/build-riscv64-redhat-linux/libc.so.6 /builddir/build/BUILD/glibc-2.34/build-riscv64-redhat-linux/libc_nonshared.a -Wl,--as-needed /builddir/build/BUILD/glibc-2.34/build-riscv64-redhat-linux/elf/ld.so -Wl,--no-as-needed -lgcc -Wl,--as-needed -lgcc_s -Wl,--no-as-needed `gcc --print-file-name=crtendS.o` /builddir/build/BUILD/glibc-2.34/build-riscv64-redhat-linux/csu/crtn.o /usr/bin/ld: unresolvable R_RISCV_PCREL_HI20 relocation against symbol `main' collect2: error: ld returned 1 exit status make[2]: *** [../Rules:230: /builddir/build/BUILD/glibc-2.34/build-riscv64-redhat-linux/elf/tst-main1] Error 1 make[2]: Leaving directory '/builddir/build/BUILD/glibc-2.34/elf' make[2]: *** Waiting for unfinished jobs.... #### annobin-10.73: - Build bootstrap version: --without clangplugin --without llvmplugin --without plugin_rebuild --without gccplugin --nocheck --without tests - We need to build this so we can build gcc ### gcc-11.3.1-2.1: - need special redhat-rpm-config: redhat-rpm-config-226-1.0.riscv64 . This is a bootstrap version for jumping between gcc builds. It dodges the annobin-plugin-gcc requirement, which we don't have because we haven't built gcc yet - need llvm+clang 11 temporarily in the hand-picked Fedora repo, because doxygen from the Fedora repos was built against that - Force this build to use the Rocky9 glibc-2.34 we built earlier, by cleaning mock cache and excluding glibc from the Fedora Koji repo (not sure how it was using glibc-2.36) - Need older util-linux 2.36.1-1.fc33 from Fedora repo: it will work with our glibc-2.34. The latest 2.38 needs glibc-2.36, which we don't have ###