Python.h quirk
Hal Murray
hmurray at megapathdsl.net
Sun Sep 22 08:34:47 UTC 2019
esr at thyrsus.com said:
> The problem, of course, is that the Python 2 and Python3 development package
> both want to own Python.h, and the name is not versioned.
They are in different directories. The version number is in the directory.
[murray at hgm raw]$ locate Python.h
/usr/include/python2.7/Python.h
/usr/include/python3.7m/Python.h
[murray at hgm raw]$
I don't know what the "m" in "3.7m" is for.
waf sets things up with a --I/usr/include/python2.7 and -lpython2.7
[murray at hgm raw]$ ldd ./build/main/pylib/ntpc.cpython-37m-x86_64-linux-gnu.so
linux-vdso.so.1 (0x00007ffc5e173000)
libpython2.7.so.1.0 => /lib64/libpython2.7.so.1.0 (0x00007faec6933000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007faec6912000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007faec690c000)
libutil.so.1 => /lib64/libutil.so.1 (0x00007faec6907000)
libm.so.6 => /lib64/libm.so.6 (0x00007faec67c1000)
librt.so.1 => /lib64/librt.so.1 (0x00007faec67b7000)
libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x00007faec64d4000)
libc.so.6 => /lib64/libc.so.6 (0x00007faec630e000)
/lib64/ld-linux-x86-64.so.2 (0x00007faec6bcd000)
libz.so.1 => /lib64/libz.so.1 (0x00007faec62f4000)
[murray at hgm raw]$
It works if I say:
python3 ./waf ...
Seems like a simple bug in waf. It's getting the version info from the command line argument rather than asking the running python what version it is. Or something like that.
--
These are my opinions. I hate spam.
More information about the devel
mailing list