Coder Social home page Coder Social logo

Comments (9)

dschmitz89 avatar dschmitz89 commented on June 10, 2024

How did you create your environment/install compilers etc.? Sounds like compiler version issue to me.

from scipy.

nickodell avatar nickodell commented on June 10, 2024

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.

andyfaff avatar andyfaff commented on June 10, 2024

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.

WillTirone avatar WillTirone commented on June 10, 2024

@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.

andyfaff avatar andyfaff commented on June 10, 2024

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.

WillTirone avatar WillTirone commented on June 10, 2024

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

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.

rgommers avatar rgommers commented on June 10, 2024

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.

WillTirone avatar WillTirone commented on June 10, 2024

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.

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.

rgommers avatar rgommers commented on June 10, 2024

Will do, thanks @WillTirone

from scipy.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.