-
Notifications
You must be signed in to change notification settings - Fork 666
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
nix 0.26 can't work on ubuntu16.04 #1972
Comments
According to the online man pages, that function should be available in Ubuntu 16.04. Could you please do |
It is empty. |
The problem is caused by this commit cf15c2b |
Even if memfd_create isn't included in your libc, I don't understand why the compile would fail. Normally the Rust linker eliminates unused code, so it's no problem if a symbol like memfd_create is undefined, if you don't use it. Are you using any weird compiler settings? And what version of Rust are you using anyway? |
You can test this code in ubuntu:16.04 with docker. rustc 1.65.0 (897e37553 2022-11-02) |
I have updated to the latest stable rust. It also can't work. |
We are seeing this as well for https://github.com/vectordotdev/vector when building on CentOS 7 which has:
We build on CentOS 7 specifically to link against an older libc version for broader platform support. |
Ubuntu 16.04 is EoL. Is CentOS 7? |
I don't think Ubuntu 16.04 is EoL. It seems to be supported through April of 2026 (see https://ubuntu.com/about/release-cycle). CentOS 7 appears to be supported through 2024-06-30 (see https://wiki.centos.org/About/Product). |
But only in Expanded Security Maintenance, it seems. Anyway, I can reproduce your problem only if I use |
Thanks for the tip! I tried
To reproduce, you can checkout https://github.com/vectordotdev/vector at Would it be useful for me to bisect |
Notably, we are actually already using |
Aha, nevermind, I see the commit was already identified 😄 |
@jszwedko how did you enable as-needed ? |
I ran:
Does that seem right to you? |
Reading https://wiki.gentoo.org/wiki/Project:Quality_Assurance/As-needed it isn't clear to me how |
No, memfd_create definitely isn't being called. And it could be that |
Hey all, I just wanted to check in if there were any other suggested work-arounds we could try here. For now we are maintaining a fork of |
On Fri, Mar 24, 2023 at 2:48 PM Jesse Szwedko ***@***.***> wrote:
Hey all,
I just wanted to check in if there were any other suggested work-arounds
we could try here. For now we are maintaining a fork of nix to maintain
compatibility with glibc 2.17, but this adds a bit of maintenance overhead
for us.
—
Reply to this email directly, view it on GitHub
<#1972 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAA7VOKT5R3IAVIJDBYQYT3W5YJDZANCNFSM6AAAAAAT4I3HDU>
.
You are receiving this because you commented.
Have you tried asking on https://internals.rust-lang.org/ ? That community
might know what linker option you need.
… Message ID: ***@***.***>
|
Will do. I want to try to whittle this down to an MRE first. I actually can't reproduce using your repo, @rise0chen. I tried with Rust I can still reproduce using https://github.com/vectordotdev/vector at
It still seems odd that Vector was already depending on |
It can work when I set [profile.dev]
lto = true
[profile.release]
lto = true in |
LTO does not (reliably) solve this. This should be fixed in |
root@f0fca0e971de:~/rc3.1# gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.12' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu Thread model: posix gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.12)
The text was updated successfully, but these errors were encountered: