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 1708136
Summary: | python-pyrsistent fails to build with Python 3.8 | ||||||
---|---|---|---|---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Miro Hrončok <mhroncok> | ||||
Component: | python-pyrsistent | Assignee: | Itamar Reis Peixoto <itamar> | ||||
Status: | CLOSED NOTABUG | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
Severity: | high | Docs Contact: | |||||
Priority: | unspecified | ||||||
Version: | rawhide | CC: | decathorpe, devrim, itamar | ||||
Target Milestone: | --- | ||||||
Target Release: | --- | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | If docs needed, set a value | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2019-05-28 10:50:50 UTC | Type: | Bug | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Bug Depends On: | 1609770 | ||||||
Bug Blocks: | 1686977 | ||||||
Attachments: |
|
That's interesting. The failure occurs in %check, but why is it rebuilding things in %check, as well? Also, from the traceback, it looks like no actual code from pyrsistent is involved in the crash, but only pytest and hypothesis. > The failure occurs in %check, but why is it rebuilding things in %check, as well? When a package is built, it runs %check as well. I don't understand the question, could you rephrase? > Also, from the traceback, it looks like no actual code from pyrsistent is involved in the crash, but only pytest and hypothesis. Indeed. It might be a hypothesis bug. Will check with hypothesis upstream. Upstream changed that code. Trying to update hypothesis (bz1609770) and see if it helps. That helps. There is also another problem: error: File not found: /builddir/build/BUILDROOT/python-pyrsistent-0.15.1-1.fc31.x86_64/usr/lib64/python3.8/site-packages/pvectorc.cpython-3?m-*.so Mind if I push the fix for the second problem directly? The "m" is no longer there. See https://bugs.python.org/issue36707 > > The failure occurs in %check, but why is it rebuilding things in %check, as well? >When a package is built, it runs %check as well. I don't understand the question, could you rephrase? I know. I meant that it looks like the binary is built twice - once in %build, and once in %check. > Mind if I push the fix for the second problem directly? Feel free to push the fix directly. > I know. I meant that it looks like the binary is built twice - once in %build, and once in %check. Seems so. Better to call pytest directly with PYTHONPATH set to buildroot instead of setup.py test I guess. > Feel free to push the fix directly. Done. Thanks for following up on this - so the error really was in hypothesis? Yes indeed. When I updated hypothesis, I've retested all bugs that were affected and closed them. python-pyrsistent built fine. |
Created attachment 1566034 [details] Full log from Copr python-pyrsistent 0.15.1-1.fc31 fails to build with Python 3.8.0a4: gcc -pthread -shared -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -g build/temp.linux-x86_64-3.8/pvectorcmodule.o -L/usr/lib64 -o /builddir/build/BUILD/pyrsistent-0.15.1/pvectorc.cpython-38-x86_64-linux-gnu.so Traceback (most recent call last): File "setup.py", line 66, in <module> setup( File "/usr/lib/python3.8/site-packages/setuptools/__init__.py", line 145, in setup return distutils.core.setup(**attrs) File "/usr/lib64/python3.8/distutils/core.py", line 148, in setup dist.run_commands() File "/usr/lib64/python3.8/distutils/dist.py", line 966, in run_commands self.run_command(cmd) File "/usr/lib64/python3.8/distutils/dist.py", line 985, in run_command cmd_obj.run() File "/usr/lib/python3.8/site-packages/ptr.py", line 164, in run return self.run_tests() File "/usr/lib/python3.8/site-packages/ptr.py", line 175, in run_tests result_code = __import__('pytest').main() File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 60, in main config = _prepareconfig(args, plugins) File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 200, in _prepareconfig return pluginmanager.hook.pytest_cmdline_parse( File "/usr/lib/python3.8/site-packages/pluggy/hooks.py", line 289, in __call__ return self._hookexec(self, self.get_hookimpls(), kwargs) File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 68, in _hookexec return self._inner_hookexec(hook, methods, kwargs) File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 59, in <lambda> self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall( File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 203, in _multicall gen.send(outcome) File "/usr/lib/python3.8/site-packages/_pytest/helpconfig.py", line 93, in pytest_cmdline_parse config = outcome.get_result() File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 80, in get_result raise ex[1].with_traceback(ex[2]) File "/usr/lib/python3.8/site-packages/pluggy/callers.py", line 187, in _multicall res = hook_impl.function(*args) File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 679, in pytest_cmdline_parse self.parse(args) File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 896, in parse self._preparse(args, addopts=addopts) File "/usr/lib/python3.8/site-packages/_pytest/config/__init__.py", line 841, in _preparse self.pluginmanager.load_setuptools_entrypoints("pytest11") File "/usr/lib/python3.8/site-packages/pluggy/manager.py", line 274, in load_setuptools_entrypoints plugin = ep.load() File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 2434, in load return self.resolve() File "/usr/lib/python3.8/site-packages/pkg_resources/__init__.py", line 2440, in resolve module = __import__(self.module_name, fromlist=['__name__'], level=0) File "/usr/lib/python3.8/site-packages/hypothesis/__init__.py", line 29, in <module> from hypothesis.core import given, find, example, seed, reproduce_failure, PrintSettings File "/usr/lib/python3.8/site-packages/hypothesis/core.py", line 37, in <module> import hypothesis.strategies as st File "/usr/lib/python3.8/site-packages/hypothesis/strategies.py", line 20, in <module> from hypothesis._strategies import ( File "/usr/lib/python3.8/site-packages/hypothesis/_strategies.py", line 265, in <module> def nothing(): File "/usr/lib/python3.8/site-packages/hypothesis/_strategies.py", line 182, in cacheable def cached_strategy(*args, **kwargs): File "/usr/lib/python3.8/site-packages/hypothesis/internal/reflection.py", line 617, in accept return impersonate(target)( File "/usr/lib/python3.8/site-packages/hypothesis/internal/reflection.py", line 603, in accept f.__code__ = update_code_location( File "/usr/lib/python3.8/site-packages/hypothesis/internal/compat.py", line 409, in update_code_location return type(code)(*unpacked) TypeError: an integer is required (got type bytes) Full log attached.