Comments (9)
How did you create your environment/install compilers etc.? Sounds like compiler version issue to me.
from scipy.
Thanks for making this issue, Will.
One more point of comparison I want to check is dist-upgrade
. When you got your 22.04.4 system, did you do so by installing it with a 22.04 ISO, or did you do a dist-upgrade
? The reason why I ask is that the system where I'm having trouble was originally Ubuntu 20.10.
This SO issue has a few ways to check: https://askubuntu.com/questions/732334/how-to-check-if-an-ubuntu-installation-has-been-upgraded-from-previous-versions
from scipy.
Looking at how the various CI entries compile scipy is also a good source of build information (possibly not for total neophytes though). I often find docker to be useful in figuring out issues, because one is starting from a fresh slate. Crud that builds up can often lead to hard to reproduce issues.
Anyway, I've checkout out building on Ubuntu 22.04 and don't experience this problem. I start up the container with docker run -it ubuntu:22.04
. I then issue the following commands:
apt-get update
apt-get install build-essential libopenblas-dev pkg-config gfortran python3-dev git python3-venv
git clone https://github.com/scipy/scipy.git scipy
python3 -m venv scipy-dev
source scipy-dev/bin/activate
pip install numpy cython meson ninja pythran pybind11 click rich-click doit pydevtool
cd scipy
git submodule update --init
python dev.py build
The build completes without issues.
root@baebf67a5dfc:/# uname -a
Linux baebf67a5dfc 6.4.16-linuxkit #1 SMP PREEMPT Tue Oct 10 20:38:06 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux
from scipy.
@dschmitz89 I used the suggested code from the guide that uses mamba, but with conda did:
conda env create -f environment.yml # works with
conda too
I actually have two machines - one where the build fails and one where it doesn't (an Ubuntu desktop and laptop). Both have gcc version == 11.4.0.
@andyfaff I agree, probably some weird hard to diagnose issue. As far as debugging, would you then just work on scipy development in the docker container? I haven't done this but should probably try :)
from scipy.
My main computers are all macOS. This means whenever I develop for Linux I do it in a docker container. Most of the development work I do on Linux is CI work: getting linux CI entries to work, working on wheel building in CI environments, etc. If one can't build in a fresh container there's something wrong. However, working continuously in a container would be draining.
I didn't try using conda/mamba. I usually only use conda/mamba for installing Python. Other tools are installed separately. e.g. pip for python packages and apt for build-essential, gfortran, etc.
from scipy.
Thanks for making this issue, Will.
One more point of comparison I want to check is
dist-upgrade
. When you got your 22.04.4 system, did you do so by installing it with a 22.04 ISO, or did you do adist-upgrade
? The reason why I ask is that the system where I'm having trouble was originally Ubuntu 20.10.This SO issue has a few ways to check: https://askubuntu.com/questions/732334/how-to-check-if-an-ubuntu-installation-has-been-upgraded-from-previous-versions
I actually think the system that builds correctly was upgraded from 21.04 to 22.04 and works fine, while the system that doesn't build was a 22.04 ISO
from scipy.
This seems to have been fixed in pythran
3 years ago: serge-sans-paille/pythran#1796. The traceback doesn't quite make sense, since #include <cstdlib>
clearly is present already in that file. So not sure what's happening there, but it's probably some issue in the compiler toolchain you're using.
while the system that doesn't build was a 22.04 ISO
ISOs can often lack necessary upgraded. If you do sudo apt upgrade
or sudo apt full-upgrade
the problem will likely go away.
from scipy.
This seems to have been fixed in
pythran
3 years ago: serge-sans-paille/pythran#1796. The traceback doesn't quite make sense, since#include <cstdlib>
clearly is present already in that file. So not sure what's happening there, but it's probably some issue in the compiler toolchain you're using.while the system that doesn't build was a 22.04 ISO
ISOs can often lack necessary upgraded. If you do
sudo apt upgrade
orsudo apt full-upgrade
the problem will likely go away.
That makes sense, thanks for taking a look! Feel free to close the issue since, I agree, seems more like a local issue.
from scipy.
Will do, thanks @WillTirone
from scipy.
Related Issues (20)
- DEP: deprecate and remove remaining usages of slur-adjacent "trapz" HOT 2
- BUG: When given invalid bounds, `_minimize_neldermead` raises `TypeError` instead of `ValueError` HOT 1
- ENH: scipy.signal.find_peaks for 2D signals HOT 12
- BUG: Cannot find `OpenBLAS` on Cygwin HOT 21
- DOC: linalg.solve_discrete_lyapunov: dead reference link HOT 2
- ENH: Distances between distributions with complex samples HOT 1
- BUG: special.hyp2f1: local test failure HOT 3
- ENH: constants: Add Muon Gyromagnetic ratio HOT 3
- BUG: special.spherical_in: derivative at `z=0, n=1` incorrect HOT 4
- DOC: Clarify behavior of `sparse.csgraph.dijkstra` for `directed=False`
- BUG: `eigh` fails for size 1 array with driver=evd HOT 1
- BUG: Empty CSR Matrix has multiple indptr instead of 1 HOT 3
- CI/BLD: Nightly wheel builds failing for macOS x86_64 HOT 2
- BUG: special: elliptic integral incorrectly gives `nan` HOT 3
- BUG: warning from `optimize.least_squares` for astropy with OpenBLAS 0.3.26-dev HOT 32
- BUG: spatial: `Rotation.apply` is slow - replace `np.einsum` with `@`?
- BUG: generate_f2py mod is called by the wrong interpreter HOT 6
- BUG: pytest scipy/linalg/tests/test_extending.py fails with Cython file compilation error HOT 10
- ENH: stats: add array API-support
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from scipy.