abcl
abcl copied to clipboard
Building Maxima with ABCL 1.9.0 fails, 1.8.0 works ("FILE-ERROR")
Dear ABCL-team, I build the CAS 'Maxima' (https://sourceforge.net/p/maxima/) regulary using several different Lisp compilers.
One can build it with ABCL 1.8.0 without problems, however the build fails with ABCL 1.9.0 with the error message:
Caught FILE-ERROR while processing --eval option "(funcall (intern (symbol-name :operate-on-system) :mk) "maxima" :compile :verbose t)":
Unable to open #P"/home/dauti/Software/maxima-code/src/numerical/binary-abcl/numerical/f2cl-package.abcl-tmp".
I tried to build ABCL from the development source and tried a git bisect
, which gave me the following commit as problematic:
9c0a9693ea933309e503266255edcde5cc76257c is the first bad commit
Can you take a look on it? Best regards, Wolfgang
Thanks for the bug report, and the triage to the change of ABCL's implementation of compile-file-name
.
I will try to find time to study in detail who exactly the culprit would be, but given how cross-implementation Maxima strives to be, we will likely have to figure out how to change ABCL rather than patching Maxima.
More information from my side forthcoming when I get a chance to actually replicate this error locally.
Thank you. If relevant: I use Ubuntu Linux 20.04, here is the Java version:
$ java --version
openjdk 17.0.3 2022-04-19
OpenJDK Runtime Environment (build 17.0.3+7-Ubuntu-0ubuntu0.20.04.1)
OpenJDK 64-Bit Server VM (build 17.0.3+7-Ubuntu-0ubuntu0.20.04.1, mixed mode, sharing)
I was compiling Maxima's latest git version, but that also happens with the 5.46.0 release. ABCL 1.8.0 works, 1.9.0 does not work. Maxima was configured using:
./configure --enable-abcl --with-abcl-jar=/opt/abcl-bin-1.8.0/abcl.jar
or
./configure --enable-abcl --with-abcl-jar=/opt/abcl-bin-1.9.0/abcl.jar
using your binary distributions.
Or using ABCL compiled from source, when doing the git bisect
.
I was able to compile and run Maxima with this commit d417a58a
I didn't have time yet to check if this is not introducing regressions to ABCL but a few manual tests worked fine.
Update: I fixed my changes, forgot to compare correctly using pathname-directory on the input file too The fix is in 6e8dc4f8
Thanks @alejandrozf! This will go in for abcl-1.9.1
You are welcome ☺️!