Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 950049 - dev-python/scipy-1.15.2: cross-compilation fails because dev-cpp/xsimd is missing
Summary: dev-python/scipy-1.15.2: cross-compilation fails because dev-cpp/xsimd is mis...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Science Related Packages
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-02-21 21:24 UTC by Arniiiii
Modified: 2025-02-23 18:38 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (file_950049.txt,839.94 KB, text/plain)
2025-02-21 21:24 UTC, Arniiiii
Details
PORTAGE_CONFIGROOT=/usr/aarch64-unknown-linux-gnueabi/ emerge --info (file_950049.txt,5.04 KB, text/plain)
2025-02-21 21:24 UTC, Arniiiii
Details
emerge --info (file_950049.txt,5.04 KB, text/plain)
2025-02-21 21:24 UTC, Arniiiii
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Arniiiii 2025-02-21 21:24:08 UTC
Created attachment 919641 [details]
build.log

Setup : crossdev from amd64 to aarch64.

from build.log:
```
FAILED: scipy/linalg/_linalg_pythran.cpython-312-x86_64-linux-gnu.so.p/meson-generated__linalg_pythran.cpp.o
aarch64-unknown-linux-gnueabi-g++ -Iscipy/linalg/_linalg_pythran.cpython-312-x86_64-linux-gnu.so.p -Iscipy/linalg -I../scipy-1.15.2/scipy/linalg -I../../../../../../../lib/python3.12/site-packages/pythran -I../../../../../../../lib/python3.12/site-packages/numpy/_core/include -I/usr/aarch64-unknown-linux-gnueabi/usr/include/python3.12 -fvisibility=hidden -fvisibility-inlines-hidden -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++17 -O2 -pipe -fomit-frame-pointer -DNDEBUG -fPIC -DNPY_NO_DEPRECATED_API=NPY_1_9_API_VERSION -DENABLE_PYTHON_MODULE -D__PYTHRAN__=3 -DPYTHRAN_BLAS_NONE -Wno-cpp -Wno-deprecated-declarations -Wno-unused-but-set-variable -Wno-unused-function -Wno-unused-variable -Wno-int-in-bool-context -MD -MQ scipy/linalg/_linalg_pythran.cpython-312-x86_64-linux-gnu.so.p/meson-generated__linalg_pythran.cpp.o -MF scipy/linalg/_linalg_pythran.cpython-312-x86_64-linux-gnu.so.p/meson-generated__linalg_pythran.cpp.o.d -o scipy/linalg/_linalg_pythran.cpython-312-x86_64-linux-gnu.so.p/meson-generated__linalg_pythran.cpp.o -c scipy/linalg/_linalg_pythran.cpython-312-x86_64-linux-gnu.so.p/_linalg_pythran.cpp
In file included from ../../../../../../../lib/python3.12/site-packages/pythran/pythonic/include/builtins/abs.hpp:4,
                 from scipy/linalg/_linalg_pythran.cpython-312-x86_64-linux-gnu.so.p/_linalg_pythran.cpp:22:
../../../../../../../lib/python3.12/site-packages/pythran/pythonic/include/numpy/abs.hpp:9:10: fatal error: xsimd/xsimd.hpp: No such file or directory
    9 | #include <xsimd/xsimd.hpp>
      |          ^~~~~~~~~~~~~~~~~
compilation terminated.
```
Comment 1 Arniiiii 2025-02-21 21:24:28 UTC
Created attachment 919643 [details]
PORTAGE_CONFIGROOT=/usr/aarch64-unknown-linux-gnueabi/ emerge --info
Comment 2 Arniiiii 2025-02-21 21:24:49 UTC
Created attachment 919644 [details]
emerge --info
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-02-21 21:43:34 UTC
No, there's something more going on here as discussed on IRC, like why it's using CBUILD numpy.
Comment 4 Arniiiii 2025-02-21 22:23:27 UTC
I guess it's a different issue, because xsimd is installed on main system since pythran, but:

   pythran is BDEPEND

But xsimd seems to be needed at DEPEND for scipy, therefore even if pythran is installed on main system, it doesn't mean that headers of xsimd are at `/usr/aarch64-unknown-linux-gnueabi/include` .

Fixed for myself by  `aarch64-unknown-linux-gnueabi-emerge -avt xsimd` .

