I am loading a core file into GDB inside a docker container with alpine linux. Initially my gdb complained about binary not found, then i followed this discussion gdb During sta
binary runs on a production host where the libraries are in the path I am running the binary on a development host by setting the solib-search-path
There is your problem right here.
The solib-search-path
is the path where GDB will look for libraries.
In no way does that setting affect the binary itself, which uses either standard system library path, compiled-in DT_RPATH
, or LD_LIBRARY_PATH
environment variable to search for shared libraries.
Usually, solib-search-path
should only be set when you are analyzing a core dump that came from some other host (GDB needs access to the exact libraries that were used when the core dump was generated). Setting solib-search-path
while running a local binary should never be ncessary -- GDB can automatically deduce where the libraries are by asking the runtime loader where they are.
ldd binary says libraries not found which is expected since this is a development host
If ldd
says that, then of course you will not be able to run the binary (inside of outside GDB).