Discussion:
[Maxima-discuss] maxima help system cannot find maxima-index.lisp - sbcl build
Max Cohen
2015-03-26 06:44:51 UTC
Permalink
Hello,

Thanks for the detailed compilation instructions on
https://help.ubuntu.com/community/Maxima I was able to build maxima from
source.
I followed them and was successful in creating and installing the debian
package of maxima in gcl on Ubuntu 14.04, compiling maxima 5.35.1 from
source.

I then tried to compile in sbcl, with the command
./configure --enable-sbcl --prefix=/usr --exec-prefix=/usr
instead of
./configure --prefix=/usr --exec-prefix=/usr

Everything works, except, when I start maxima I get the warning
underneath about the help system.
The path seems to be wrong.
I searched online, but could not find a solution.

Does anyone have a suggestion how to fix the help system?

thanks in advance,
Max

WARNING: Maxima is unable to set up the help system.
(Details: CL-INFO::LOAD-PRIMARY-INDEX: Couldn't load
"/usr/share/info/./maxima-index.lisp":
file does not exist.)

Maxima 5.35.1 http://maxima.sourceforge.net
using Lisp SBCL 1.1.14.debian

-------
maxima --directories
WARNING: Maxima is unable to set up the help system.
(Details: CL-INFO::LOAD-PRIMARY-INDEX: Couldn't load
"/usr/share/info/./maxima-index.lisp":
file does not exist.)

maxima-prefix=/usr
maxima-imagesdir=/usr/lib/maxima/5.35.1/binary-sbcl
maxima-sharedir=/usr/share/maxima/5.35.1/share
maxima-srcdir=/usr/share/maxima/5.35.1/src
maxima-demodir=/usr/share/maxima/5.35.1/demo
maxima-testsdir=/usr/share/maxima/5.35.1/tests
maxima-docdir=/usr/share/maxima/5.35.1/doc
maxima-infodir=/usr/share/info
maxima-htmldir=/usr/share/maxima/5.35.1/doc/html
maxima-plotdir=/usr/libexec/maxima/5.35.1
maxima-layout-autotools=T
maxima-userdir=/home/max/.maxima
maxima-tempdir=/home/max
maxima-lang-subdir=NIL
maxima-objdir=/home/max/.maxima/binary/5_35_1/sbcl/1_1_14_debian
Robert Dodier
2015-03-26 18:16:01 UTC
Permalink
Post by Max Cohen
Thanks for the detailed compilation instructions on
https://help.ubuntu.com/community/Maxima I was able to build maxima from
source.
I followed them and was successful in creating and installing the debian
package of maxima in gcl on Ubuntu 14.04, compiling maxima 5.35.1 from
source.
Yeah -- worked for me too. I ignored some errors along the way (non-
Maxima stuff) and crossed my fingers for good luck ...
Post by Max Cohen
WARNING: Maxima is unable to set up the help system.
(Details: CL-INFO::LOAD-PRIMARY-INDEX: Couldn't load
file does not exist.)
"find /usr/share -name maxima-index.lisp" says that (on my system
anyway) it's in /usr/share/doc/maxima/doc/info/ instead of
/usr/share/info/. I find the following (after Maxima is launched)
is enough to fix it:

:lisp (setq *maxima-infodir* "/usr/share/doc/maxima/doc/info")
:lisp (cl-info::load-primary-index)

I guess that checkinstall has placed stuff in directories not expected
by the path-setting code in Maxima. I don't know what we could do to
compensate for that, although there should probably be a simpler way
to work around it.

best

Robert Dodier
Robert Dodier
2016-07-06 04:31:22 UTC
Permalink
Hi, thanks for the bug report. I've taken the liberty of forwarding
your message to the discussion list. Please address further
correspondence on this topic to the list.

How, exactly, did you compile and install Maxima?

What is the output of:

:lisp (print-directories)

What is the actual location of the maxima.info* files?

best,

Robert Dodier

---------- Forwarded message ----------
From: naip moro <***@gmail.com>
Date: Tue, Jul 5, 2016 at 2:44 PM
Subject: Re: [Maxima-discuss] maxima help system cannot find
maxima-index.lisp - sbcl build
To: Robert Dodier <***@gmail.com>


Hi,
Compiling on ubuntu 16.04 with sbcl, I see that the help system remains broken.
Putting the work-around lisp lines in maxima-init.lisp does solve the
problem, though
it doesn't eliminate the ugly warning.

