pythonlinuxunixfreebsdlibrary-path

How to get the system library path on Unix (Linux, FreeBSD)


I need a more-or-less portable programmatic way for querying the dynamic library path list. For Linux, I can concatenate the $LD_LIBRARY_PATH and the contents of /etc/ld.so.conf (processing the include directives as needed and possibly filtering by architecture), but that doesn't work e.g. on FreeBSD.

Ultimately, I need a Python function for doing that. It can call gcc or other external commands if needed.


Solution

  • For both Linux and FreeBSD you can try working through the output of ldconfig(8). The options for listing the libraries are different though (-p on Linux, -r on FreeBSD.) Hope this helps.

    Edit:

    Solaris is different - see man crle.
    Mac OSX is different yet again - see man dyld.