これは日々の作業を通して学んだことや毎日の生活で気づいたことをを記録しておく備忘録である。
HTML ファイル生成日時: 2024/11/24 14:07:03.493 (台灣標準時)
pkgsrc を使って Numpy をコンパイルしようとしたら、以下のように失敗した でござる。
# cd /usr/pkgsrc/math/py-numpy # make ..... Processing numpy/random/_mt19937.pyx Traceback (most recent call last): File "/amd/nb00/root/data1/netbsd/pkgsrc/nb03/pkgsrc/math/py-numpy/work/numpy-1.22.4/tools/cythonize.py", line 234, in
main() File "/amd/nb00/root/data1/netbsd/pkgsrc/nb03/pkgsrc/math/py-numpy/work/numpy-1.22.4/tools/cythonize.py", line 230, in main find_process_files(root_dir) File "/amd/nb00/root/data1/netbsd/pkgsrc/nb03/pkgsrc/math/py-numpy/work/numpy-1.22.4/tools/cythonize.py", line 221, in find_process_files process(root_dir, fromfile, tofile, function, hash_db) File "/amd/nb00/root/data1/netbsd/pkgsrc/nb03/pkgsrc/math/py-numpy/work/numpy-1.22.4/tools/cythonize.py", line 187, in process processor_function(fromfile, tofile) File "/amd/nb00/root/data1/netbsd/pkgsrc/nb03/pkgsrc/math/py-numpy/work/numpy-1.22.4/tools/cythonize.py", line 74, in process_pyx raise RuntimeError(f'Building {VENDOR} requires Cython >= {required_version}' RuntimeError: Building NumPy requires Cython >= 0.29.30, found 0.29.27 at /usr/pkg/lib/python3.9/site-packages/Cython/__init__.py Traceback (most recent call last): File "/amd/nb00/root/data1/netbsd/pkgsrc/nb03/pkgsrc/math/py-numpy/work/numpy-1.22.4/setup.py", line 461, in setup_package() File "/amd/nb00/root/data1/netbsd/pkgsrc/nb03/pkgsrc/math/py-numpy/work/numpy-1.22.4/setup.py", line 443, in setup_package generate_cython() File "/amd/nb00/root/data1/netbsd/pkgsrc/nb03/pkgsrc/math/py-numpy/work/numpy-1.22.4/setup.py", line 248, in generate_cython raise RuntimeError("Running cythonize failed!") RuntimeError: Running cythonize failed! *** Error code 1 Stop. make[1]: stopped in /amd/nb00/root/data1/netbsd/pkgsrc/nb03/pkgsrc/math/py-numpy *** Error code 1 Stop. make: stopped in /usr/pkgsrc/math/py-numpy
Numpy 1.22.4 をコンパイルするためには、 Cython 0.29.30 以上が必要なよ うなのでござるが、 Cython 0.29.27 がインストールされているので、問題が 生じているようでござる。
pkgsrc のパッケージには、依存関係が規定されているので、その依存関係が 正しく記述されていれば、適切なバージョンの Cython がインストールされて、 Numpy のコンパイルもうまくいくはずなのでござるが、 Numpy の Makefile には以下のように書かれているでござる。
BUILDLINK_API_DEPENDS.py-cython+= ${PYPKGPREFIX}-cython>=0.29.21
/usr/pkg/src/math/py-numpy/Makefile に書かれている Cython についての依 存関係を以下のように書き換えると、うまくいったでござる。
BUILDLINK_API_DEPENDS.py-cython+= ${PYPKGPREFIX}-cython>=0.29.30