What is the best way to identify precompiled binary dependencies (in particular with regard to the characters and versions of glibc and libstdc ++), and then make sure that the target system is installed?
I have a limitation in that I cannot provide the source code for compilation on each machine (restriction on the employer), so the defacto answer “compiling on each machine for compatibility” does not work. I also do not want to provide statically compiled binaries - → it seems very important to use a hammer to open an egg.
I examined a number of approaches that loosely focus on defining the symbols / libraries that my executable / library needs to execute using commands such as ldd -v </path/executable>
or objdump -x </path/executable> | grep UND
and then somehow run the command on the target system to check if such symbols, libraries and version (not quite exactly how am I doing this step?). This is then followed by some pattern matching or character matching to ensure the correct version or more.
Nevertheless, I feel that this has already been done to a large extent for me, and I suffer from ... a “knowledge gap”? about how it is being implemented.
Any thoughts / suggestions on how to proceed?
I must add that this is intended to install my software on a wide variety of Linux distributions - in particular, configured clusters that may not comply with distribution rules or standardized packaging methods. The goal is a smooth installation.
source
share