boostorg / python

Boost.org python module
http://boostorg.github.io/python
Boost Software License 1.0
465 stars 201 forks source link

Undefined reference to get_complex_dtype<256> #407

Open hdu-sdlzx opened 1 year ago

hdu-sdlzx commented 1 year ago

In src/numpy/dtype.cpp, the definition of get_float_dtype < LONGDOUBLE > and get_complex_dtype < 2 * LONGDOUBLE > lacks BOOST_NUMPY_DECL.

Output of libs/python/test: capture-output ../bin.v2/libs/python/test/numpy\~dtype.test/gcc-10/release/debug-symbols-on/pch-off/python-3.9/threading-multi/visibility-hidden/numpy\~dtype ====== BEGIN OUTPUT ====== Traceback (most recent call last): File "/root/rpmbuild/BUILD/boost_1_78_0/status/../libs/python/test/numpy/dtype.py", line 8, in import dtype_ext ImportError: /root/rpmbuild/BUILD/boost_1_78_0/bin.v2/libs/python/test/numpy~dtype.test/gcc-10/release/debug-symbols-on/pch-off/python-3.9/threading-multi/visibility-hidden/dtype_ext.so: undefined symbol: _ZN5boost6python5numpy6detail17get_complex_dtypeILi256EEENS1_5dtypeEv

EXIT STATUS: 1 ====== END OUTPUT ======

hdu-sdlzx commented 1 year ago

Looks we could just use BUILTIN_FLOAT_DTYPE and BUILTIN_COMPLEX_DTYPE?