regards,
naipmoro
Post by Robert Dodier
Post by Max Cohen
WARNING: Maxima is unable to set up the help system.
(Details: CL-INFO::LOAD-PRIMARY-INDEX: Couldn't load
file does not exist.)
"find /usr/share -name maxima-index.lisp" says that (on my system
anyway) it's in /usr/share/doc/maxima/doc/info/ instead of
/usr/share/info/. I find the following (after Maxima is launched)
:lisp (setq *maxima-infodir* "/usr/share/doc/maxima/doc/info")
:lisp (cl-info::load-primary-index)
I guess that checkinstall has placed stuff in directories not expected
by the path-setting code in Maxima. I don't know what we could do to
compensate for that, although there should probably be a simpler way
to work around it.
best
Robert Dodier
naip moro
2016-07-06 21:52:55 UTC
Permalink
Hi,
On ubuntu 16.04 I originally installed wxmaxima using blahota's ppa.
That comes with its own gcl version (5.37.2) of maxima. Unfortunately
'draw' didn't work (a bug previuosly mentioned on the list).
I uninstalled everything and compiled maxima:

./configure --enable-sbcl
make
make check
sudo checkinstall

This installed 5.38.1 in usr/local/share/maxima
Since I didn't want to compile wxmaxima (looks daunting), I again
installed blahota's ppa and it seemed to respect my compiled
sbcl version of maxima. (I just now noticed that the ppa did
still install 5.37.2 in usr/share/maxima, which seems to be a
mistake since I already have a more recent version of maxima.)

~$ maxima
WARNING: Maxima is unable to set up the help system.
(Details: CL-INFO::LOAD-PRIMARY-INDEX: Couldn't load
"/usr/local/share/info/./maxima-index.lisp":
file does not exist.)

Maxima 5.38.1 http://maxima.sourceforge.net
using Lisp SBCL 1.3.1.debian
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.

(%i1) :lisp (print-directories)
maxima-prefix=/usr/local
maxima-topdir=/usr/local/share/maxima/5.38.1
maxima-imagesdir=/usr/local/lib/maxima/5.38.1/binary-sbcl
maxima-sharedir=/usr/local/share/maxima/5.38.1/share
maxima-srcdir=/usr/local/share/maxima/5.38.1/src
maxima-demodir=/usr/local/share/maxima/5.38.1/demo
maxima-testsdir=/usr/local/share/maxima/5.38.1/tests
maxima-docdir=/usr/local/share/maxima/5.38.1/doc
maxima-infodir=/usr/share/doc/maxima/doc/info
maxima-htmldir=/usr/local/share/maxima/5.38.1/doc/html
maxima-plotdir=/usr/local/libexec/maxima/5.38.1
maxima-layout-autotools=T
maxima-userdir=/home/naip/.maxima
maxima-tempdir=/home/naip/.maxima/temp
maxima-lang-subdir=NIL
maxima-objdir=/home/naip/.maxima/binary/5_38_1/sbcl/1_3_1_debian
NIL

It's looking in /usr/local/share/info for maxima-index.lisp

~$ cd /usr/local/share/info
/usr/local/share/info$ ls
dir
maxima-index.lisp.gz
maxima.info-2.gz
maxima.info.gz
imaxima.info.gz
maxima.info-1.gz
maxima.info-3.gz
xmaxima.info.gz

The actual location of maxima-index.lisp is
/usr/share/doc/maxima/doc/info
which is why your work-around works:

(setq *maxima-infodir* "/usr/share/doc/maxima/doc/info")
(cl-info::load-primary-index)

