Overview

Request 839768 accepted

Tomáš, have a look at this iteration, please.



Tomáš Chvátal's avatar

Also you need to pass our variables to the cmake it seems, see how I had to tweak it up for python-onnx, it is bit tougher. General gist is to not run the buildsystems using the setup.py <whatever> but prepare them in advance and then just let setup.py to utilize them.


Hans-Peter Jansen's avatar
author source maintainer target maintainer

Hi Tomáš, thanks for the comments.

I've analyzed the cmake build thoroughly and I cannot see the need to run this manually. All it does is redirecting the output to a "cpp" subfolder in the python module build folder.

I've added a patch to use the system pybind11 and some tweaks to have a verbose build. Consequently, pybind11 is excluded from _service (that I would like to keep for the sake of flexibility). That reduced the source tarball by ~400k.

Could you check the build log with the new builds, please. From my POV, that should work with multiple pythons as well.


Tomáš Chvátal's avatar

The requirement is to use suse provided compiler flags which setup.py build is not doing. That by default is not fatal but hides issues and loses some of the hardening we enforce. Thats why it needs to be done separately.

Also saving 400 kb and using services instead of the tarball that is handy is still kinda pointless.


Hans-Peter Jansen's avatar
author source maintainer target maintainer

Well, as written, it does take the CXXFLAGS into account. I've enabled verbose builds to check for that fact. Okay, here's an excerpt (from a 15.2 build):

/usr/bin/c++ -Dembedded_file_EXPORTS -isystem /usr/include/python3.6m -isystem /usr/include/poppler/cpp -isystem /usr/include/poppler -fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -g -DVERSION_INFO=\"0.2.2\" -g -fPIC -fvisibility=hidden -std=c++14 -o CMakeFiles/embedded_file.dir/src/cpp/embedded_file.cpp.o -c /home/abuild/rpmbuild/BUILD/python-poppler-0.2.2/src/cpp/embedded_file.cpp

As you can see, the usual compile flags are provided.

Again, the tarball still doesn't contain unit tests, but note, that exactly activating these tests has revealed a pretty severe reference vanished/garbage collector issue last week, resulting in segfaults. These segfaults didn't occur, if the unit tests were executed with the very same module installed (outside the build environment), that failed the build before...

Please see https://github.com/cbrunet/python-poppler/issues/19 for all the gory details.

If you insist in removing the disabled service, I'm going to revoke this request.

Request History
Hans-Peter Jansen's avatar

frispete created request

Tomáš, have a look at this iteration, please.


Matej Cepl's avatar

mcepl accepted request

Thank you very much.

openSUSE Build Service is sponsored by