mod_wsgi icon indicating copy to clipboard operation
mod_wsgi copied to clipboard

invalid-looking DT_RUNPATH: /usr/lib64/python3.12/config

Open hroncok opened this issue 6 months ago • 1 comments

Hello. When building mod_wsgi in CentOS Stream fro the Python 3.12 stack, rpminspect told us that:

/usr/lib64/python3.12/site-packages/mod_wsgi/server/mod_wsgi-py312.cpython-312-x86_64-linux-gnu.so has an invalid-looking DT_RUNPATH on x86_64: /usr/lib64/python3.12/config

This is indeed suspicious, there is no /usr/lib64/python3.12/config and there never was such a directory in Python 3. I only see this on Python 2.7. In other words, /usr/lib64/python2.7/config exists, but /usr/lib64/python3.X/config does not (at least since 3.6). The path on x86_64 Linux is /usr/lib64/python3.12/config-3.12-x86_64-linux-gnu/

This suspicious path originates in:

https://github.com/GrahamDumpleton/mod_wsgi/blob/f54eadd6da8e3da0faccd497d4165de435b97242/setup.py#L296

Later it is amended:

https://github.com/GrahamDumpleton/mod_wsgi/blob/f54eadd6da8e3da0faccd497d4165de435b97242/setup.py#L298-L301

However, this amendment would only make it /usr/lib64/python3.12/config-3.12-linux/ and it is guarded by the if that is False (unless building a debug build etc.).

I don't know why this value is even needed in PYTHON_LDFLAGS, PYTHON_LDLIBS and LD_RUN_PATHS. However, if you really want it, I found it in sysconfig.get_config_var("LIBPL") (on Python 2.7 and 3.6+).

hroncok avatar Jan 15 '24 11:01 hroncok