-
-
Notifications
You must be signed in to change notification settings - Fork 5.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
1.12.0 [BUG]: pytest fails in all units using scipy.special._ufuncs
DSO module with undefined symb ol: npy_cexp
#20735
Comments
I don't see anywhere in [tkloczko@pers-jacek scipy-1.12.0]$ grep -r npy_cexp
scipy/special/_complexstuff.pxd: np.npy_cdouble npy_cexp(np.npy_cdouble z) nogil
scipy/special/_complexstuff.pxd: r = npy_cexp(npy_cdouble_from_double_complex(x))
scipy/special/_cunity.pxd: np.npy_cdouble npy_cexp(np.npy_cdouble x) nogil
scipy/special/_cunity.pxd: ret = npy_cexp(npy_cdouble_from_double_complex(z)) Below is as well begin of the + /usr/bin/python3 -sBm build -w --no-isolation
* Getting build dependencies for wheel...
* Building wheel...
+ meson setup /home/tkloczko/rpmbuild/BUILD/scipy-1.12.0 /home/tkloczko/rpmbuild/BUILD/scipy-1.12.0/.mesonpy-tv2ym3w8 -Dbuildtype=release -Db_ndebug=if-release -Db_vscrt=md --native-file=/home/tkloczko/rpmbuild/BUILD/scipy-1.12.0/.mesonpy-tv2ym3w8/meson-python-native-file.ini
The Meson build system
Version: 1.4.0
Source dir: /home/tkloczko/rpmbuild/BUILD/scipy-1.12.0
Build dir: /home/tkloczko/rpmbuild/BUILD/scipy-1.12.0/.mesonpy-tv2ym3w8
Build type: native build
Project name: scipy
Project version: 1.12.0
C compiler for the host machine: /usr/bin/gcc (gcc 14.1.1 "gcc (GCC) 14.1.1 20240507 (Red Hat 14.1.1-1)")
C linker for the host machine: /usr/bin/gcc ld.bfd 2.42.50.20240513
C++ compiler for the host machine: /usr/bin/g++ (gcc 14.1.1 "g++ (GCC) 14.1.1 20240507 (Red Hat 14.1.1-1)")
C++ linker for the host machine: /usr/bin/g++ ld.bfd 2.42.50.20240513
Cython compiler for the host machine: cython (cython 3.0.10)
Host machine cpu family: x86_64
Host machine cpu: x86_64
Program python found: YES (/usr/bin/python3)
Found pkg-config: YES (/usr/bin/pkg-config) 2.1.1
Run-time dependency python found: YES 3.10
Program cython found: YES (/usr/bin/cython)
Compiler for C supports arguments -Wno-unused-but-set-variable: YES
Compiler for C supports arguments -Wno-unused-function: YES
Compiler for C supports arguments -Wno-conversion: YES
Compiler for C supports arguments -Wno-misleading-indentation: YES
Library m found: YES
Fortran compiler for the host machine: /usr/bin/gfortran (gcc 14.1.1 "GNU Fortran (GCC) 14.1.1 20240507 (Red Hat 14.1.1-1)")
Fortran linker for the host machine: /usr/bin/gfortran ld.bfd 2.42.50.20240513
Compiler for Fortran supports arguments -Wno-conversion: YES
Checking if "-Wl,--version-script" : links: YES
Program pythran found: YES (/usr/bin/pythran)
Found CMake: /usr/bin/cmake (3.29.1)
WARNING: CMake Toolchain: Failed to determine CMake compilers state
Run-time dependency xsimd found: NO (tried pkgconfig and cmake)
Run-time dependency threads found: YES
Library npymath found: YES
Library npyrandom found: YES
Run-time dependency pybind11 found: YES 2.12.0
Run-time dependency scipy-openblas found: NO (tried pkgconfig)
Run-time dependency openblas found: YES 0.3.27
Dependency openblas found: YES 0.3.27 (cached)
Compiler for C supports arguments -Wno-maybe-uninitialized: YES
Compiler for C supports arguments -Wno-discarded-qualifiers: YES
Compiler for C supports arguments -Wno-empty-body: YES
Compiler for C supports arguments -Wno-implicit-function-declaration: YES
Compiler for C supports arguments -Wno-parentheses: YES
Compiler for C supports arguments -Wno-switch: YES
Compiler for C supports arguments -Wno-unused-label: YES
Compiler for C supports arguments -Wno-unused-result: YES
Compiler for C supports arguments -Wno-unused-variable: YES
Compiler for C supports arguments -Wno-incompatible-pointer-types: YES
Compiler for C++ supports arguments -Wno-cpp: YES
Compiler for C++ supports arguments -Wno-deprecated-declarations: YES
Compiler for C++ supports arguments -Wno-class-memaccess: YES
Compiler for C++ supports arguments -Wno-format-truncation: YES
Compiler for C++ supports arguments -Wno-non-virtual-dtor: YES
Compiler for C++ supports arguments -Wno-sign-compare: YES
Compiler for C++ supports arguments -Wno-switch: YES
Compiler for C++ supports arguments -Wno-terminate: YES
Compiler for C++ supports arguments -Wno-unused-but-set-variable: YES
Compiler for C++ supports arguments -Wno-unused-function: YES
Compiler for C++ supports arguments -Wno-unused-local-typedefs: YES
Compiler for C++ supports arguments -Wno-unused-variable: YES
Compiler for C++ supports arguments -Wno-int-in-bool-context: YES
Compiler for Fortran supports arguments -Wno-argument-mismatch: YES
Compiler for Fortran supports arguments -Wno-conversion: YES (cached)
Compiler for Fortran supports arguments -Wno-intrinsic-shadow: YES
Compiler for Fortran supports arguments -Wno-maybe-uninitialized: YES
Compiler for Fortran supports arguments -Wno-surprising: YES
Compiler for Fortran supports arguments -Wno-uninitialized: YES
Compiler for Fortran supports arguments -Wno-unused-dummy-argument: YES
Compiler for Fortran supports arguments -Wno-unused-label: YES
Compiler for Fortran supports arguments -Wno-unused-variable: YES
Compiler for Fortran supports arguments -Wno-tabs: YES
Compiler for Fortran supports arguments -Wno-argument-mismatch: YES (cached)
Compiler for Fortran supports arguments -Wno-conversion: YES (cached)
Compiler for Fortran supports arguments -Wno-maybe-uninitialized: YES (cached)
Compiler for Fortran supports arguments -Wno-unused-dummy-argument: YES (cached)
Compiler for Fortran supports arguments -Wno-unused-label: YES (cached)
Compiler for Fortran supports arguments -Wno-unused-variable: YES (cached)
Compiler for Fortran supports arguments -Wno-tabs: YES (cached)
Checking if "Check atomic builtins without -latomic" : links: YES
Configuring __config__.py using configuration
Checking for function "open_memstream" : NO
Configuring messagestream_config.h using configuration
Compiler for Fortran supports arguments -w: YES
Checking for size of "void*" : 8
Compiler for Fortran supports arguments -w: YES (cached)
Checking for size of "void*" : 8 (cached)
Build targets in project: 252
scipy 1.12.0
User defined options
Native files: /home/tkloczko/rpmbuild/BUILD/scipy-1.12.0/.mesonpy-tv2ym3w8/meson-python-native-file.ini
buildtype : release
b_ndebug : if-release
b_vscrt : md
Found ninja-1.12.1 at /usr/bin/ninja |
scipy.special._ufuncs
DSO module with undefined symb ol: npy_cexp
scipy.special._ufuncs
DSO module with undefined symb ol: npy_cexp
I'm just skimming, but in your list of installed build env modules you have:
There's no such stable release of NumPy that I'm aware of? |
That is side effect of merging patches from 1.26.x branch. |
Actually I just found that 1.26.5 has been already tagged https://github.com/numpy/numpy/releases/tag/v1.26.5 |
I'm pretty sure they decided not to release it though, on balance, per: numpy/numpy#26383 (comment). They did have some symbol issues in that discussion, though not the same as yours. I'm not entirely sure it is an amazing idea to try to support SciPy alongside an unreleased version of NumPy that was having some issues like that (even if they were surmountable and just things in the CI). I'm pretty sure the problem you're having here (or a very similar one) is already described in some detail starting at: numpy/numpy#24873 (comment) Looks like some distributors for non-C99 compliant platforms cherry-picked changes from numpy/numpy#24876 to work around it. |
That sounds like the right diagnosis and solution. Either way, Given @tylerjereddy provided the answer here, I'll assume that that solved it. |
Describe your issue.
Looks like something is wrong and pytest fails in all units using
scipy.special._ufuncs
DSO module withundefined symb ol: npy_cexp
.Reproducing Code Example
I'm packaging your module as an rpm package so I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.
python3 -sBm build -w --no-isolation
build
with--no-isolation
I'm using during all processes only locally installed modulesinstaller
modulecut off from access to the public network
(pytest is executed with-m "not network"
)Please let me know if you need more details or want me to perform some diagnostics.
Error message
Here is pytest output:
SciPy/NumPy/Python version and system information
List of installed modules in build env:
The text was updated successfully, but these errors were encountered: