[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

How to force the path of a lib ?

Le 23/01/19 ? 13:11, Neal Becker a ?crit?:
> dieter wrote:
>> Vincent Vande Vyvre <vincent.vande.vyvre at telenet.be> writes:
>> .....

>> To load external C/C++ shared objects, the dynamic lickage loader
>> (ldd) is used. "ldd" does not look at Pthon's "sys.path".
>> Unless configured differently, it looks at standard places
>> (such as "/usr/lib/x86_64-linux-gnu").
>> You have several options to tell "ldd" where to look for
>> shared objects:
>>   * use the envvar "LD_LIBRARY_PATH"
>>     This is a "path variable" similar to the shell's "PATH",
>>     telling the dynamic loader in which directories (before
>>     the standard ones) to look for shared objects
>>   * use special linker options (when you link your Python
>>     extension shared object) to tell where dependent shared
>>     object can be found.
> To follow up on that last point, look up --rpath and related.
Trying the first solution with "export 
LD_LIBRARY_PATH=/home/vincent/CPython/py370_venv/lib" has no effect.

The second solution is better, after looking de doc of 
distutils.core.Extension I've added this line into my setup.py
 ??? Extension('libexiv2python',
 ??????? ...,
 ??????? ...

rebuild, install and test
Type "help", "copyright", "credits" or "license" for more information.
 >>> import pyexiv2


Many thanks,