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

Missing symbols related to memory management #157

Closed
jivanpal opened this issue Apr 28, 2021 · 1 comment
Closed

Missing symbols related to memory management #157

jivanpal opened this issue Apr 28, 2021 · 1 comment

Comments

@jivanpal
Copy link

Hello, I am trying to run a program pre-compiled from Rust that requires glibc, under Alpine in a Docker container. The program is Helium wallet v1.5.4.

Under Alpine 3.11.6, installing your glibc-2.33-r0 and then running the program (wallet) outputs:

./wallet: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory

And ldd wallet outputs:

        /lib64/ld-linux-x86-64.so.2 (0x7f9675163000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x7f967488f000)
        libpthread.so.0 => /lib64/ld-linux-x86-64.so.2 (0x7f9675163000)
        libm.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7f9675163000)
        libdl.so.2 => /lib64/ld-linux-x86-64.so.2 (0x7f9675163000)
        libc.so.6 => /lib64/ld-linux-x86-64.so.2 (0x7f9675163000)
        ld-linux-x86-64.so.2 => /lib/ld-linux-x86-64.so.2 (0x7f967485c000)
Error relocating /lib/ld-linux-x86-64.so.2: unsupported relocation type 37
Error relocating wallet: __memcpy_chk: symbol not found
Error relocating wallet: __register_atfork: symbol not found
Error relocating wallet: __explicit_bzero_chk: symbol not found
Error relocating wallet: __res_init: symbol not found

Does that mean these symbols need to be implemented? Is there any timeline for this?

Thanks and regards

@sgerrand
Copy link
Owner

sgerrand commented May 8, 2021

Hi there. The missing shared library you referenced, libgcc_s.so.1, was used during the compilation of the executable file wallet that you're using. It is not provided with the glibc package.

If you want to use one or more files on Alpine Linux which were compiled on a glibc based operating system, then you are responsible for ensuring that all of the shared libraries they need are available at runtime. I am unable to help you with this process.

Sorry that I can't be of more help, but this package was created as a convenience method. It's still provided as such. The caveat is that you will need advanced knowledge of the program you're trying to run in order to do so.

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