-
Notifications
You must be signed in to change notification settings - Fork 585
0_Rootfs: Add GCC 14 #10132
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
0_Rootfs: Add GCC 14 #10132
Conversation
I'm looking for comments on these changes. If they look fine I can generate and deploy the artifacts. |
Have you looked through the patches to see which are already upstream and included in the GCC 14 release? I know for sure that you need to drop the |
There is a gazillion patches which don't apply any more. Since most are applied via I assume that's only GCC patches you're talking about, not anything related to binutils or glibc? |
IMO, when adding a new GCC version we should verify all the patches are either being applied or are no longer needed and dropped. Keeping a lot of old patches that don't apply present in the new GCC's directory clutters things up. |
This is GCC 14.2. Is that the version we're going to use? |
Agreed, I don't like the |
It's impossible to avoid. There are too many combinations of (GCC, glibc, binutils, architecture), and who knows which patches are necessary for what combination. So far, the patches are separated by GCC version only. We could separate them by binutils and glibc version as well, but that might not cover all the cases. (For example, the configure flags necessary for glibc 2.17 depend on the GCC version.) Furthermore, I don't think anyone has tried to re-build an older GCC version in a long time, so I'd assume that's all bit-rotted away. |
I haven't tried very recently, but the build scripts are surprisingly somewhat robust. For the benefit of future readers (myself included) what was the problem with JuliaPackaging/BinaryBuilderBase.jl#398 (comment)? |
I added this comment to explain:
|
JuliaPackaging/BinaryBuilderBase.jl#318 rebuilt gcc 4-12 for |
I also rebuilt GCC 11-12 to fix headers and GCC 11-13 for the new Mingw version in January and it worked with no hiccups: #8005 |
I see this error while building for
What's the likely fix? Update to a newer macOS SDK? Or try a different binutils? |
Cctools more than binutils: Yggdrasil/0_RootFS/gcc_sources.jl Lines 158 to 164 in 51880c6
|
Why is there no |
For that architecture we build a fork of GCC: https://github.com/iains/gcc-darwin-arm64/. Upstream GCC still doesn't support it, I think. |
I'm giving up on building GCC 14 for |
0b01778
to
a87eaa3
Compare
|
||
# TODO: Update RootFS to v3.17 or later, and preinstall libdispatch (and libdispatch-dev here only when building for macOS). | ||
if [[ "${GCC_VERSION_MAJOR}" -ge 14 ]]; then | ||
apk add libdispatch libdispatch-dev --repository=http://dl-cdn.alpinelinux.org/alpine/v3.17/community |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Alternatively, compile https://github.com/tpoechtrager/apple-libdispatch locally
I saved my progress so far with building gcc 14 for x86_64-darwin, but now I'm stuck at Yggdrasil/0_RootFS/gcc_common.jl Line 529 in 54d6862
The assertion is https://github.com/tpoechtrager/cctools-port/blob/81f205e8ca6bbf2fdbcb6948132454fd1f97839e/cctools/ld64/src/ld/ld.hpp#L902. At a quick glance it looks similar to NixOS/nixpkgs#105573, but I have yet to study that bug report and understand how it was resolved. But what's interesting is that NixOS/nixpkgs#105573 (comment) claims they hit the issue on tpoechtrager/cctools-port@43f32a4, which is before tpoechtrager/cctools-port@634a084, the commit we've built so far and we didn't have this problem before. Any help in debugging this (even in the form of googling or rubber-ducking) would be much appreciated 🙂 |
As far as I can tell, all errors mentioned in NixOS/nixpkgs#105573 about the failed assertion are related to Edit: sandbox:${WORKSPACE}/srcdir/gcc_stage1/x86_64-apple-darwin14/libgcc # /workspace/srcdir/gcc_stage1/./gcc/xgcc -B/workspace/srcdir/gcc_stage1/./gcc/ -B/workspace/destdir/x86_64-apple-darwin14/bin/ -B/workspace/destdir/x86_64-apple-darwin14/lib/ -isystem /workspace/destdir/x86_64-apple-darwin14/include -isystem /workspace/destdir/x86_64-apple-darwin14/sys-include -O2 -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -mmacosx-version-min=10.5 -fno-common -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -dynamiclib -nodefaultlibs -install_name /workspace/destdir/x86_64-apple-darwin14/lib/libgcc_s.1.1.dylib -single_module -o ./libgcc_s.dylib -Wl,-exported_symbols_list,libgcc.map -compatibility_version 1 -current_version 1.1 -nodefaultrpaths -g -O2 -B./ _muldi3_s.o _negdi2_s.o _lshrdi3_s.o _ashldi3_s.o _ashrdi3_s.o _cmpdi2_s.o _ucmpdi2_s.o _clear_cache_s.o _trampoline_s.o __main_s.o _absvsi2_s.o _absvdi2_s.o _addvsi3_s.o _addvdi3_s.o _subvsi3_s.o _subvdi3_s.o _mulvsi3_s.o _mulvdi3_s.o _negvsi2_s.o _negvdi2_s.o _ctors_s.o _ffssi2_s.o _ffsdi2_s.o _clz_s.o _clzsi2_s.o _clzdi2_s.o _ctzsi2_s.o _ctzdi2_s.o _popcount_tab_s.o _popcountsi2_s.o _popcountdi2_s.o _paritysi2_s.o _paritydi2_s.o _powisf2_s.o _powidf2_s.o _powixf2_s.o _powitf2_s.o _mulsc3_s.o _muldc3_s.o _mulxc3_s.o _multc3_s.o _divsc3_s.o _divdc3_s.o _divxc3_s.o _divtc3_s.o _bswapsi2_s.o _bswapdi2_s.o _clrsbsi2_s.o _clrsbdi2_s.o _mulbitint3_s.o _fixunssfsi_s.o _fixunsdfsi_s.o _fixunsxfsi_s.o _fixsfdi_s.o _fixdfdi_s.o _fixxfdi_s.o _fixunssfdi_s.o _fixunsdfdi_s.o _fixunsxfdi_s.o _floatdisf_s.o _floatdidf_s.o _floatdixf_s.o _floatundisf_s.o _floatundidf_s.o _floatundixf_s.o _fixsfti_s.o _fixdfti_s.o _fixxfti_s.o _fixtfti_s.o _fixunssfti_s.o _fixunsdfti_s.o _fixunsxfti_s.o _fixunstfti_s.o _floattisf_s.o _floattidf_s.o _floattixf_s.o _floattitf_s.o _floatuntisf_s.o _floatuntidf_s.o _floatuntixf_s.o _floatuntitf_s.o _divdi3_s.o _moddi3_s.o _divmoddi4_s.o _udivdi3_s.o _umoddi3_s.o _udivmoddi4_s.o _udiv_w_sdiv_s.o _divmodbitint4_s.o darwin-64_s.o cpuinfo_s.o sfp-exceptions_s.o _divhc3_s.o _mulhc3_s.o addtf3_s.o divtf3_s.o eqtf2_s.o getf2_s.o letf2_s.o multf3_s.o negtf2_s.o subtf3_s.o unordtf2_s.o fixtfsi_s.o fixunstfsi_s.o floatsitf_s.o floatunsitf_s.o fixtfdi_s.o fixunstfdi_s.o floatditf_s.o floatunditf_s.o fixtfti_s.o fixunstfti_s.o floattitf_s.o floatuntitf_s.o fixsfbitint_s.o floatbitintsf_s.o fixdfbitint_s.o floatbitintdf_s.o extendhfsf2_s.o extendhfdf2_s.o extendhftf2_s.o extendhfxf2_s.o extendsfdf2_s.o extendsftf2_s.o extenddftf2_s.o extendxftf2_s.o extendbfsf2_s.o trunctfhf2_s.o truncxfhf2_s.o truncdfhf2_s.o truncsfhf2_s.o trunctfsf2_s.o truncdfsf2_s.o trunctfdf2_s.o trunctfxf2_s.o trunctfbf2_s.o truncxfbf2_s.o truncdfbf2_s.o truncsfbf2_s.o trunchfbf2_s.o fixtfbitint_s.o floatbitinttf_s.o fixhfti_s.o fixunshfti_s.o floattihf_s.o floatuntihf_s.o floattibf_s.o floatuntibf_s.o eqhf2_s.o fixxfbitint_s.o floatbitinthf_s.o floatbitintbf_s.o floatbitintxf_s.o enable-execute-stack_s.o hardcfr_s.o strub_s.o heap-trampoline_s.o emutls_s.o libgcc.a -lSystem
Assertion failed: targetAtom != NULL (/workspace/srcdir/cctools-port/cctools/ld64/src/ld/ld.hpp: Fixup: 902)
collect2: fatal error: ld terminated with signal 6 [Aborted]
compilation terminated.
sandbox:${WORKSPACE}/srcdir/gcc_stage1/x86_64-apple-darwin14/libgcc # /workspace/srcdir/gcc_stage1/./gcc/xgcc -B/workspace/srcdir/gcc_stage1/./gcc/ -B/workspace/destdir/x86_64-apple-darwin14/bin/ -B/workspace/destdir/x86_64-apple-darwin14/lib/ -isystem /workspace/destdir/x86_64-apple-darwin14/include -isystem /workspace/destdir/x86_64-apple-darwin14/sys-include -O2 -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -mmacosx-version-min=10.6 -fno-common -g -DIN_LIBGCC2 -fbuilding-libgcc -fno-stack-protector -dynamiclib -nodefaultlibs -install_name /workspace/destdir/x86_64-apple-darwin14/lib/libgcc_s.1.1.dylib -single_module -o ./libgcc_s.dylib -Wl,-exported_symbols_list,libgcc.map -compatibility_version 1 -current_version 1.1 -nodefaultrpaths -g -O2 -B./ _muldi3_s.o _negdi2_s.o _lshrdi3_s.o _ashldi3_s.o _ashrdi3_s.o _cmpdi2_s.o _ucmpdi2_s.o _clear_cache_s.o _trampoline_s.o __main_s.o _absvsi2_s.o _absvdi2_s.o _addvsi3_s.o _addvdi3_s.o _subvsi3_s.o _subvdi3_s.o _mulvsi3_s.o _mulvdi3_s.o _negvsi2_s.o _negvdi2_s.o _ctors_s.o _ffssi2_s.o _ffsdi2_s.o _clz_s.o _clzsi2_s.o _clzdi2_s.o _ctzsi2_s.o _ctzdi2_s.o _popcount_tab_s.o _popcountsi2_s.o _popcountdi2_s.o _paritysi2_s.o _paritydi2_s.o _powisf2_s.o _powidf2_s.o _powixf2_s.o _powitf2_s.o _mulsc3_s.o _muldc3_s.o _mulxc3_s.o _multc3_s.o _divsc3_s.o _divdc3_s.o _divxc3_s.o _divtc3_s.o _bswapsi2_s.o _bswapdi2_s.o _clrsbsi2_s.o _clrsbdi2_s.o _mulbitint3_s.o _fixunssfsi_s.o _fixunsdfsi_s.o _fixunsxfsi_s.o _fixsfdi_s.o _fixdfdi_s.o _fixxfdi_s.o _fixunssfdi_s.o _fixunsdfdi_s.o _fixunsxfdi_s.o _floatdisf_s.o _floatdidf_s.o _floatdixf_s.o _floatundisf_s.o _floatundidf_s.o _floatundixf_s.o _fixsfti_s.o _fixdfti_s.o _fixxfti_s.o _fixtfti_s.o _fixunssfti_s.o _fixunsdfti_s.o _fixunsxfti_s.o _fixunstfti_s.o _floattisf_s.o _floattidf_s.o _floattixf_s.o _floattitf_s.o _floatuntisf_s.o _floatuntidf_s.o _floatuntixf_s.o _floatuntitf_s.o _divdi3_s.o _moddi3_s.o _divmoddi4_s.o _udivdi3_s.o _umoddi3_s.o _udivmoddi4_s.o _udiv_w_sdiv_s.o _divmodbitint4_s.o darwin-64_s.o cpuinfo_s.o sfp-exceptions_s.o _divhc3_s.o _mulhc3_s.o addtf3_s.o divtf3_s.o eqtf2_s.o getf2_s.o letf2_s.o multf3_s.o negtf2_s.o subtf3_s.o unordtf2_s.o fixtfsi_s.o fixunstfsi_s.o floatsitf_s.o floatunsitf_s.o fixtfdi_s.o fixunstfdi_s.o floatditf_s.o floatunditf_s.o fixtfti_s.o fixunstfti_s.o floattitf_s.o floatuntitf_s.o fixsfbitint_s.o floatbitintsf_s.o fixdfbitint_s.o floatbitintdf_s.o extendhfsf2_s.o extendhfdf2_s.o extendhftf2_s.o extendhfxf2_s.o extendsfdf2_s.o extendsftf2_s.o extenddftf2_s.o extendxftf2_s.o extendbfsf2_s.o trunctfhf2_s.o truncxfhf2_s.o truncdfhf2_s.o truncsfhf2_s.o trunctfsf2_s.o truncdfsf2_s.o trunctfdf2_s.o trunctfxf2_s.o trunctfbf2_s.o truncxfbf2_s.o truncdfbf2_s.o truncsfbf2_s.o trunchfbf2_s.o fixtfbitint_s.o floatbitinttf_s.o fixhfti_s.o fixunshfti_s.o floattihf_s.o floatuntihf_s.o floattibf_s.o floatuntibf_s.o eqhf2_s.o fixxfbitint_s.o floatbitinthf_s.o
floatbitintbf_s.o floatbitintxf_s.o enable-execute-stack_s.o hardcfr_s.o strub_s.o heap-trampoline_s.o emutls_s.o libgcc.a -lSystem
sandbox:${WORKSPACE}/srcdir/gcc_stage1/x86_64-apple-darwin14/libgcc # Changing I see other people over at conda-forge/gfortran_impl_osx-64-feedstock#82 had exactly the same issue, sigh. Edit 2: reproducer reduced to sandbox:${WORKSPACE}/srcdir/gcc_stage1/x86_64-apple-darwin14/libgcc # /workspace/destdir/bin/x86_64-apple-darwin14-ld -demangle -syslibroot /workspace/destdir/x86_64-apple-darwin14/sys-root/ -dynamic -arch x86_64 -platform_version macos 10.5 0.0 -o ./libgcc_s.dylib -ldylib1.10.5.o -L/workspace/srcdir/gcc_stage1/./gcc -L. -exported_symbols_list libgcc.map _muldi3_s.o _negdi2_s.o _lshrdi3_s.o _ashldi3_s.o _ashrdi3_s.o _cmpdi2_s.o _ucmpdi2_s.o _clear_cache_s.o _trampoline_s.o __main_s.o _absvsi2_s.o _absvdi2_s.o _addvsi3_s.o _addvdi3_s.o _subvsi3_s.o _subvdi3_s.o _mulvsi3_s.o _mulvdi3_s.o _negvsi2_s.o _negvdi2_s.o _ctors_s.o _ffssi2_s.o _ffsdi2_s.o _clz_s.o _clzsi2_s.o _clzdi2_s.o _ctzsi2_s.o _ctzdi2_s.o _popcount_tab_s.o _popcountsi2_s.o _popcountdi2_s.o _paritysi2_s.o _paritydi2_s.o _powisf2_s.o _powidf2_s.o _powixf2_s.o _powitf2_s.o _mulsc3_s.o _muldc3_s.o _mulxc3_s.o _multc3_s.o _divsc3_s.o _divdc3_s.o _divxc3_s.o _divtc3_s.o _bswapsi2_s.o _bswapdi2_s.o _clrsbsi2_s.o _clrsbdi2_s.o _mulbitint3_s.o _fixunssfsi_s.o _fixunsdfsi_s.o _fixunsxfsi_s.o _fixsfdi_s.o _fixdfdi_s.o _fixxfdi_s.o _fixunssfdi_s.o _fixunsdfdi_s.o _fixunsxfdi_s.o _floatdisf_s.o _floatdidf_s.o _floatdixf_s.o _floatundisf_s.o _floatundidf_s.o _floatundixf_s.o _fixsfti_s.o _fixdfti_s.o _fixxfti_s.o _fixtfti_s.o _fixunssfti_s.o _fixunsdfti_s.o _fixunsxfti_s.o _fixunstfti_s.o _floattisf_s.o _floattidf_s.o _floattixf_s.o _floattitf_s.o _floatuntisf_s.o _floatuntidf_s.o _floatuntixf_s.o _floatuntitf_s.o _divdi3_s.o _moddi3_s.o _divmoddi4_s.o _udivdi3_s.o _umoddi3_s.o _udivmoddi4_s.o _udiv_w_sdiv_s.o _divmodbitint4_s.o darwin-64_s.o cpuinfo_s.o sfp-exceptions_s.o _divhc3_s.o _mulhc3_s.o addtf3_s.o divtf3_s.o eqtf2_s.o getf2_s.o letf2_s.o multf3_s.o negtf2_s.o subtf3_s.o unordtf2_s.o fixtfsi_s.o fixunstfsi_s.o floatsitf_s.o floatunsitf_s.o fixtfdi_s.o fixunstfdi_s.o floatditf_s.o floatunditf_s.o fixtfti_s.o fixunstfti_s.o floattitf_s.o floatuntitf_s.o fixsfbitint_s.o floatbitintsf_s.o fixdfbitint_s.o floatbitintdf_s.o extendhfsf2_s.o extendhfdf2_s.o extendhftf2_s.o extendhfxf2_s.o extendsfdf2_s.o extendsftf2_s.o extenddftf2_s.o extendxftf2_s.o extendbfsf2_s.o trunctfhf2_s.o truncxfhf2_s.o truncdfhf2_s.o truncsfhf2_s.o trunctfsf2_s.o truncdfsf2_s.o trunctfdf2_s.o trunctfxf2_s.o trunctfbf2_s.o truncxfbf2_s.o truncdfbf2_s.o truncsfbf2_s.o trunchfbf2_s.o fixtfbitint_s.o floatbitinttf_s.o fixhfti_s.o fixunshfti_s.o floattihf_s.o floatuntihf_s.o floattibf_s.o floatuntibf_s.o eqhf2_s.o fixxfbitint_s.o floatbitinthf_s.o floatbitintbf_s.o floatbitintxf_s.o enable-execute-stack_s.o hardcfr_s.o strub_s.o heap-trampoline_s.o emutls_s.o libgcc.a -lSystem -dylib -dylib_compatibility_version 1 -dylib_current_version 1.1 -dylib_install_name /workspace/destdir/x86_64-apple-darwin14/lib/libgcc_s.1.1.dylib -single_module
Assertion failed: targetAtom != NULL (/workspace/srcdir/cctools-port/cctools/ld64/src/ld/ld.hpp: Fixup: 902)
Aborted GDB gives me a very unhelpful backtrace:
|
Here is what my new best friend ChatGPT has to say on this issue: |
Why do we care about 10.5? Julia requires 10.14, and we use the 10.12 SDK? |
We don't, it's GCC build script which is forcing it: gcc-mirror/gcc@20b8779#diff-5c91aee3ddbc0ea342f51c839978c4fb0bc1a1bb1bf2d160cbcb062431141c79R251, as I said above. |
With https://github.com/JuliaPackaging/Yggdrasil/blob/4fb6b23d2032478e41902dba334cb94de2d5c691/0_RootFS/GCCBootstrap%4014/bundled/patches/gcc/gcc1420-Increase-fallback-min-macOS-version-for-libgcc-to-10.8.patch I can build gcc 14 for x86_64-darwin successfully. |
make -j${nproc} VERBOSE=1 | ||
make install | ||
make -j${nproc} VERBOSE=1 libtapi | ||
make -j${nproc} VERBOSE=1 install |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not really sure we need to install all of llvm here (which also takes a while to compile), my understanding is that we only need libtapi (for cctools), which can be installed with just install-libtapi
, but we also need the header files for cctools below, and that's more complicated, we should eventually have
sandbox:${WORKSPACE}/srcdir/apple-libtapi/build # ls ${includedir}/tapi/
APIVersion.h Defines.h LinkerInterfaceFile.h PackedVersion32.h Symbol.h Version.h Version.inc tapi.h
All the *.h
files should be in src/tapi/include/tapi
, but Version.inc
is generated inside the build directory.
Uhm, now I'm having troubles compiling glibc for x86_64-linux at Yggdrasil/0_RootFS/gcc_common.jl Line 528 in c92735c
Failed command should be sandbox:${WORKSPACE}/srcdir/glibc-2.17/elf # x86_64-linux-gnu-gcc readlib.c -c -std=gnu99 -fgnu89-inline -D_GNU_SOURCE -O2 -Wall -Winline -Wno-array-parameter -Wno-builtin-declaration-mismatch -Wno-implicit-function-declaration -Wno-implicit-int -Wno-int-conversion -Wwrite-strings -fmerge-all-constants -frounding-math -g -Wstrict-prototypes -I../include -I/workspace/srcdir/glibc_build/elf -I/workspace/srcdir/glibc_build -I../sysdeps/unix/sysv/linux/x86_64/64/nptl -I../sysdeps/unix/sysv/linux/x86_64/64 -I../nptl/sysdeps/unix/sysv/linux/x86_64 -I../nptl/sysdeps/unix/sysv/linux/x86 -I../sysdeps/unix/sysv/linux/x86 -I../sysdeps/unix/sysv/linux/x86_64 -I../sysdeps/unix/sysv/linux/wordsize-64 -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../ports/sysdeps/unix/sysv/linux -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/inet -I../nptl/sysdeps/unix/sysv -I../ports/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/x86_64 -I../nptl/sysdeps/unix -I../ports/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../nptl/sysdeps/x86_64/64 -I../sysdeps/x86_64/64 -I../sysdeps/x86_64/fpu/multiarch -I../sysdeps/x86_64/fpu -I../sysdeps/x86/fpu -I../sysdeps/x86_64/multiarch -I../nptl/sysdeps/x86_64 -I../sysdeps/x86_64 -I../sysdeps/x86 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64/wordsize-64 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/wordsize-64 -I../sysdeps/ieee754 -I../sysdeps/generic -I../nptl -I../ports -I.. -I../libio -I. -nostdinc -isystem /workspace/x86_64-linux-gnu/destdir/bin/../lib/gcc/x86_64-linux-gnu/14.2.0/include -isystem /workspace/x86_64-linux-gnu/destdir/bin/../lib/gcc/x86_64-linux-gnu/14.2.0/include-fixed -isystem /workspace/destdir/x86_64-linux-gnu/sys-root/usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -o /workspace/srcdir/glibc_build/elf/readlib.o -MD -MP -MF /workspace/srcdir/glibc_build/elf/readlib.o.dt -MT /workspace/srcdir/glibc_build/elf/readlib.o
In file included from readlib.c:37:
../sysdeps/unix/sysv/linux/x86_64/ldconfig.h:27:30: error: ‘FLAG_ELF_MUSL’ undeclared here (not in a function); did you mean ‘FLAG_ELF’?
27 | { "libc.musl-x86_64.so.1", FLAG_ELF_MUSL }
| ^~~~~~~~~~~~~
readlib.c:61:3: note: in expansion of macro ‘SYSDEP_KNOWN_LIBRARY_NAMES’
61 | SYSDEP_KNOWN_LIBRARY_NAMES
| ^~~~~~~~~~~~~~~~~~~~~~~~~~ Need to figure out where musl is coming from here. Interestingly, sandbox:${WORKSPACE}/srcdir/glibc-2.17/elf # tail $(realpath ../sysdeps/unix/sysv/linux/x86_64/ldconfig.h)
#include <sysdeps/generic/ldconfig.h>
#define SYSDEP_KNOWN_INTERPRETER_NAMES \
{ "/lib/ld-linux.so.2", FLAG_ELF_LIBC6 }, \
{ "/libx32/ld-linux-x32.so.2", FLAG_ELF_LIBC6 }, \
{ "/lib64/ld-linux-x86-64.so.2", FLAG_ELF_LIBC6 },
#define SYSDEP_KNOWN_LIBRARY_NAMES \
{ "libc.so.6", FLAG_ELF_LIBC6 }, \
{ "libm.so.6", FLAG_ELF_LIBC6 }, \
{ "libc.musl-x86_64.so.1", FLAG_ELF_MUSL } but https://github.com/bminor/glibc/blob/glibc-2.17/sysdeps/unix/sysv/linux/x86_64/ldconfig.h doesn't have the last line about musl (which is also a bit surprising when compiling glibc). Edit: ah, that's coming from Yggdrasil/0_RootFS/GCCBootstrap@4/bundled/patches/glibc_musl_rejection.patch Lines 154 to 176 in c92735c
sysdeps/generic/ldconfig.h was rejected. Sigh.
How did this ever work?!? As far I could tell, the patch never applied to glibc 2.12 nor 2.17. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was able to build all GCC for all platforms locally. I'm now rebuilding and publishing them (could have started doing the publishing the first time round, oh well), tomorrow I'll open the PR to BinaryBuilderBase.
403c415
to
a857563
Compare
Companion PR to JuliaPackaging/BinaryBuilderBase.jl#403.