Re: configure checks for python3-notmuch2 module
On Wed, Oct 06 2021, Tomi Ollila wrote: > > So, on Fedora 34, without python3-devel installed > > $ python3 -c 'import cffi,setuptools; cffi.FFI().verify()' > __pycache__/_cffi__xd915627fxd88346ae.c:2:10: fatal error: Python.h: No > such file or directory > 2 | #include > | ^~ > compilation terminated. > > (as of now python3-devel-3.9.7-1.fc34 provides > /usr/include/python3.9/Python.h) > > (debian systems may work differently -- w/ strace the above command > line did not show any access to Python.h...) The reason for the above was probably that something was cached; got exactly the same problem when tried in debian:11 (podman) container w/o libpython3-dev (*) -- and after apt-get install libpython3-dev the above cffi.FFI().verify() worked Tomi (*) executed the following on top of docker.io/library/debian:11 and then ./configure in notmuch source dir... export DEBIAN_FRONTEND=noninteractive apt-get update apt-get install -y -q build-essential emacs-nox gdb git man \ dtach libxapian-dev libgmime-3.0-dev libtalloc-dev \ python3-sphinx python3-cffi python3-pytest \ python3-setuptools gpgsm parallel apt-get -y autoremove apt-get -y clean rm -rf /var/lib/apt/lists/ > >> >> cheers, >> >> d > > Tomi ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Re: configure checks for python3-notmuch2 module
On Wed, Oct 06 2021, David Bremner wrote: > Tomi Ollila writes: > >> >> Have to check how all this behaves on Fedora 34 machine when I >> have access to one (currently away from such machines and from >> power grid also (laptop battery power, which I have to preserve, >> mobile devices gets charged by small solar panels so no problem >> there ;D)) > > Since winter is coming, I hope you are back in civilization :P. Did you > get a chance to try this? Yes, come back -- due to climate change outside temperature is not a problem, just that sun is so low it is hard to get any electricity ;/ -- now I have power and network -- civilization is harder to find... So, on Fedora 34, without python3-devel installed $ python3 -c 'import cffi,setuptools; cffi.FFI().verify()' __pycache__/_cffi__xd915627fxd88346ae.c:2:10: fatal error: Python.h: No such file or directory 2 | #include | ^~ compilation terminated. (as of now python3-devel-3.9.7-1.fc34 provides /usr/include/python3.9/Python.h) (debian systems may work differently -- w/ strace the above command line did not show any access to Python.h...) > > cheers, > > d Tomi ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Re: configure checks for python3-notmuch2 module
Tomi Ollila writes: > > Have to check how all this behaves on Fedora 34 machine when I > have access to one (currently away from such machines and from > power grid also (laptop battery power, which I have to preserve, > mobile devices gets charged by small solar panels so no problem > there ;D)) Since winter is coming, I hope you are back in civilization :P. Did you get a chance to try this? cheers, d ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Re: configure checks for python3-notmuch2 module
On Mon, Jul 12 2021, Michael J. Gruber wrote: > David Bremner venit, vidit, dixit 2021-07-11 23:29:57: >> >> It turns out we need pyconfig.h to build the (new) python bindings. I >> don't think this is adequately checked for by the configure script, >> since I had a Fedora user report a build failure (during make install, >> which I found odd) missing pyconfig.h >> >> On Debian this is on libpython3.x-dev, which is not a dependency of the >> python3-cffi package. > > You need python3-cffi to run python code which uses cffi bindings - > think of it as the "lib" part. You need the devel package to generate a > python module using cffi (i.e. binding for a specific c library). > > So, it makes sense for the lib package not to depend on the devel > package (which is python3-devel on Fedora). > > I can't help with adapting configure to the header requirement, though. In case of python3-devel missing in Fedora, the compilation should not pass as far as shown in David's email (and in log below) as it is needed for Checking for python3 cffi and setuptools... configure part to complete with 'Yes' But the message could be better. Perhaps Checking for python3 dev(el), cffi and setuptools... (although this may not be clear enough for debian users as the package there is libpython3-dev, cannot say...) For me, to figure out what was needed in Fedora 34 (ok, 33, but now tested in upgraded fedora 34 host in running fedora:34 podman container) was to run script -c 'sh -x ./configure'; less typescript; and then do internet search how to install missing 'Python.h' include file... Tomi > > Michael > >> log follows. >> -- >> >> cd bindings/python-cffi && \ >> python3 setup.py build --build-lib build/stage && \ >> mkdir -p build/stage/tests && cp tests/*.py build/stage/tests >> running build >> running build_py >> running build_ext >> generating cffi module 'build/temp.linux-x86_64-3.9/notmuch2._capi.c' >> creating build/temp.linux-x86_64-3.9 >> building 'notmuch2._capi' extension >> creating build/temp.linux-x86_64-3.9/build >> creating build/temp.linux-x86_64-3.9/build/temp.linux-x86_64-3.9 >> gcc -pthread -Wno-unused-result -Wsign-compare >> -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -fexceptions -g >> -grecord-gcc-switches -pipe -Wall -Werror=format-security >> -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong >> -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection >> -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g >> -grecord-gcc-switches -pipe -Wall -Werror=format-security >> -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong >> -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection >> -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g >> -grecord-gcc-switches -pipe -Wall -Werror=format-security >> -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong >> -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection >> -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I../../lib >> -I/usr/include/python3.9 -c build/temp.linux-x86_64-3.9/notmuch2._capi.c -o b > ui >> ld/temp.linux-x86_64-3.9/build/temp.linux-x86_64-3.9/notmuch2._capi.o >> build/temp.linux-x86_64-3.9/notmuch2._capi.c:50:14: fatal error: pyconfig.h: >> No such file or directory >>50 | #include >> | ^~~~ >> compilation terminated. >> error: command '/usr/bin/gcc' failed with exit code 1 ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Re: configure checks for python3-notmuch2 module
On Sun, Jul 11 2021, David Bremner wrote: > It turns out we need pyconfig.h to build the (new) python bindings. I > don't think this is adequately checked for by the configure script, > since I had a Fedora user report a build failure (during make install, > which I found odd) missing pyconfig.h > > On Debian this is on libpython3.x-dev, which is not a dependency of the > python3-cffi package. > > log follows. > -- > > cd bindings/python-cffi && \ > python3 setup.py build --build-lib build/stage && \ > mkdir -p build/stage/tests && cp tests/*.py build/stage/tests > running build > running build_py > running build_ext > generating cffi module 'build/temp.linux-x86_64-3.9/notmuch2._capi.c' > creating build/temp.linux-x86_64-3.9 > building 'notmuch2._capi' extension > creating build/temp.linux-x86_64-3.9/build > creating build/temp.linux-x86_64-3.9/build/temp.linux-x86_64-3.9 > gcc -pthread -Wno-unused-result -Wsign-compare > -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -fexceptions -g > -grecord-gcc-switches -pipe -Wall -Werror=format-security > -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong > -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection > -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g > -grecord-gcc-switches -pipe -Wall -Werror=format-security > -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong > -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection > -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g > -grecord-gcc-switches -pipe -Wall -Werror=format-security > -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong > -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection > -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I../../lib > -I/usr/include/python3.9 -c build/temp.linux-x86_64-3.9/notmuch2._capi.c -o b ui > ld/temp.linux-x86_64-3.9/build/temp.linux-x86_64-3.9/notmuch2._capi.o > build/temp.linux-x86_64-3.9/notmuch2._capi.c:50:14: fatal error: pyconfig.h: > No such file or directory >50 | #include > | ^~~~ > compilation terminated. > error: command '/usr/bin/gcc' failed with exit code 1 While me trying (Fedora 34 .. ooh no, 33 (but anyway ;D)): $ ./configure ... Checking for python3 cffi and setuptools... No (will not install CFFI-based python bindings). ... OK, why -- I do have cffi and setuptools python packages installed ..so: $ script -c 'sh -x ./configure' reveals (after trying w/ python 3.9 repl) that cffi.FFI().verify() fails due to missing Python.h... let's hunt (again, I recall solving this like a year ago or so..) ... apparently python3-devel needed. $ sudo dnf install python3-devel $ make distclean $ ./configure --prefix=$PWD/TTT $ make $ make install ... hmm all worked pyconfig.h is part of python3-devel package Have to check how all this behaves on Fedora 34 machine when I have access to one (currently away from such machines and from power grid also (laptop battery power, which I have to preserve, mobile devices gets charged by small solar panels so no problem there ;D)) Tomi ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
Re: configure checks for python3-notmuch2 module
David Bremner venit, vidit, dixit 2021-07-11 23:29:57: > > It turns out we need pyconfig.h to build the (new) python bindings. I > don't think this is adequately checked for by the configure script, > since I had a Fedora user report a build failure (during make install, > which I found odd) missing pyconfig.h > > On Debian this is on libpython3.x-dev, which is not a dependency of the > python3-cffi package. You need python3-cffi to run python code which uses cffi bindings - think of it as the "lib" part. You need the devel package to generate a python module using cffi (i.e. binding for a specific c library). So, it makes sense for the lib package not to depend on the devel package (which is python3-devel on Fedora). I can't help with adapting configure to the header requirement, though. Michael > log follows. > -- > > cd bindings/python-cffi && \ > python3 setup.py build --build-lib build/stage && \ > mkdir -p build/stage/tests && cp tests/*.py build/stage/tests > running build > running build_py > running build_ext > generating cffi module 'build/temp.linux-x86_64-3.9/notmuch2._capi.c' > creating build/temp.linux-x86_64-3.9 > building 'notmuch2._capi' extension > creating build/temp.linux-x86_64-3.9/build > creating build/temp.linux-x86_64-3.9/build/temp.linux-x86_64-3.9 > gcc -pthread -Wno-unused-result -Wsign-compare > -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -fexceptions -g > -grecord-gcc-switches -pipe -Wall -Werror=format-security > -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong > -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection > -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g > -grecord-gcc-switches -pipe -Wall -Werror=format-security > -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong > -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection > -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g > -grecord-gcc-switches -pipe -Wall -Werror=format-security > -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong > -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection > -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I../../lib > -I/usr/include/python3.9 -c build/temp.linux-x86_64-3.9/notmuch2._capi.c -o b ui > ld/temp.linux-x86_64-3.9/build/temp.linux-x86_64-3.9/notmuch2._capi.o > build/temp.linux-x86_64-3.9/notmuch2._capi.c:50:14: fatal error: pyconfig.h: > No such file or directory >50 | #include > | ^~~~ > compilation terminated. > error: command '/usr/bin/gcc' failed with exit code 1 > ___ > notmuch mailing list -- notmuch@notmuchmail.org > To unsubscribe send an email to notmuch-le...@notmuchmail.org ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org
configure checks for python3-notmuch2 module
It turns out we need pyconfig.h to build the (new) python bindings. I don't think this is adequately checked for by the configure script, since I had a Fedora user report a build failure (during make install, which I found odd) missing pyconfig.h On Debian this is on libpython3.x-dev, which is not a dependency of the python3-cffi package. log follows. -- cd bindings/python-cffi && \ python3 setup.py build --build-lib build/stage && \ mkdir -p build/stage/tests && cp tests/*.py build/stage/tests running build running build_py running build_ext generating cffi module 'build/temp.linux-x86_64-3.9/notmuch2._capi.c' creating build/temp.linux-x86_64-3.9 building 'notmuch2._capi' extension creating build/temp.linux-x86_64-3.9/build creating build/temp.linux-x86_64-3.9/build/temp.linux-x86_64-3.9 gcc -pthread -Wno-unused-result -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -fPIC -I../../lib -I/usr/include/python3.9 -c build/temp.linux-x86_64-3.9/notmuch2._capi.c -o bui ld/temp.linux-x86_64-3.9/build/temp.linux-x86_64-3.9/notmuch2._capi.o build/temp.linux-x86_64-3.9/notmuch2._capi.c:50:14: fatal error: pyconfig.h: No such file or directory 50 | #include | ^~~~ compilation terminated. error: command '/usr/bin/gcc' failed with exit code 1 ___ notmuch mailing list -- notmuch@notmuchmail.org To unsubscribe send an email to notmuch-le...@notmuchmail.org