Failed Cython version check on Arch Linux in v0.8
Closed this issue · 4 comments
dark-saber commented
Trying to build python-djvulibre 0.8 in Arch Linux leads to the following error:
==> Starting build()...
running build
running build_py
running build_ext
cythoning 'djvu.sexpr' extension
generating build/temp.linux-x86_64-2.7/src/sexpr.c from djvu/sexpr.pyx, build/temp.linux-x86_64-2.7/src/config.pxi, djvu/common.pxi, djvu/sexpr.pxd, djvu/decode.pxd
Traceback (most recent call last):
File "setup.py", line 300, in <module>
distutils.core.setup(**setup_params)
File "/usr/lib/python2.7/distutils/core.py", line 151, in setup
dist.run_commands()
File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands
self.run_command(cmd)
File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "/usr/lib/python2.7/distutils/command/build.py", line 127, in run
self.run_command(cmd_name)
File "/usr/lib/python2.7/distutils/cmd.py", line 326, in run_command
self.distribution.run_command(command)
File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command
cmd_obj.run()
File "setup.py", line 202, in run
distutils.command.build_ext.build_ext.run(self)
File "/usr/lib/python2.7/distutils/command/build_ext.py", line 339, in run
self.build_extensions()
File "setup.py", line 207, in build_extensions
ext.sources = list(self.cython_sources(ext))
File "setup.py", line 233, in cython_sources
self.make_file(depends, target, build_c, [source, target])
File "/usr/lib/python2.7/distutils/cmd.py", line 422, in make_file
self.execute(func, args, exec_msg, level)
File "/usr/lib/python2.7/distutils/cmd.py", line 349, in execute
util.execute(func, args, msg, dry_run=self.dry_run)
File "/usr/lib/python2.7/distutils/util.py", line 309, in execute
func(*args)
File "setup.py", line 226, in build_c
raise RuntimeError('Cython >= {ver} is required'.format(ver=req_cython_version))
RuntimeError: Cython >= 0.19 is required
==> ERROR: A failure occurred in build().
Aborting...
I have cython and cython2 installed, but it seems that the python module is somehow called cython here:
python2 -m cython --version
Cython version 0.24.1
python2 -m cython2 --version
/usr/bin/python2: No module named cython2
python -m cython --version
Cython version 0.24.1
python -m cython2 --version
/usr/bin/python3: No module named cython2
jwilk commented
Very odd.
python -m cython --version Cython version 0.24.1
This is exactly how the setup script checks for Cython version, so it should work.
Oh wait, I think I know what's going on. In the PKGBUILD I see this line:
sed -i "s/'cython'/'cython2'/" setup.py
which would change
cmdline = ['python', '-m', 'cython', '--version']
to
cmdline = ['python', '-m', 'cython2', '--version']
The latter of course wouldn't work.
dark-saber commented
Aha, thank you! I've completely missed that line, and wondered, why cython module was named cython2 in other distros.
jwilk commented
Shall we close the bug?
dark-saber commented
Yes, of course. Sorry for the inconvenience!