rtoy / maxima

A Clone of Maxima's repo
Other
0 stars 0 forks source link

fft fails to load / _GLOBAL_OFFSET_TABLE_ #600

Open rtoy opened 2 days ago

rtoy commented 2 days ago

Imported from SourceForge on 2024-07-03 02:06:00 Created by tkonsf on 2017-05-02 10:14:21 Original: https://sourceforge.net/p/maxima/bugs/3307


Hi,

I've tried loading fft with Maxima 5.37.2 (on Ubuntu 16.10) and 5.39.0 (on Guix 0.12.0) . In both cases, loading the fft package fails with:

load(fft); Unrelocated non-local symbol: _GLOBAL_OFFSETTABLE

loadfile: failed to load /wherever/the/fft/resides/fft.lisp/ -- an error. To debug this try: debugmode(true);

rtoy commented 2 days ago

Imported from SourceForge on 2024-07-03 02:06:02 Created by robert_dodier on 2017-05-04 05:52:25 Original: https://sourceforge.net/p/maxima/bugs/3307/#606b


Hmm. What does build_info(); report?

It appears that load(fft); compiles some files. Maybe erasing any existing compiled files will help. You are on a Linux system, right? Try rm -r $HOME/.maxima/binary and then try load(fft); again -- does that help?

rtoy commented 2 days ago

Imported from SourceForge on 2024-07-03 02:06:06 Created by tkonsf on 2017-05-04 06:54:09 Original: https://sourceforge.net/p/maxima/bugs/3307/#c8a0


I tried what you suggested, and it still fails to load. On Guix (which is GNU\linux) , after removing the binary dir this is the result:

Compiling /gnu/store/qfvw2dk8sswsjhkkjjd5xhy72sn6kg8s-maxima-5.39.0/share/maxim$
End of Pass 1.
End of Pass 2.
OPTIMIZE levels: Safety=2, Space=3, Speed=3
Finished compiling /home/smudge/.maxima/binary/5_39_0/gcl/GCL_2_6_12/share/numer$
Unrelocated non-local symbol: _GLOBAL_OFFSET_TABLE_
loadfile: failed to load /gnu/store/qfvw2dk8sswsjhkkjjd5xhy72sn6kg8s-maxima-5.3$
 -- an error. To debug this try: debugmode(true);

The output from build_info() :

Maxima version: "5.39.0"
Maxima build date: "2017-04-23 04:19:24"
Host type: "x86_64-unknown-linux-gnu"
Lisp implementation type: "GNU Common Lisp (GCL)"
Lisp implementation version: "GCL 2.6.12"
rtoy commented 2 days ago

Imported from SourceForge on 2024-07-03 02:06:09 Created by robert_dodier on 2017-05-04 17:18:59 Original: https://sourceforge.net/p/maxima/bugs/3307/#c8a0/6c12


OK, I remember now that we have encountered this bug before; see: https://sourceforge.net/p/maxima/bugs/3232/

I see that a similar error was encountered in another project and the GCL developer said that he fixed a bug in GCL: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=837668

The bug-fixed version is reported to be GCL 2.6.12-43 dated approximately 2016-10-27.

So there are a couple of paths forward here: (1) Obtain GCL version 2.6.12-43 or later, recompile Maxima, and try load(fft); again.

(2) load(fft); invokes a Makefile-like system (named defsystem) to load and compile the three source code files for fft. You can omit the call to defsystem and just load the files directly. Try this:

load("fft-package.lisp");
load("fft-core.lisp");
load("fft-interface.lisp");

Does that work?

rtoy commented 2 days ago

Imported from SourceForge on 2024-07-03 02:06:13 Created by robert_dodier on 2017-05-04 17:20:02 Original: https://sourceforge.net/p/maxima/bugs/3307/#efa2


rtoy commented 2 days ago

Imported from SourceForge on 2024-07-03 02:06:16 Created by tkonsf on 2017-05-05 08:10:03 Original: https://sourceforge.net/p/maxima/bugs/3307/#c8a0/6c12/18ce


I can confirm that the solution no 2 works. Thanks!

rtoy commented 2 days ago

Imported from SourceForge on 2024-07-03 02:06:20 Created by robert_dodier on 2017-05-08 18:10:49 Original: https://sourceforge.net/p/maxima/bugs/3307/#8d4c


rtoy commented 2 days ago

Imported from SourceForge on 2024-07-03 02:06:23 Created by robert_dodier on 2017-05-08 18:10:50 Original: https://sourceforge.net/p/maxima/bugs/3307/#c92d


OK, I'm glad to hear you got it working. I'm closing this as "won't fix" since the problem is in GCL. Thanks for taking the time to make a bug report.