gdbgui
gdbgui copied to clipboard
running on server - cannot find Python libraries
Trying to run on a centOS cluster so I can debug remotely.
I get this error message"
[26450] Error loading Python lib '/tmp/_MEIP9PeGa/libpython3.6m.so.1.0': dlopen: /lib64/libc.so.6: version `GLIBC_2.25' not found (required by /tmp/_MEIP9PeGa/libpython3.6m.so.1.0)
I tried flags -n -h -r. Is there a way to specify the path of shared libraries? I have the python module loaded.
Thanks
Hi you can try this. https://unix.stackexchange.com/questions/168340/where-is-ld-library-path-how-do-i-set-the-ld-library-path-env-variable
thanks for the suggestion, I have tried the solutions in those answers. However I see that my LD_LIBRARY_PATH already includes the path to the Python folder. I'm not sure why gdbgui is looking into this folder '/tmp/_MEI0LdAYr/libpython3.6m.so.1.0'. Could this have something to do with the way you have compiled the binary?
Looks like it needs /lib64 on LD_LIBRARY_PATH.
If you are running a binary from gdbgui.com, that binary was built from pyinstaller. pyinstaller is a 3rd party tool that gdbgui uses to build binaries from the python code.
It extracts a folder to a temporary directory (often to /tmp), then runs it from there. pyinstaller may not be working well on your system for some reason.
Another way to install and run gdbgui would be with pipx, or pip which does not use the /tmp directory in the same way as pyinstaller.
note: a similar issue was featured in the https://github.com/VSCodium/vscodium/issues/521 and solvable by creating the binaries in a container that uses an older OS (in this case ubuntu 14.04 was used, leading to both "old" and "new" OS being able to run the binary). @cs01 I haven't checked - how are the binaries created for gdbgui? If "on the dev machine" is the answer - could you do this on a container or VM?
It used to be in a Docker container but was recently switched to use GitHub Actions. https://github.com/cs01/gdbgui/blob/master/.github/workflows/build_executable.yml
I see, the oldest OS GitHub currently features seems to be ubuntu-16.04 which may be still "to new" for some environments but at least (seems) to run with GLIBC 2.23 which is only a bit better.
According to https://github.com/actions/virtual-environments/pull/714 the correct way to use an Ubuntu 14.04 with GitHub actions is to create a docker action, maybe that's something that can be additionally included (would also allow to build+test with alpine and debian) and the result used for the release binary (or an additional release binary)?
Yes that could be added to the github actions. If you want to set up an additional OS and docker build I would be open to a PR.
As i have exactly zero knowledge on GitHub actions and nearly zero on Docker I'm not the right person for that, but maybe someone else can get down to this ... someday.
It used to be in a Docker container ...
Do you have "something" on this topic (old build instructions, deleting commits, ...? Providing that is likely useful in creating this environment.
Haha no worries. Here is the commit where the Docker code was removed, https://github.com/cs01/gdbgui/commit/c7ce34d25ae75669bafbd1e0c832b05e06069a1c. See the file docker/linux/Dockerfile and docker/linux/entrypoint.sh.
I am no Docker expert either though, so I'd probably just Duck Duck Go everything.