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