Skip to content

/lib64/ld64.so.2: version GLIBC_2.22 /lib64/libc.so.6: version GLIBC_2.18' #1339

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

Closed
yoni386 opened this issue Jan 19, 2018 · 15 comments
Closed

Comments

@yoni386
Copy link

yoni386 commented Jan 19, 2018

Hello,

I would to check what are the requirements of rust (libc) and if the execution / installing are issue or just is requirement / limitation.
Please advise if there is some workaround as static compile glibc (as possible on x86_64 musl).

On Red-Hat 7.4 glibc 2.17 is used as in x86_64 (Red-Hat 7.3).
[root@powerpc64le tmp]# ldd ./nv

./nv: /lib64/ld64.so.2: version GLIBC_2.22' not found (required by ./nv) ./nv: /lib64/libc.so.6: versionGLIBC_2.18' not found (required by ./nv)
linux-vdso64.so.1 => (0x00007fffb0de0000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fffb0d20000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fffb0ce0000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fffb0ca0000)
libc.so.6 => /lib64/libc.so.6 (0x00007fffb0ab0000)
/lib64/ld64.so.2 (0x00007fffb0e00000)
[root@powerpc64le tmp]# ./nv

./nv: /lib64/ld64.so.2: version GLIBC_2.22' not found (required by ./nv) ./nv: /lib64/libc.so.6: versionGLIBC_2.18' not found (required by ./nv)
On x86_64:
[root@x86_64 ~]# ldd --version

ldd (GNU libc) 2.17
On powerpc64le:
[root@powerpc64le ~]# ldd --version

ldd (GNU libc) 2.17
[root@name ~]# curl https://sh.rustup.rs -sSf | sh

info: downloading installer
/tmp/tmp.pPXmBEil5N/rustup-init: /lib64/ld64.so.2: version GLIBC_2.22' not found (required by /tmp/tmp.pPXmBEil5N/rustup-init) /tmp/tmp.pPXmBEil5N/rustup-init: /lib64/libc.so.6: versionGLIBC_2.18' not found (required by /tmp/tmp.pPXmBEil5N/rustup-init)

docker pull ppc64le/centos;
docker create --name rust_centos -it ppc64le/centos;
docker start rust_centos;
docker exec -it rust_centos bash;
[root@c769e981bada /]# curl https://sh.rustup.rs -sSf | sh;

info: downloading installer
/tmp/tmp.awWf7OI1vO/rustup-init: /lib64/ld64.so.2: version GLIBC_2.22' not found (required by /tmp/tmp.awWf7OI1vO/rustup-init) /tmp/tmp.awWf7OI1vO/rustup-init: /lib64/libc.so.6: version GLIBC_2.18' not found (required by /tmp/tmp.awWf7OI1vO/rustup-init)

Thank you,

Yoni

@cuviper
Copy link
Member

cuviper commented Apr 9, 2018

The CI builders in upstream rust are careful to use older glibc and gcc for ABI compatibility. Perhaps rustup could reuse the exact same docker containers to produce its binaries?

@yoni386
Copy link
Author

yoni386 commented Apr 10, 2018

No, It failed. It's not possible to install rust there from the same reason.

@cuviper
Copy link
Member

cuviper commented Apr 10, 2018

That's not what I meant. The installer is one and the same; it comes from here, and has ABI issues. But the actual compiler binaries should be fine, as I used them to bootstrap our builds for RHEL. I'll check again tomorrow to make sure this hasn't regressed.

You might like to know that the EPEL repository has rust and cargo packages, which should work for both CentOS 7 and RHEL 7. Red Hat also has "rust-toolset-7" in SCL form.

Still, I do want to get the ABI fixed here in rustup, because it's handy for trying out different versions, testing with nightly, etc.

@mati865
Copy link
Contributor

mati865 commented Nov 15, 2018

I think this should be fixed by #1536 which uses CentOS 5 is as base system for i686 and amd64.

@matthiasdiener
Copy link

matthiasdiener commented Feb 27, 2019

For those that are struggling with this issue on ppc64le, I created a gist to bootstrap rust using the binaries for RHEL/CentOS 7: https://gist.github.com/matthiasdiener/335fefd33be707c532a919a2971d6b86

@kinnison
Copy link
Contributor

@matthiasdiener Are you saying that the PR linked above still doesn't fix this for CentOS 7?

@mati865
Copy link
Contributor

mati865 commented Feb 28, 2019

@kinnison that PR fixed it for i686 and amd64 as I said. Other architectures are still hit by this bug.

@matthiasdiener
Copy link

Yes, this is still an issue on RHEL7 ppc64le with the current Rustup version. I also tried all older Rustup versions that I could find, and they also do not run on this system.

@cuviper
Copy link
Member

cuviper commented Feb 28, 2019

I still think the right answer is to reuse rust-lang/rust's images in src/ci/docker.

@mati865
Copy link
Contributor

mati865 commented Feb 28, 2019

Another option would be static linking to musl but I don't know how well it works for non x86 architectures.

@kinnison
Copy link
Contributor

kinnison commented Mar 1, 2019

OK, thank you for that report. @alexcrichton does the suggestion of reusing the rust-lang/rust docker images make sense to you?

@yoni386
Copy link
Author

yoni386 commented Mar 2, 2019

I think I tied that and hit another / same issue.

@yoni386 yoni386 closed this as completed Mar 2, 2019
@matthiasdiener
Copy link

@yoni386 Why did you close this issue? This seems to be still a problem for ppc64le

@yoni386
Copy link
Author

yoni386 commented Mar 2, 2019 via email

@cuviper
Copy link
Member

cuviper commented Mar 4, 2019

@yoni386, only you can control whether you're subscribed to any particular issue, using the Notifications section in the web sidebar, or using the "mute" link in the email footer. Furthermore, only the issue submitter or someone with repo write access can open or close an issue.

I don't have such access, so instead I've opened a new issue: #1681.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants