-
Notifications
You must be signed in to change notification settings - Fork 338
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
linux filesystem conflict with glibc >=2.36 #362
Comments
Given that I cut a release yesterday, including uploading prebuilt binaries, it's just possible that it built for me. I'd guess the reason it's not working for you is you're building in a different environment than I've ever tried it on, but it's only a guess because you didn't even say what distro you were using when you saw the above. Those error messages are basically saying that your headers are extremely brittle: you have conflicting symbols between your libc and linux userspace headers. I've built on various versions of glibc, musl, and bionic, and none of them made that mistake in ages? Hmmm, googling, it looks like this is a bug introduced in the most recent version of glibc: llvm/llvm-project#56421 Hopefully they'll fix that before it winds up in distros. |
lets just hope he's using Arch then (ie bleeding edge packages) - guess that bug just gives more incentive to use Musl instead of glibc :) |
The likely fix is to have portability.h do an #ifdef glibc to not #include their broken sys/mount.h but instead manually prototype whatever functions and symbols we need out of it inside that #ifdef because the glibc header is what changed. (But ONLY for glibc, still #include it for bionic and musl because they're not broken.) "This worked for many years, then they made a change that broke existing packages" is a glibc bug. The kernel header did not change, glibc changed. |
i am using KISS. |
hm.. |
Translation: this gnu/glibc change broke a whole LOT of packages. Almost kgcc levels of broken. (Ala https://en.wikipedia.org/wiki/Red_Hat_Linux#:~:text=kgcc ). |
Fixed in glibc. |
... |
to recreate:
output:
The text was updated successfully, but these errors were encountered: