Mats wrote:

> First off, yes... everything you see above is "as expected". The LSB 
> libraries in /opt/lsb
> are link-time only libraries; you would expect that your target system's 
> run-time copies
> would contain the multiple versions. It is by this very trick (only one 
> symbol version in
> LSB stubs) that building to "a specific LSB version" is made to request the 
> appropriate
> symbol versions for that binary.

OK, but it seems I have been suffering from a significant misunderstanding of 
LSB inter-version compatibility. LSB 3.x applications are supported on LSB 4.x, 
5.x and 6.x (when it happens) systems. However, linking this example 
LSB-3.1-built DSO into an LSB 5.0 application does not work, because the linker 
checks for all the symbols used by the DSO and fails to find one of them in the 
LSB 5.0 link-time-only libraries.

Are there meant to be any promises about DSOs built with older LSB versions 
being usable in later ones? Or are the promises all in terms of complete 
applications? I'm used to development tool suppliers not considering this kind 
of situation.

> For browsing the story about symbol versioning and inclusion in LSB versions, 
> use the LSB
> Navigator, https://linuxbase.org/navigator

I think you've misunderstood me. I'm looking for an introduction to how Linux 
symbol versioning works, and in particular, what the difference between "@" and 
"@@" means, for "memcpy@GLIBC_2.2.5" and "memcpy@@GLIBC_2.2.5"

> There's another issue to explore: I don't actually expect to see this problem 
> unless your
> shared library is explicitly linked against libc, as otherwise it should not 
> have symbol
> versions bound into it; but I don't have time to pursue that just now.

I'll experiment with that.

thanks,

--
John Dallman


-----------------
Siemens Industry Software Limited is a limited company registered in England 
and Wales.
Registered number: 3476850.
Registered office: Faraday House, Sir William Siemens Square, Frimley, Surrey, 
GU16 8QD.
_______________________________________________
lsb-discuss mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/lsb-discuss

Reply via email to