Should be fixed by adding xsimd to DEPEND of scipy, I guess.
Comment 5 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2025-02-21 22:27:04 UTC
I was going to say "pythran is only used as as BDEPEND as /usr/bin/pythran", but...

```
FAILED: scipy/linalg/_linalg_pythran.cpython-312-x86_64-linux-gnu.so.p/meson-generated__linalg_pythran.cpp.o 
aarch64-unknown-linux-gnueabi-g++ -Iscipy/linalg/_linalg_pythran.cpython-312-x86_64-linux-gnu.so.p -Iscipy/linalg -I../scipy-1.15.2/scipy/linalg -I../../../../../../../lib/python3.12/site-packages/pythran -I../../../../../../../lib/python3.12/site-packages/numpy/_core/include -I/usr/aarch64-unknown-linux-gnueabi/usr/include/python3.12 -fvisibility=hidden -fvisibility-inlines-hidden -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++17 -O2 -pipe -fomit-frame-pointer -DNDEBUG -fPIC -DNPY_NO_DEPRECATED_API=NPY_1_9_API_VERSION -DENABLE_PYTHON_MODULE -D__PYTHRAN__=3 -DPYTHRAN_BLAS_NONE -Wno-cpp -Wno-deprecated-declarations -Wno-unused-but-set-variable -Wno-unused-function -Wno-unused-variable -Wno-int-in-bool-context -MD -MQ scipy/linalg/_linalg_pythran.cpython-312-x86_64-linux-gnu.so.p/meson-generated__linalg_pythran.cpp.o -MF scipy/linalg/_linalg_pythran.cpython-312-x86_64-linux-gnu.so.p/meson-generated__linalg_pythran.cpp.o.d -o scipy/linalg/_linalg_pythran.cpython-312-x86_64-linux-gnu.so.p/meson-generated__linalg_pythran.cpp.o -c scipy/linalg/_linalg_pythran.cpython-312-x86_64-linux-gnu.so.p/_linalg_pythran.cpp
In file included from ../../../../../../../lib/python3.12/site-packages/pythran/pythonic/include/builtins/abs.hpp:4,
                 from scipy/linalg/_linalg_pythran.cpython-312-x86_64-linux-gnu.so.p/_linalg_pythran.cpp:22:
../../../../../../../lib/python3.12/site-packages/pythran/pythonic/include/numpy/abs.hpp:9:10: fatal error: xsimd/xsimd.hpp: No such file or directory
    9 | #include <xsimd/xsimd.hpp>
      |          ^~~~~~~~~~~~~~~~~
compilation terminated.
```

It must be that to compile *pythran-generated code*, you need pythran in DEPEND. I suppose that makes sense.
Comment 6 Larry the Git Cow gentoo-dev 2025-02-21 23:45:22 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=266047631ed9f1288226a999e075c48bd1beab4f

commit 266047631ed9f1288226a999e075c48bd1beab4f
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2025-02-21 23:43:44 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2025-02-21 23:43:44 +0000

    dev-python/scipy: add dev-python/pythran to DEPEND as well as BDEPEND
    
    It turns out that we need dev-python/pythran in both BDEPEND (for /usr/bin/pythran)
    *and* DEPEND for pythran-generated code to be compiled as it uses headers
    from pythran.
    
    Bug: https://bugs.gentoo.org/922782
    Bug: https://bugs.gentoo.org/950050
    Closes: https://bugs.gentoo.org/950049
    Signed-off-by: Sam James <sam@gentoo.org>

 dev-python/scipy/scipy-1.14.1.ebuild | 10 +++++++++-
 dev-python/scipy/scipy-1.15.0.ebuild |  8 ++++++++
 dev-python/scipy/scipy-1.15.1.ebuild |  8 ++++++++
 dev-python/scipy/scipy-1.15.2.ebuild |  8 ++++++++
 4 files changed, 33 insertions(+), 1 deletion(-)
Comment 7 Arniiiii 2025-02-23 18:38:13 UTC
I've `aarch64-unknown-linux-gnueabi-emerge -avt --depclean numpy xsimd` and 
`aarch64-unknown-linux-gnueabi-emerge -avt dev-cpp/benchmark` and scipy crossed the point. 

This problem fixed.