Re: Is a binary with this libraries portable
- From: John Reiser <jreiser@xxxxxxxxxxxx>
- Date: Thu, 28 Feb 2008 08:17:26 -0800
Well but what is the current state for Desktop users?
It is not uncommon for Desktop users to run some applications on a remote
Server, with DISPLAY= pointing back to their desktop. So the software
environment on that server often matters.
I'm compiling on Ubunto 6.06 Dapper Drake. I think this should be old
enough for most desktop users.
You say that you are satisfied with Linux Standard Base (LSB) 3.2 Desktop.
Therefore, compile and build the applications using the associated Software
Development Kit (SDK) development environment.
At least for them who consider purchasing binary Software. I don't
care about the others.
Then you must be satisfied with the market penetration of LSB 3.2 Desktop.
Fine; just realize that is probably at most 2/3 of the Linux desktops
that will exist by the end of this year.
[snip]
Run "readelf --version-info <executable_program>" to see which GLIBC_* versions
your executables expect. Greater than GLIBC_2.3.2 probably will force you
to distribute libc.so.6 and the other pieces of glibc-2.x.y.
How can i find out about this. I have to say that MSDN is giving very
good information about what function is available on what Version. I really miss
any kind of information about this in the man pages.
"readelf --version-info /lib/libc.so.6" tells you which versions matter,
and how many symbols belong to each version. "readelf --symbols /lib/libc.so.6"
shows you which symbols have which versions. "readelf --symbols my_app" tells
you which version of which symbols my_app depends on. The ChangeLog of each glibc
release, plus the top-level Versions.def source file within the release, gives
the details. But again, LSB 3.2 Desktop and SDK already have taken care of this.
As far as know i'm only using posix and bsd functions. But i guess i
need a good runtime checker.
An application that is built using LSB 3.2 Desktop SDK doesn't need
further checking: it will run in LSB 3.2 Desktop. Regardless, all the checks
can be run statically using readelf. [Except for explicit runtime lookups
which specify a particular symbol version; but anyone clever enough to
use such code already has assumed responsibility for the costs.]
Unfortunately the LSB checker for Ubuntu does not work and there is none
for 3.2 prepackaged. Well 6.06 is far from being LSB compliant anyway.
There is the real opportunity. Either live within [and promote] LSB 3.2 Desktop
(both the benefits and the restrictions), or deal with the reality that LSB 3.2
Desktop is one of many environments competing for attention from users,
administrators, and developers.
--
.
- References:
- Is a binary with this libraries portable
- From: llothar
- Re: Is a binary with this libraries portable
- From: John Reiser
- Re: Is a binary with this libraries portable
- From: llothar
- Is a binary with this libraries portable
- Prev by Date: Re: longjump && re-entrancy
- Next by Date: Re: Benchmarking an IO library
- Previous by thread: Re: Is a binary with this libraries portable
- Index(es):