Load behaviour on Maxima 5.18.0 and above using ecl
Subject: Load behaviour on Maxima 5.18.0 and above using ecl
From: Robert Dodier
Date: Tue, 12 May 2009 09:14:19 -0600
On 5/12/09, Matthew Gwynne <mathew.gwynne at gmail.com> wrote:
> file_search_maxima has entries such as :
> /home/aeternus/Work/OKlibrary/OKlibTestSym/maxima-5.18.1/install/share/maxima/5.18.1/\
> share/{/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install/share/max\
> ima/5.18.1/share,/home/aeternus/Work/OKlibrary/OKlibTest/maxima-5.18.1/install\
> /share/maxima/5.18.1/share/affine,/home/aeternus/Work/OKlibrary/OKlibTest/maxi\
> ma-5.18.1/install/share/maxima/5.18.1/share/algebra,....}
Looks like the absolute, real path has been interpolated into the list,
instead of the alias.
>> About symbolic links causing trouble, does the problem go away
>> if there is no symbolic link in sight? It seems plausible that the
>> Lisp functions for file and directory inspection handle symbolic
>> links incorrectly. Just a guess.
>
> Yes, the problem occurs only when using symlinks on the path.
>
> So do you think this is purely a problem with ecl? In this case, is
> there some reason things would have worked before maxima version
> 5.18.0?
The code to generate various directory lists was reworked recently.
Now it searches for directories at run time; before it would work from
a hard-coded list.
There is unfortunately substantial variability in the way different
Lisp implementations handle file system functions. I'm pretty
sure that's what we're seeing here. "Common" Lisp? Far from it.
Not sure if we can work around the problem, or convince ECL to
change their code. Easiest is just to go back to the hard-coded list
for ECL.
Try this. Not sure if it will help.
:lisp (setf (symbol-function 'share-subdirs-list) (symbol-function
'default-share-subdirs-list))
:lisp (set-pathnames)
Does that rebuild file_search_maxima?
For the record, the code in question is in src/init-cl.lisp.
best
Robert Dodier