regards,
naipmoro
Post by Robert Dodier
Hi, thanks for the bug report. I've taken the liberty of forwarding
your message to the discussion list. Please address further
correspondence on this topic to the list.
How, exactly, did you compile and install Maxima?
:lisp (print-directories)
What is the actual location of the maxima.info* files?
best,
Robert Dodier
---------- Forwarded message ----------
Date: Tue, Jul 5, 2016 at 2:44 PM
Subject: Re: [Maxima-discuss] maxima help system cannot find
maxima-index.lisp - sbcl build
Hi,
Compiling on ubuntu 16.04 with sbcl, I see that the help system remains broken.
Putting the work-around lisp lines in maxima-init.lisp does solve the
problem, though
it doesn't eliminate the ugly warning.
regards,
naipmoro
Post by Robert Dodier
Post by Max Cohen
WARNING: Maxima is unable to set up the help system.
(Details: CL-INFO::LOAD-PRIMARY-INDEX: Couldn't load
file does not exist.)
"find /usr/share -name maxima-index.lisp" says that (on my system
anyway) it's in /usr/share/doc/maxima/doc/info/ instead of
/usr/share/info/. I find the following (after Maxima is launched)
:lisp (setq *maxima-infodir* "/usr/share/doc/maxima/doc/info")
:lisp (cl-info::load-primary-index)
I guess that checkinstall has placed stuff in directories not expected
by the path-setting code in Maxima. I don't know what we could do to
compensate for that, although there should probably be a simpler way
to work around it.
best
Robert Dodier
Robert Dodier
2016-07-07 05:39:57 UTC
Permalink
Post by naip moro
~$ maxima
WARNING: Maxima is unable to set up the help system.
(Details: CL-INFO::LOAD-PRIMARY-INDEX: Couldn't load
file does not exist.)
(%i1) :lisp (print-directories)
maxima-prefix=/usr/local
maxima-infodir=/usr/share/doc/maxima/doc/info
I don't know how it happened, but maxima-infodir is under /usr/share
instead of /usr/local/share ... that's surprising. But it appears that
Maxima is attempting to load the index from /usr/local/share anyway.
Post by naip moro
~$ cd /usr/local/share/info
/usr/local/share/info$ ls
dir
maxima-index.lisp.gz
maxima.info-2.gz
maxima.info.gz
imaxima.info.gz
maxima.info-1.gz
maxima.info-3.gz
xmaxima.info.gz
I suspect this is the actual problem -- the various *.info files and
maxima-index.lisp are compressed, and Maxima can't read compressed
files. (I spent some time working on it a while ago and I couldn't get
it to work. Sorry.) Try uncompressing those files and see if Maxima can
load maxima-index.lisp then.
Post by naip moro
The actual location of maxima-index.lisp is
/usr/share/doc/maxima/doc/info
(setq *maxima-infodir* "/usr/share/doc/maxima/doc/info")
(cl-info::load-primary-index)
I suspect this is loading the index for the documentation installed by
the wxmaxima package -- i.e. the index for the other version of Maxima.

best

Robert Dodier
Gunter Königsmann
2016-07-07 06:22:07 UTC
Permalink
Post by naip moro
The actual location of maxima-index.lisp is
Post by Robert Dodier
/usr/share/doc/maxima/doc/info
(setq *maxima-infodir* "/usr/share/doc/maxima/doc/info")
(cl-info::load-primary-index)
I suspect this is loading the index for the documentation installed by
the wxmaxima package -- i.e. the index for the other version of Maxima.
If I am not completely wrong wxMaxima shouldn't install its own index: Andrej always tries not to duplicate anything that maxima can provide and that will subsequently loose sync once every now and then.
wxMaxima's own manual only covers wxMaxima itself and is kept in a simple html page without any external index.

Kind regards,

Gunter.
Robert Dodier
2016-07-07 21:41:44 UTC
Permalink
Well, this question can be answered for sure by inspecting the list of
files installed by the wxmaxima package. For packages installed via
apt-get one can run dpkg -l or something like that. Dunno what to do for
other package systems.

best

Robert Dodier

Gunter Königsmann
2016-07-07 06:26:41 UTC
Permalink
The code that installs maxima-index.lisp in doc/info/Makefile.am doesn't
look any suspicious:

install-maxima-index: maxima-index.lisp
test -z "$(infodir)" || mkdir -p -- "$(DESTDIR)$(infodir)"
$(INSTALL_DATA) maxima-index.lisp "$(DESTDIR)$(infodir)/maxima-index.lisp"

But $dochtmldir=dochtmldir = $(docdir)/html is once prefixed with
$DESTDIR and sometimes it isn't which looks strange.

Perhaps $DESTDIR points to the wrong directory. But why?

Kind regards,

Gunter.
naip moro
2016-07-07 19:29:24 UTC
Permalink
Yes, uncompressing the files does the trick. Thank you!

regards,
naipmoro
Post by Robert Dodier
Post by naip moro
~$ cd /usr/local/share/info
/usr/local/share/info$ ls
dir
maxima-index.lisp.gz
maxima.info-2.gz
maxima.info.gz
imaxima.info.gz
maxima.info-1.gz
maxima.info-3.gz
xmaxima.info.gz
I suspect this is the actual problem -- the various *.info files and
maxima-index.lisp are compressed, and Maxima can't read compressed
files. (I spent some time working on it a while ago and I couldn't get
it to work. Sorry.) Try uncompressing those files and see if Maxima can
load maxima-index.lisp then.
_______________________________________________
Maxima-discuss mailing list
https://lists.sourceforge.net/lists/listinfo/maxima-discuss
Loading...