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.
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.