Re: configure checks for python3-notmuch2 module

2021-10-06 Thread Tomi Ollila
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

2021-10-06 Thread Tomi Ollila
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

2021-10-06 Thread David Bremner
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

2021-07-25 Thread Tomi Ollila
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

2021-07-15 Thread Tomi Ollila
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

2021-07-12 Thread Michael J Gruber
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

2021-07-11 Thread David Bremner


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