Project Panama & dynamic library loading
Samuel Audet
samuel.audet at gmail.com
Sun Sep 15 13:00:50 UTC 2019
The soname that the OS cares about is in the file itself, not the
filename. Check with `readelf -d`, or `objdump -p`, etc to make sure
you're actually loading what you think you're loading. The soname might
have a version and that's what the OS will consider as the library name.
The runtime will search the path for files that have that as filename,
but once loaded, whether it matches the filename or not doesn't matter.
If jextract cares about the filename on Linux, you'll run into problems
when there's a mismatch between the two. Windows is different in that
regard...
On 9/15/19 9:13 PM, Ty Young wrote:
>
> On 9/15/19 6:59 AM, Maurizio Cimadamore wrote:
>>
>> On 15/09/2019 12:27, Ty Young wrote:
>>> The only difference between the two distros is a ".0" soname at the
>>> end on Ubuntu vs. none on Arch Linux*. Could that be the reason?
>>
>> I had issues with soname in the past. Would it be possible, as a means
>> of an experiment to try and copy the library stripped of the .0 suffix?
>>
>
> Yep. Tried it on a USB live boot of Pop!_OS 19.10 and it stops
> complaining about NvXCtrl.
>
>
> ...Then it starts complaining about nvidia-ml not existing but the
> library names are 100% the same with paths only being different. There
> is libnvidia-ml.so, libnvidia-ml.so.0, and
> libnvidia-ml.so.<DRIVER_VERSION> on both Ubuntu and Arch.
>
>
>> Maurizio
>>
More information about the panama-dev
mailing list