Notebook

これは日々の作業を通して学んだことや毎日の生活で気づいたことをを記録しておく備忘録である。

HTML ファイル生成日時: 2024/12/21 11:44:57.596 (台灣標準時)

pkgsrc の math/py-numexpr

pkgsrc で math/py-numpy が最新の 1.23.2 に更新されていたでござる。いつ のも悪い癖で、最新のバージョンに入れ替えようと思ってしまったでござる。 math/py-numpy に依存している Python パッケージは多いので、 math/py-numpy を入れ替えようとすると、インストール済みの多くの Python パッケージを一度削除する必要が生じるでござる。 scipy や matplotlib や astropy などを削除して、 py-numpy-1.23.2 をインストールしてみたでござ る。その後、 scipy や matplotlib や astropy などをインストールし始めた のでござるが、 math/py-numexpr のコンパイルでエラーが生じたでござる。 以下のようなメッセージが表示されたでござる。


gcc -Wno-unused-result -Wsign-compare -DNDEBUG -O2 -fPIC -D_FORTIFY_SOURCE=2 -I/usr/include -I/usr/pkg/include -O2 -fPIC -D_FORTIFY_SOURCE=2 -I/usr/include -I/usr/pkg/include -O2 -fPIC -D_FORTIFY_SOURCE=2 -I/usr/include -I/usr/pkg/include -O2 -fPIC -D_FORTIFY_SOURCE=2 -I/usr/include -I/usr/pkg/include/python3.9 -I/usr/pkg/include -I/usr/pkg/include/netlib -I/usr/include -I/usr/pkg/include/python3.9 -I/usr/pkg/include -fPIC -I/usr/pkg/lib/python3.9/site-packages/numpy/core/include -Iframestream -I/usr/pkg/include/python3.9 -c numexpr/interpreter.cpp -o build/temp.netbsd-9.99.99-amd64-cpython-39/numexpr/interpreter.o
numexpr/interpreter.cpp: In function 'PyObject* NumExpr_run(NumExprObject*, PyObject*, PyObject*)':
numexpr/interpreter.cpp:1272:59: error: 'NPY_ARRAY_UPDATEIFCOPY' was not declared in this scope; did you mean 'NPY_ITER_UPDATEIFCOPY'?
 1272 |                                         NPY_ARRAY_ALIGNED|NPY_ARRAY_UPDATEIFCOPY);
      |                                                           ^~~~~~~~~~~~~~~~~~~~~~
      |                                                           NPY_ITER_UPDATEIFCOPY
error: command '/usr/pkgsrc/math/py-numexpr/work/.cwrapper/bin/gcc' failed with exit code 1
*** Error code 1

Stop.
make[1]: stopped in /usr/pkgsrc/math/py-numexpr
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/math/py-numexpr

調べてみると、同じ問題が報告されていたでござる。

pkgvi を使って、 math/py-numexpr の work/numexpr-2.8.1/numexpr/interpreter.cpp というファイルを編集し、 mkpatches; make mps を実行してみたら、 make clean; make install でイン ストールができるようになったでござる。

patch は以下の通りでござる。


$NetBSD$

--- numexpr/interpreter.cpp.orig	2018-07-12 17:49:43.000000000 +0000
+++ numexpr/interpreter.cpp
@@ -1269,7 +1269,7 @@ NumExpr_run(NumExprObject *self, PyObjec
             }
             Py_INCREF(dtypes[0]);
             a = (PyArrayObject *)PyArray_FromArray(operands[0], dtypes[0],
-                                        NPY_ARRAY_ALIGNED|NPY_ARRAY_UPDATEIFCOPY);
+                                        NPY_ARRAY_ALIGNED);
             if (a == NULL) {
                 goto fail;
             }



Frequently accessed files

  1. Computer___Python/20220518_0.html
  2. Computer___Network/20230726_00.html
  3. Misc___Taiwan/20240207_00.html
  4. Computer___Network/20230516_00.html
  5. Computer___FreeBSD/20220621_0.html
  6. Computer___Python/20220715_0.html
  7. Computer___Network/20230508_00.html
  8. Food___Taiwan/20220429_0.html
  9. Computer___Network/20240130_00.html
  10. Computer___NetBSD/20220817_3.html
  11. Computer___Python/20220410_0.html
  12. Computer___Network/20240416_00.html
  13. Computer___NetBSD/20230119_00.html
  14. Computer___Debian/20210223_1.html
  15. Computer___Python/20221013_0.html
  16. Computer___Python/20210124_0.html
  17. Computer___NetBSD/20220428_0.html
  18. Computer___NetBSD/20220818_1.html
  19. Computer___NetBSD/20240101_02.html
  20. Science___Math/20220420_0.html
  21. Computer___Python/20240101_00.html
  22. Computer___NetBSD/20220808_0.html
  23. Computer___TeX/20230503_00.html
  24. Science___Astronomy/20220503_0.html
  25. Computer___NetBSD/20230515_00.html
  26. Computer___Network/20220413_1.html
  27. Computer___NetBSD/20210127_0.html
  28. Computer___TeX/20231107_00.html
  29. Computer___Python/20220816_1.html
  30. Computer___Python/20230717_01.html


HTML file generated by Kinoshita Daisuke.