Hi Miro,
Sorry for the slightly slow reply.
When I tried to check this I can definitely see compile errors in the
error output from the test. It looks like you're getting a link error
though. I'm just going to do a PR to try to fix that. I'll ping you on
GitHub when that's done.
David
On 16/06/2024 00:23, Miro Hrončok wrote:
Hi. Apparently, I was not properly subscribed to the list when I sent
this, trying again:
-------- Forwarded Message --------
Subject: How to see why distutils-powered tests failed?
Date: Mon, 13 May 2024 12:10:20 +0200
From: Miro Hrončok <mhron...@redhat.com>
To: cython-devel@python.org
Hello,
I've recently encountered the following test failure when I wanted to
run the upstream Cython testusite on Fedora CI.
======================================================================
ERROR: runTest (__main__.CythonRunTestCase.runTest)
[-1] compiling (cpp/cy2/pythran) and running numpy_pythran
----------------------------------------------------------------------
Traceback (most recent call last):
File
"/usr/lib/python3.12/site-packages/setuptools/_distutils/unixccompiler.py",
line 266, in link
self.spawn(linker + ld_args)
File
"/usr/lib/python3.12/site-packages/setuptools/_distutils/ccompiler.py",
line 1041, in spawn
spawn(cmd, dry_run=self.dry_run, **kwargs)
File
"/usr/lib/python3.12/site-packages/setuptools/_distutils/spawn.py",
line 70, in spawn
raise DistutilsExecError(
distutils.errors.DistutilsExecError: command '/usr/bin/g++' failed
with exit code 1
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File
"/var/ARTIFACTS/work-planwuditg_4/plan/discover/default-0/source/cython-3.0.9/runtests.py",
line 1550, in run
ext_so_path = self.runCompileTest()
^^^^^^^^^^^^^^^^^^^^^
File
"/var/ARTIFACTS/work-planwuditg_4/plan/discover/default-0/source/cython-3.0.9/runtests.py",
line 1163, in runCompileTest
return self.compile(
^^^^^^^^^^^^^
File
"/var/ARTIFACTS/work-planwuditg_4/plan/discover/default-0/source/cython-3.0.9/runtests.py",
line 1482, in compile
so_path = self.run_distutils(test_directory, module, workdir, incdir)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File
"/var/ARTIFACTS/work-planwuditg_4/plan/discover/default-0/source/cython-3.0.9/runtests.py",
line 1378, in run_distutils
build_extension.run()
File
"/usr/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py",
line 345, in run
self.build_extensions()
File
"/usr/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py",
line 467, in build_extensions
self._build_extensions_serial()
File
"/usr/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py",
line 493, in _build_extensions_serial
self.build_extension(ext)
File
"/var/ARTIFACTS/work-planwuditg_4/plan/discover/default-0/source/cython-3.0.9/runtests.py",
line 637, in build_extension
_build_ext.build_extension(self, ext)
File
"/usr/lib/python3.12/site-packages/setuptools/_distutils/command/build_ext.py",
line 572, in build_extension
self.compiler.link_shared_object(
File
"/usr/lib/python3.12/site-packages/setuptools/_distutils/ccompiler.py",
line 752, in link_shared_object
self.link(
File
"/usr/lib/python3.12/site-packages/setuptools/_distutils/unixccompiler.py",
line 268, in link
raise LinkError(msg)
distutils.errors.LinkError: command '/usr/bin/g++' failed with exit
code 1
There were 4 failures like this (all pythran_numpy related).
I was clueless as to why is this failing. I was trying to make the
tests tell me more.
After long digging I ended up modifying
/usr/lib/python3.12/site-packages/setuptools/_distutils/spawn.py in a
test container directly to always make this conditional False:
https://github.com/pypa/setuptools/blob/v69.1.0/setuptools/_distutils/spawn.py#L61
This turned:
distutils.errors.DistutilsExecError: command '/usr/bin/g++' failed
with exit code 1
Into:
distutils.errors.DistutilsExecError: command ['/usr/bin/g++', ...]
failed with exit code 1
Then, I was able to rerun the failed g++ command manually to see the
actual linker error (missing flexiblas).
However, the experience was far from ideal.
Would it be possible (and desired) to modify the tests to actually
print out the compiler/linker errors when they happen?
Or perhaps this already is possible, but I am not doing it correctly?
(I tried --no-capture, but no dice.)
Thanks,
_______________________________________________
cython-devel mailing list
cython-devel@python.org
https://mail.python.org/mailman/listinfo/cython-devel