Is Linux Standard Base (LSB) AppChecker reliable?

348 views Asked by At

According to the LSB scanner, my binary is supposedly incompatible with a specific version of Linux because it uses GBLICXX_3.4.9 symbols. But when I tried to run the binary myself on that version, everything seems to work fine...

Can a binary even start on a Linux distro if that distro is missing the runtime libraries containing the required symbols?

2

There are 2 answers

0
javier-sanz On BEST ANSWER

I don't know if I've understood well the question but as far as I know even though you have compiled your program with a modern glibc does not necessarily mean that you won't be able to execute into an older version. The next Linux command:

objdump -T "your exe or lib file" | grep GLIB

will show you which version of the glibc the symbols of your program belong to.

For further information there is a paper called How to write shared libraries by Ulrich Drepper that explains a lot of things of how symbols work in linux not only for shared libraries but also for executables

1
Eric Seppanen On

I suspect they're warning you that you're using symbols that, even if they are available on your test system, may not be available on all LSB-compliant systems.