abcl icon indicating copy to clipboard operation
abcl copied to clipboard

Building Maxima with ABCL 1.9.0 fails, 1.8.0 works ("FILE-ERROR")

Open daute opened this issue 2 years ago • 4 comments

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

daute avatar Jun 09 '22 06:06 daute

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.

easye avatar Jun 09 '22 06:06 easye

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.

daute avatar Jun 10 '22 06:06 daute

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.

alejandrozf avatar Jun 11 '22 20:06 alejandrozf

Update: I fixed my changes, forgot to compare correctly using pathname-directory on the input file too The fix is in 6e8dc4f8

alejandrozf avatar Jun 12 '22 14:06 alejandrozf

Thanks @alejandrozf! This will go in for abcl-1.9.1

easye avatar Dec 16 '22 21:12 easye

You are welcome ☺️!

alejandrozf avatar Dec 16 '22 21:12 alejandrozf