-
-
Notifications
You must be signed in to change notification settings - Fork 5.2k
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
BLD: meson build failure - missing xsimd.hpp
#15698
Comments
Cannot reproduce, also on ubuntu lucid.
For completeness, here's the meson setup log:
|
uhmmm.... Thanks for trying to reproduce it. Could you please check for me where is your "xsimd.hpp" file is located ? Also:
|
and
|
Typically
with particular reference to:
|
For completeness, a system analog, without conda --- which, I believe, is used in pip builds:
|
If you look at ninja.build you can see exactly what compiler command was used. build with pip env
build with conda (without patch)
build with conda (with patch)
Still not clear to me which |
@ev-br your default paths have pythran does by default ship with bundled code copies of xsimd, which are probably stripped out by Linux distros at a minimum. It's also stripped out by the pythran-feedstock in conda, with the following comment:
TBH I do not know why it ever works for you at all given this combination, unless you using a conda env, but installing a non-conda pythran? |
Does not look like I've pythran outside of the conda env:
I definitely did not install pythran outside of some virtualenvironment. I very well might have it in some of them (heck, the main scipy-dev does have it for sure; it's a different python version but hey) but that's about it. Whether it might get picked up or not, I have no idea. If some other diagnostics I can run on this machine, let me know. Other than that, I can only shrug :-). |
Does the pythran directory in site-packages (inside the conda env) have an xsimd directory? |
No it doesn't seem to.
|
Alrighty so you have the conda pythran and it doesn't have a bundled code copy of xsimd, which matches my expectation. That then makes the question of "so just where does your conda env pick up the xsimd headers from" very confusing. It's not the location reported by Seems to be quite the mystery! |
I cannot reproduce this on Arch Linux with a fresh Location of
The reason
Full output for build scipy/stats/_hypotests_pythran.cpp: CUSTOM_COMMAND ../scipy/stats/_hypotests_pythran.py | /home/rgommers/anaconda3/envs/scipy-meson/bin/pythran
COMMAND = /home/rgommers/anaconda3/envs/scipy-meson/bin/pythran -E ../scipy/stats/_hypotests_pythran.py -o scipy/stats/_hypotests_pythran.cpp
description = Generating$ scipy/stats/_hypotests_pythran$ with$ a$ custom$ command
build scipy/stats/_hypotests_pythran.cpython-310-x86_64-linux-gnu.so.p/meson-generated_..__hypotests_pythran.cpp.o: cpp_COMPILER scipy/stats/_hypotests_pythran.cpp
DEPFILE = scipy/stats/_hypotests_pythran.cpython-310-x86_64-linux-gnu.so.p/meson-generated_..__hypotests_pythran.cpp.o.d
DEPFILE_UNQUOTED = scipy/stats/_hypotests_pythran.cpython-310-x86_64-linux-gnu.so.p/meson-generated_..__hypotests_pythran.cpp.o.d
ARGS = -Iscipy/stats/_hypotests_pythran.cpython-310-x86_64-linux-gnu.so.p -Iscipy/stats -I../scipy/stats -I/home/rgommers/anaconda3/envs/scipy-meson/lib/python3.10/site-packages/pythran -I/home/rgommers/anaconda3/envs/scipy-meson/lib/python3.10/site-packages/numpy/core/include -I/home/rgommers/anaconda3/envs/scipy-meson/include/python3.10 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++14 -O2 -g -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/rgommers/anaconda3/envs/scipy-meson/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/rgommers/anaconda3/envs/scipy-meson/include -fPIC -Wno-unused-function -Wno-unused-variable -Wno-deprecated-declarations -Wno-int-in-bool-context -DENABLE_PYTHON_MODULE -D__PYTHRAN__=3 -DPYTHRAN_BLAS_NONE
build scipy/stats/_hypotests_pythran.cpython-310-x86_64-linux-gnu.so.p/_hypotests_pythran.cpython-310-x86_64-linux-gnu.so.symbols: SHSYM scipy/stats/_hypotests_pythran.cpython-310-x86_64-linux-gnu.so
IMPLIB = scipy/stats/_hypotests_pythran.cpython-310-x86_64-linux-gnu.so
build scipy/stats/_hypotests_pythran.cpython-310-x86_64-linux-gnu.so: cpp_LINKER scipy/stats/_hypotests_pythran.cpython-310-x86_64-linux-gnu.so.p/meson-generated_..__hypotests_pythran.cpp.o
LINK_ARGS = -L/home/rgommers/anaconda3/envs/scipy-meson/lib -Wl,--as-needed -Wl,--allow-shlib-undefined -shared -fPIC -Wl,-O2 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,--disable-new-dtags -Wl,--gc-sections -Wl,--allow-shlib-undefined -Wl,-rpath,/home/rgommers/anaconda3/envs/scipy-meson/lib -Wl,-rpath-link,/home/rgommers/anaconda3/envs/scipy-meson/lib -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /home/rgommers/anaconda3/envs/scipy-meson/include -DNDEBUG -D_FORTIFY_SOURCE=2 -O2 -isystem /home/rgommers/anaconda3/envs/scipy-meson/include Output of
The difference in
Some of these flags are repeated twice, also I have
So my hypothesis is something going awry with compiler/environment activation. From https://github.com/conda-forge/ctng-compiler-activation-feedstock/blob/main/recipe/activate-g%2B%2B.sh#L91, we get flags:
@schettino72 is it possible you built without activating your environment, or doing so in a nonstandard way? Can you check |
This is always a bit of a hunt, but these variables are defined within the environment:
|
Thanks. So the problem is a missing I did activate my conda env but I was using FISH shell. It works ok when I use BASH. conda/conda#6820 I will try to dig a bit or just use BASH. |
Ah, that explains it, thanks. Would be great if that made it from "backlog" to "fixed". |
@schettino72 I've just encountered the same issue. Did you manage to find a workaround allowing to automatically correctly set CXXFLAGS in fish? |
@akhmerov |
Fixes `xsimd/xsimd.hpp: No such file or directory`, as reported in scipygh-15698 and scipygh-18415.
This turned out to be a problem with conda on Windows for several folks as well. It's a conda bug with compiler activation, as discussed above - but gh-18439, which is now merged into |
Describe your issue.
Using
environment_meson.yml
.Ubuntu: 20.4
python 3.10
Conda: 4.11.0
Build fails with missing
hpp
filepython dev.py --build-only
I noticed the compilation command includes:
-I"${CONDA_PREFIX}"/include/python3.10
but thexsimd
files are located at${CONDA_PREFIX}"/include
(notice the path on command has an extrapython3.10
in path).Reproducing Code Example
Error message
SciPy/NumPy/Python version information
(1.9.0.dev0', '1.22.2', sys.version_info(major=3, minor=10, micro=2, releaselevel='final', serial=0)
The text was updated successfully, but these errors were encountered: