Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1706351 - pybind11 FTBFS with Python 3.8
Summary: pybind11 FTBFS with Python 3.8
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: pybind11
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
Assignee: Susi Lehtola
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: F32FTBFS F32FailsToInstall PYTHON38 1736511 1742336 1747051 1747732 1747880
TreeView+ depends on / blocked
 
Reported: 2019-05-04 11:53 UTC by Charalampos Stratakis
Modified: 2019-09-20 10:13 UTC (History)
3 users (show)

Fixed In Version: pybind11-2.4.1-1.fc32
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-09-20 10:13:31 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Full log from Copr (227.86 KB, text/plain)
2019-05-04 11:53 UTC, Charalampos Stratakis
no flags Details
Full log from Copr (2.2.4-4.fc31) (229.33 KB, text/plain)
2019-05-04 16:00 UTC, Miro Hrončok
no flags Details

Description Charalampos Stratakis 2019-05-04 11:53:03 UTC
Created attachment 1563119 [details]
Full log from Copr

pybind11-2.2.4-3 fails to build with Python 3.8:

============================= test session starts ==============================
platform linux -- Python 3.8.0a3, pytest-4.4.1, py-1.8.0, pluggy-0.9.0
rootdir: /builddir/build/BUILD/pybind11-2.2.4/tests, inifile: pytest.ini
INTERNALERROR> Traceback (most recent call last):
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/_pytest/main.py", line 209, in wrap_session
INTERNALERROR>     session.exitstatus = doit(config, session) or 0
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/_pytest/main.py", line 248, in _main
INTERNALERROR>     config.hook.pytest_collection(session=session)
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/pluggy/hooks.py", line 289, in __call__
INTERNALERROR>     return self._hookexec(self, self.get_hookimpls(), kwargs)
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 68, in _hookexec
INTERNALERROR>     return self._inner_hookexec(hook, methods, kwargs)
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 59, in <lambda>
INTERNALERROR>     self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 208, in _multicall
INTERNALERROR>     return outcome.get_result()
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 80, in get_result
INTERNALERROR>     raise ex[1].with_traceback(ex[2])
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 187, in _multicall
INTERNALERROR>     res = hook_impl.function(*args)
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/_pytest/main.py", line 258, in pytest_collection
INTERNALERROR>     return session.perform_collect()
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/_pytest/main.py", line 495, in perform_collect
INTERNALERROR>     self.config.pluginmanager.check_pending()
INTERNALERROR>   File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 248, in check_pending
INTERNALERROR>     raise PluginValidationError(
INTERNALERROR> pluggy.manager.PluginValidationError: unknown hook 'pytest_namespace' in plugin <module 'conftest' from '/builddir/build/BUILD/pybind11-2.2.4/tests/conftest.py'>

This was discovered during the Python 3.8 mass scratch rebuild, however it seems to be more related to pytest 4. There is already an upstream fix for that.

https://github.com/pybind/pybind11/commit/e7ef34f23f194cfa40bdbf967c6d34712261a4ee

Full log attached

Comment 1 Susi Lehtola 2019-05-04 12:11:53 UTC
I fixed this yesterday in 2.2.4-3 as per my email. I don't know what you've built, but it's not 2.2.4-3, since it is missing patch #2 that fixed the issue. It is applied in yesterday's mock build at

https://kojipkgs.fedoraproject.org//packages/pybind11/2.2.4/3.fc31/data/logs/x86_64/build.log

Comment 2 Miro Hrončok 2019-05-04 15:59:04 UTC
Most recent failure based on https://src.fedoraproject.org/rpms/pybind11/c/04f97519232834d23a26f1faf5f31a48049a291f?branch=master

https://copr-be.cloud.fedoraproject.org/results/@python/python3.8/fedora-rawhide-x86_64/00903558-pybind11/builder-live.log

=================================== FAILURES ===================================
_______________________________ test_enum_to_int _______________________________

    def test_enum_to_int():
>       m.test_enum_to_int(m.Flags.Read)
E       TypeError: test_enum_to_int(): incompatible function arguments. The following argument types are supported:
E           1. (arg0: int) -> None
E       
E       Invoked with: Flags.Read

test_enum.py:116: TypeError
=========================== short test summary info ============================

Comment 3 Miro Hrončok 2019-05-04 16:00:08 UTC
Created attachment 1563333 [details]
Full log from Copr (2.2.4-4.fc31)

Comment 4 Miro Hrončok 2019-07-10 11:25:27 UTC
Please respond.

Comment 5 Miro Hrončok 2019-07-10 12:52:59 UTC
There is s till a test failure:

_______________________________ test_enum_to_int _______________________________

    def test_enum_to_int():
>       m.test_enum_to_int(m.Flags.Read)
E       TypeError: test_enum_to_int(): incompatible function arguments. The following argument types are supported:
E           1. (arg0: int) -> None
E       
E       Invoked with: Flags.Read

test_enum.py:156: TypeError

For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/@python/python3.8/fedora-rawhide-x86_64/00967066-pybind11/

For all our attempts to build python-ipyparallel with Python 3.8, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.8/package/pybind11/

Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.8:
https://copr.fedorainfracloud.org/coprs/g/python/python3.8/

Let us know here if you have any questions, and please don't just CLOSE this.

Comment 6 Miro Hrončok 2019-07-10 12:53:40 UTC
s/python-ipyparallel/pybind11/

Comment 7 Susi Lehtola 2019-07-11 09:42:23 UTC
Apologies - I've been extremely overworked with my main job and have found very little time for my Fedora hobby.

(In reply to Charalampos Stratakis from comment #0)
> This was discovered during the Python 3.8 mass scratch rebuild, however it
> seems to be more related to pytest 4. There is already an upstream fix for
> that.
> 
> https://github.com/pybind/pybind11/commit/
> e7ef34f23f194cfa40bdbf967c6d34712261a4ee

The patch was included in the first rebuild, so it did not solve the issue.

Also, apparently I did report this upstream back in May,
 https://github.com/pybind/pybind11/issues/1780
but the ticket has had no action.

Comment 8 Ben Cotton 2019-08-13 16:58:01 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle.
Changing version to '31'.

Comment 9 Ben Cotton 2019-08-13 19:03:27 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 31 development cycle.
Changing version to 31.

Comment 10 Miro Hrončok 2019-08-14 22:24:17 UTC
The coordinated rebuild of Python 3.8 has started in the `f32-python` side tag.

If you figure out how to rebuild this package, please don't rebuild it in regular rawhide, but use the side tag instead:

    on branch master:
    $ fedpkg build --target=f32-python

To wait for a build to show up in the side tag, do:

    $ koji wait-repo f32-python --build=<nvr>

Where <nvr> is name-version-release of the source package, e.g. python-foo-1.1-2.fc32.

An updated mock config is posted at:
http://copr.fedorainfracloud.org/coprs/g/python/python3.8/

Note that it will take a while before the essential packages are rebuilt, so don't expect all your dependencies to be available right away.

Thanks. Let us know if you need up to date info, or if you have any questions.



PS this message is mass posted to all the bugs that block the PYTHON38 bug. If this is also a Fedora 31 FTBFS bug and you manage to fix it, you can do a f31 build as usual:

    on branch f31:
    $ fedpkg build

Comment 11 Miro Hrončok 2019-08-21 16:34:31 UTC
The f32-python side tag has been merged. In order to rebuild the package, do it in regular rawhide, but please wait until python3-3.8 is tagged:

  $ koji wait-repo f32-build --build python3-3.8.0~b3-3.fc32


If your built already started in f32-python, after it is finished, please tag it to rawhide with:

  $ koji tag-build f32-pending <nvr>

For example:

  $ koji tag-build f32-pending libreoffice-6.3.0.4-3.fc32

Thanks!

(This comment is mass posted to all bugzillas blocking the PYTHON38 tracking bug.)

Comment 12 Miro Hrončok 2019-08-21 17:29:05 UTC
(Python 3.8 has landed in the rawhide buildroot.)

Comment 13 Zdenek Dohnal 2019-09-18 07:46:08 UTC
Adding https://bugzilla.redhat.com/show_bug.cgi?id=1747732 into bugs blocked by this bugzilla. I would like to do rebase of qpdf package, but dependent python-pikepdf fails to build because of pybind11 issue.


Note You need to log in before you can comment on or make changes to this bug.