a) Is this normal?
root@x065:[/data/prj/python/git/python3-3.7]./python -m unittest test.test_distutils
----------------------------------------------------------------------
Ran 0 tests in 0.000s
OK
In short - at the start I had:
./python Lib/test/test_distutils.py
...
ERROR: test_run (distutils.tests.test_build_clib.BuildCLibTestCase)
ERROR: test_build_ext (distutils.tests.test_build_ext.BuildExtTestCase)
ERROR: test_get_outputs (distutils.tests.test_build_ext.BuildExtTestCase)
ERROR: test_build_ext (distutils.tests.test_build_ext.ParallelBuildExtTestCase)
ERROR: test_get_outputs (distutils.tests.test_build_ext.ParallelBuildExtTestCase)
ERROR: test_search_cpp (distutils.tests.test_config_cmd.ConfigTestCase)
ERROR: test_record_extensions (distutils.tests.test_install.InstallTestCase)
That is now down to:
ERROR: test_search_cpp (distutils.tests.test_config_cmd.ConfigTestCase)
There were two issues for search_cpp:
a) xlc -E needs -C to include comments in the output - this should be fixed
b) xlc -E does not accept -o as an argument - output must be to stdout, and sadly I am not clever enough to fix that. Help appreciated.
As is: the error was:
ERROR: test_search_cpp (distutils.tests.test_config_cmd.ConfigTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/data/prj/python/git/xlc-python3-3.7/Lib/distutils/unixccompiler.py", line 107, in preprocess
self.spawn(pp_args)
File "/data/prj/python/git/xlc-python3-3.7/Lib/distutils/ccompiler.py", line 909, in spawn
spawn(cmd, dry_run=self.dry_run)
File "/data/prj/python/git/xlc-python3-3.7/Lib/distutils/spawn.py", line 36, in spawn
_spawn_posix(cmd, search_path, dry_run=dry_run)
File "/data/prj/python/git/xlc-python3-3.7/Lib/distutils/spawn.py", line 159, in _spawn_posix
% (cmd, exit_status))
distutils.errors.DistutilsExecError: command 'xlc_r' failed with exit status 40
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/data/prj/python/git/xlc-python3-3.7/Lib/distutils/tests/test_config_cmd.py", line 49, in test_search_cpp
match = cmd.search_cpp(pattern='xxx', body='/* xxx */')
File "/data/prj/python/git/xlc-python3-3.7/Lib/distutils/command/config.py", line 201, in search_cpp
src, out = self._preprocess(body, headers, include_dirs, lang)
File "/data/prj/python/git/xlc-python3-3.7/Lib/distutils/command/config.py", line 124, in _preprocess
self.compiler.preprocess(src, out, include_dirs=include_dirs)
File "/data/prj/python/git/xlc-python3-3.7/Lib/distutils/unixccompiler.py", line 109, in preprocess
raise CompileError(msg)
distutils.errors.CompileError: command 'xlc_r' failed with exit status 40
and it is now:
======================================================================
ERROR: test_search_cpp (distutils.tests.test_config_cmd.ConfigTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/data/prj/python/git/python3-3.7/Lib/distutils/tests/test_config_cmd.py", line 49, in test_search_cpp
match = cmd.search_cpp(pattern='xxx', body='/* xxx */')
File "/data/prj/python/git/python3-3.7/Lib/distutils/command/config.py", line 206, in search_cpp
file = open(out)
FileNotFoundError: [Errno 2] No such file or directory: '_configtest.i'
*********
The code I do not know how to fix is:
File: Lib/distutils/command/config.py
def _preprocess(self, body, headers, include_dirs, lang):
src = self._gen_temp_sourcefile(body, headers, lang)
out = "_configtest.i"
self.temp_files.extend([src, out])
self.compiler.preprocess(src, out, include_dirs=include_dirs)
return (src, out)
See https://github.com/aixtools/cpython/tree/bpo-11191 for my changes
|