--- Begin Message ---
Source: mayavi2
Version: 4.8.1-5
Severity: serious
Tags: FTBFS, patch
User: debian-ri...@lists.debian.org
Usertags: riscv64
X-Debbugs-Cc: debian-ri...@lists.debian.org
Dear mayavi2 Maintainer,
The package mayavi2 build failed on arch riscv64 caused
by UnicodeDecodeError.The crucial buildd log below:
```
INFO: compile options: '-I/usr/include/python3.12 -c'
extra options: '-march=native'
Traceback (most recent call last):
File "/<<PKGBUILDDIR>>/setup.py", line 432, in <module>
setup(
File "/usr/lib/python3/dist-packages/numpy/distutils/core.py", line
170, in setup
return old_setup(**new_attr)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/setuptools/__init__.py", line
107, in setup
return distutils.core.setup(**attrs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/setuptools/_distutils/core.py",
line 185, in setup
return run_commands(dist)
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/setuptools/_distutils/core.py",
line 201, in run_commands
dist.run_commands()
File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py",
line 969, in run_commands
self.run_command(cmd)
File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 1233,
in run_command
super().run_command(command)
File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py",
line 988, in run_command
cmd_obj.run()
File "/<<PKGBUILDDIR>>/setup.py", line 288, in run
build.build.run(self)
File "/usr/lib/python3/dist-packages/numpy/distutils/command/build.py",
line 62, in run
old_build.run(self)
File "/usr/lib/python3/dist-packages/setuptools/_distutils/command/build.py",
line 131, in run
self.run_command(cmd_name)
File "/usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py",
line 318, in run_command
self.distribution.run_command(command)
File "/usr/lib/python3/dist-packages/setuptools/dist.py", line 1233,
in run_command
super().run_command(command)
File "/usr/lib/python3/dist-packages/setuptools/_distutils/dist.py",
line 988, in run_command
cmd_obj.run()
File "/usr/lib/python3/dist-packages/numpy/distutils/command/build_ext.py",
line 163, in run
self.compiler_opt = new_ccompiler_opt(
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/numpy/distutils/ccompiler_opt.py",
line 2665, in new_ccompiler_opt
opt = CCompilerOpt(compiler, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/numpy/distutils/ccompiler_opt.py",
line 2223, in __init__
_CCompiler.__init__(self)
File "/usr/lib/python3/dist-packages/numpy/distutils/ccompiler_opt.py",
line 1075, in __init__
if self.cc_test_flags([f]):
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/numpy/distutils/ccompiler_opt.py",
line 908, in cache_wrap_me
ccb = cb(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/numpy/distutils/ccompiler_opt.py",
line 1088, in cc_test_flags
test = self.dist_test(test_path, flags)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/numpy/distutils/ccompiler_opt.py",
line 632, in dist_test
self.dist_compile(
File "/usr/lib/python3/dist-packages/numpy/distutils/ccompiler_opt.py",
line 614, in dist_compile
return ccompiler.compile(sources, extra_postargs=flags, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/numpy/distutils/ccompiler.py",
line 91, in <lambda>
m = lambda self, *args, **kw: func(self, *args, **kw)
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/numpy/distutils/ccompiler.py",
line 369, in CCompiler_compile
single_compile(o)
File "/usr/lib/python3/dist-packages/numpy/distutils/ccompiler.py",
line 328, in single_compile
self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
File "/usr/lib/python3/dist-packages/numpy/distutils/ccompiler.py",
line 91, in <lambda>
m = lambda self, *args, **kw: func(self, *args, **kw)
^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/numpy/distutils/unixccompiler.py",
line 54, in UnixCCompiler__compile
self.spawn(self.compiler_so + cc_args + [src, '-o', obj] + deps +
File "/usr/lib/python3/dist-packages/numpy/distutils/ccompiler_opt.py",
line 756, in _dist_test_spawn
o = subprocess.check_output(cmd, stderr=subprocess.STDOUT,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/subprocess.py", line 466, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/subprocess.py", line 550, in run
stdout, stderr = process.communicate(input, timeout=timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/subprocess.py", line 1196, in communicate
stdout = self.stdout.read()
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/encodings/ascii.py", line 26, in decode
return codecs.ascii_decode(input, self.errors)[0]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position
30: ordinal not in range(128)
INFO: CCompilerOpt.cache_flush[864] : write cache to path ->
/<<PKGBUILDDIR>>/build/temp.linux-riscv64-cpython-312/ccompiler_opt_cache_ext.py
Exception ignored in: <function _Cache.__del__ at 0x3fa58eb6a0>
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/numpy/distutils/ccompiler_opt.py",
line 852, in __del__
AttributeError: 'NoneType' object has no attribute 'items'
E: pybuild pybuild:389: build: plugin distutils failed with: exit
code=1: /usr/bin/python3 setup.py build
dh_auto_build: error: pybuild --build -i python{version} -p 3.12
returned exit code 13
make[1]: *** [debian/rules:21: override_dh_auto_build] Error 25
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:12: binary-arch] Error 2
dpkg-buildpackage: error: debian/rules binary-arch subprocess returned
exit status 2
```
The full buildd log is here:
https://buildd.debian.org/status/fetch.php?pkg=mayavi2&arch=riscv64&ver=4.8.1-5&stamp=1719833618&raw=0
My solution to this issue:
This error is caused by incorrect locale setting on riscv64,so I can modify
debian/rules to make the locale setting match this package build
environment.The patch is in the attachment,I have tested the solution in my
machine,and it works well.Please let me know wheather this solution can be
accepted.
fix_unicodedecodeerror_on_riscv64.patch
Description: Binary data
--- End Message ---