This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Title: Building with a located outside the search path fails
Type: compile error Stage:
Components: Extension Modules Versions: Python 3.9, Python 3.8, Python 3.7
Status: open Resolution: not a bug
Dependencies: Superseder:
Assigned To: Nosy List: mjpieters
Priority: normal Keywords:

Created on 2020-05-16 15:27 by mjpieters, last changed 2022-04-11 14:59 by admin.

Messages (3)
msg369054 - (view) Author: Martijn Pieters (mjpieters) * Date: 2020-05-16 15:27
This issue goes back a long time. The libreadline handling in the modules doesn't add the location of the readline library to the runtime library paths:

    self.add(Extension('readline', ['readline.c'],

This requires the readline library to have been added to a traditional location or has taken care of either or LD_LIBRARY_PATH.

I'm building a series of Python binaries with a custom `--prefix` where I also installed a local copy of readline (so both are configured with the same prefix), and while finds the correct library, importing the compiled result fails because no `RPATH` is set.

This could be fixed by adding the parent path of the located `libreadline` shared library as a `runtime_library_dirs` entry:

    readline_libdirs = None
    if do_readline not in self.lib_dirs:
        readline_libdirs = [

    self.add(Extension('readline', ['readline.c'],
msg369055 - (view) Author: Martijn Pieters (mjpieters) * Date: 2020-05-16 15:46
Actually, this won't do it either, as `self.lib_dirs` already contains the --prefix.

Clearly, I just need to add -R=${PREFIX}/lib to CPPFLAGS.
msg369057 - (view) Author: Martijn Pieters (mjpieters) * Date: 2020-05-16 15:54
Last but not least, this is essentially a duplicate of
Date User Action Args
2022-04-11 14:59:31adminsetgithub: 84827
2020-05-16 15:54:44mjpieterssetmessages: + msg369057
2020-05-16 15:46:11mjpieterssetresolution: not a bug
messages: + msg369055
2020-05-16 15:27:30mjpieterscreate