> A workaround (that would temporarily loose wxMaxima's ability to set > maxima's current working directory until a fix is found) would be > deleting the line from the affected file that reads:
> #+gcl (si:chdir dir) > Will fix the bug as soon as someone finds out how. Hi, I think you just have to add a colon: Change #+gcl (si:chdir dir) into #+gcl (si::chdir dir) On my system, the error message vanishes and I can call the "wxcd" function from within maxima (maxima appears to work normally, too): :lisp (wx-cd "/usr/lib/"); /usr/lib/ I think the bug is caused because in newer versions of gcl, "chdir" is still defined in the "si" package, but isn't exported---meaning that it does not belong to the public part of the API of the package which is accessible from other packages by calling it with the package name and a one colon qualifier. Using two colons makes it possible to access any symbol in a package[1]. I believe it's a bug in gcl (I'm not a Lisper). On a Debian Stable box, I get the following result when calling "si:chdir": icafe@cafe2016:~$ gcl GCL (GNU Common Lisp) 2.6.12 CLtL1 Oct 28 2014 10:02:30 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files set to /tmp/ >(si:chdir "/home") "/home" Doing the same on Debian Unstable: toto@talkietoaster: ~ $ /usr/bin/gcl [12:34:07] GCL (GNU Common Lisp) 2.6.12 CLtL1 Fri Apr 22 15:51:11 UTC 2016 Source License: LGPL(gcl,gmp), GPL(unexec,bfd,xgcl) Binary License: GPL due to GPL'ed components: (XGCL READLINE UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter Use (help) to get some basic information on how to use GCL. Temporary directory for compiler files: /tmp/ >(si:chdir "/home") Error: ERROR "Cannot find the external symbol CHDIR in #<\"SYSTEM\" package>." Fast links are on: do (si::use-fast-links nil) for debugging Signalled by SYSTEM::GCL-TOP-LEVEL. ERROR "Cannot find the external symbol CHDIR in #<\"SYSTEM\" package>." Broken at SYSTEM::GCL-TOP-LEVEL. Type :H for Help. 1 Return to top level. >>1 Top level. >(si::chdir "/home") #p"/home/" I can fix this by manually exporting "chdir": >(in-package :si) #<"SYSTEM" package> SYSTEM>(export 'chdir) T SYSTEM>(in-package "COMMON-LISP-USER") #<"COMMON-LISP-USER" package> >(si:chdir "/home") #p"/home/" The output is somewhat different, "/home/" vs. #p"/home/". I don't know if that's important. Toto Footnotes: [1] Peter Seibel: Practical Common Lisp, chapter 21, page 264 (http://www.gigamonkeys.com/book/programming-in-the-large-packages-and-symbols.html)