Skip to content
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

Gcc 13 : GLIBCXX_3.4.32 not found... when using docker run --gpus all #99

Open
chavid opened this issue Jul 31, 2023 · 1 comment
Open

Comments

@chavid
Copy link

chavid commented Jul 31, 2023

Hi.

I usually add --gpus all when starting a gcc docker image, so to grant access to my NVidia card. Starting with the 13.1, and now 13.2 release of gcc, I observe that the presence of --gpus all prevents from running the simplest hello_world.cpp program:

/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by ./hello_world.exe)

Some ldd inspection on hello_world.exe shows that without --gpus all, the need with the dynamic library libstdc++.so.6 is correctly solved to /usr/local/lib64/libstdc++.so.6. But when the container is started with --gpus all, this is wrongly solved to /usr/lib/x86_64-linux-gnu/libstdc++.so.6.

Any explanation and fix ?

@tianon
Copy link
Member

tianon commented Dec 12, 2023

Sorry for the delay! I think --gpus injects extra things into the container (perhaps NVIDIA shared libraries, for example?) that might cause conflicts, especially with an image like this one that already has version conflicts on libraries like libstdc++ given the nature of the image. I'd suggest you're probably better off being FROM debian:xxx or FROM buildpack-deps:xxx if you just need GCC for compiling applications and don't actually need a specific version of GCC.

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

2 participants