Closed manticore-projects closed 1 year ago
Scipy is always problematic because of the fortran parts. We were able to build it on Centos 8 and LTS Ubuntu, but not on Fedora 37, it seems the fortran compiler there is too new. One would think that a language from the 50's would maintain backwards compatibility between recent versions by now, but apparently no. What is you gfortran version? Could you please try if it builds on CPython with pip install --no-binary :all: scipy==1.10.1
?
Oh, you didn't mention your GraalPy version. Please use at least 23.0. Older versions were using LLVM and that didn't play well with fortran at all. Newer versions use the system toolchain (gcc, gfortran).
Greetings!
Thank you for responding, I do appreciate.
a) I can use any Fortran Compiler you'd like although the only relevant change between 9 and 13 is about the -fallow-argument-mismatch
. Which version is preferred please?
Btw, documentation about the reference would be great. We do understand that this is highly experimental and fragile stuff, no problem. But a reference, what has been working exactly would help a lot.
b) I test JDK 11, JDK 17 and JDK 20 in parallel. I would have tested GraalPy 23 on JDK 17, when I was able to compile Numpy. But for whatever reason, I fail with Numpy on JDK17/20 and so there is no Scipy.
I will try to work though the rest of your recommendations. Thanks again!
The fortran compiler that works for us in our testing infrastructure is:
$ gfortran --version
GNU Fortran (GCC) 8.5.0 20210514 (Red Hat 8.5.0-18.0.2)
Thank you big time! I will try with that!
There seems to be some progress:
are@ryzen ~> source graalpy20/bin/activate.fish
(graalpy20) are@ryzen ~> CC="gcc-9" CF="gfortran-9" CFLAGS='-march=native' CXXFLAGS='-march=native' pip install --no-clean --no-binary :all: scipy
keeps compiling for more than 1 hour now and using up to 12GB ram. Lets see if it will produce something eventually.
Did it work after all?
Greetings!
No, unfortunately not: The long compiling time was on Meson in combination with the --no-binary :all:
.
After it, PIP complains that Cython can't compile, but deletes immediately the error messages and log files (despite the --no-clean
flag, the Python tool-chain is just hilarious from a Java programmer's point of view).
I guess we still can close this since the key requirement is to use a GCC suite before 13 (maybe 9 or 8). Rest seems to be a lot of experimenting and time.
Thanks for your help though.
Issue 1: compiler flags need to be set for LLVM, or else an "Argument mismatch" error will stop the build
Issue 2: with flags set the build advances but fails linking