Build with GCL

35 views
Skip to first unread message

Árpád Lukács

unread,
Mar 22, 2019, 7:27:07 AM3/22/19
to FriCAS - computer algebra system
Hi,

I would like to ask for some help building FriCAS ob Ubuntu 18.04. I would like to use GCL as the lisp interpreter, as it is already installed on the system, and used by other programs (e.g., Maxima).
When I try to build FriCAS, I do the following:
1. downloaded sources from the homepage, version 1.3.5.
2. ./configure --with-x --with-lisp=gcl
3. make

I get the error message:

make[2]: Entering directory '/home/arpi/packaging/fricas/fricas-1.3.5/src/etc'
cp summary /home/arpi/packaging/fricas/fricas-1.3.5/target/x86_64-linux-gnu/lib/summary
cp copyright /home/arpi/packaging/fricas/fricas-1.3.5/target/x86_64-linux-gnu/lib/copyright
cp fricas /home/arpi/packaging/fricas/fricas-1.3.5/target/x86_64-linux-gnu/bin/fricas
cp SPADEDIT /home/arpi/packaging/fricas/fricas-1.3.5/target/x86_64-linux-gnu/lib/SPADEDIT
test -d /home/arpi/packaging/fricas/fricas-1.3.5/pre-generated/target/algebra && echo timestamp > stamp-databases \
          || make do-stamp-databases
4 making /home/arpi/packaging/fricas/fricas-1.3.5/target/x86_64-linux-gnu/bin/asq from asq.c
gcc -O2 -Wall -D_GNU_SOURCE -I/home/arpi/packaging/fricas/fricas-1.3.5/src/include -I/home/arpi/packaging/fricas/fricas-1.3.5/config -o /home/arpi/packaging/fricas/fricas-1.3.5/target/x86_64-linux-gnu/bin/asq asq.c
echo ")read ./gen-cpl.lisp" > gen-cpl.in
chmod +x /home/arpi/packaging/fricas/fricas-1.3.5/target/x86_64-linux-gnu/bin/fricas
chmod +x /home/arpi/packaging/fricas/fricas-1.3.5/target/x86_64-linux-gnu/lib/SPADEDIT
echo ')lisp (do_command_list "'/home/arpi/packaging/fricas/fricas-1.3.5/target/x86_64-linux-gnu/lib/command.list'")' >> gen-cpl.in
(DD=/home/arpi/packaging/fricas/fricas-1.3.5/target/x86_64-linux-gnu; \
        if test -d /home/arpi/packaging/fricas/fricas-1.3.5/pre-generated/target/algebra ; then \
            DD=/home/arpi/packaging/fricas/fricas-1.3.5/pre-generated/target/ ; \
        fi ; \
cat gen-cpl.in | \
        DAASE=$DD AXIOM=/home/arpi/packaging/fricas/fricas-1.3.5/target/x86_64-linux-gnu \
        FRICAS_INITFILE='' /home/arpi/packaging/fricas/fricas-1.3.5/build/x86_64-linux-gnu/bin/interpsys )
openServer result -2
                       FriCAS Computer Algebra System
                            Version: FriCAS 1.3.5
                   Timestamp: Fri Mar 22 11:26:49 CET 2019
-----------------------------------------------------------------------------
   Issue )copyright to view copyright notices.
   Issue )summary for a summary of useful system commands.
   Issue )quit to leave FriCAS and return to shell.
-----------------------------------------------------------------------------
 
   Using local database /home/arpi/packaging/fricas/fricas-1.3.5/pre-generated/target//algebra/compress.daase..
Error: PARSE-ERROR "\"/home/arpi/packaging/fricas/fricas-1.3.5/pre-generated/target//algebra/compress.daase\" is not a valid pathname on host NIL"
Fast links are on: do (si::use-fast-links nil) for debugging
Signalled by LET.
PARSE-ERROR "\"/home/arpi/packaging/fricas/fricas-1.3.5/pre-generated/target//algebra/compress.daase\" is not a valid pathname on host NIL"

Broken at SYSTEM::GCL-TOP-LEVEL.
    1 (abort) Return to debug level 1.
    2  Return to top level.
BOOT>>>
   >> System error:
  


Error: ERROR "The tag |top_level| is undefined."

Thank you in advance.

Árpád Lukács

unread,
Mar 22, 2019, 7:36:13 AM3/22/19
to FriCAS - computer algebra system
Sory, I forgot to add, Ubuntu 18.04 includes 2.6.12-76.

Ralf Hemmecke

unread,
Mar 22, 2019, 7:37:36 AM3/22/19
to fricas-devel
Hi Árpád,

> I would like to ask for some help building FriCAS ob Ubuntu 18.04. I would
> like to use GCL as the lisp interpreter, as it is already installed on the
> system, and used by other programs (e.g., Maxima).

Do you insist on gcl? Many people use sbcl for FriCAS.

sudo apt install sbcl

or download sbcl from

http://sbcl.org/platform-table.html

and install it locally into your $HOME directory.
http://sbcl.org/getting.html

INSTALL_ROOT=$HOME/software sh install.sh

Since I am not using gcl, I cannot solve the problem you have.

Ralf

Árpád Lukács

unread,
Mar 22, 2019, 7:47:48 AM3/22/19
to FriCAS - computer algebra system
I would be happier with gcl, if someone has some ideas, but i'll try sbcl.
The error message is really cryptic, as the file is there.

Waldek Hebisch

unread,
Mar 23, 2019, 4:56:35 PM3/23/19
to fricas...@googlegroups.com
>
> I would like to ask for some help building FriCAS ob Ubuntu 18.04. I would
> like to use GCL as the lisp interpreter, as it is already installed on the
> system, and used by other programs (e.g., Maxima).
> When I try to build FriCAS, I do the following:
> 1. downloaded sources from the homepage, version 1.3.5.
> 2. ./configure --with-x --with-lisp=gcl
> 3. make
>
> I get the error message:
>
<snip>
> Using local database
> /home/arpi/packaging/fricas/fricas-1.3.5/pre-generated/target//algebra/compress.daase..
> Error: PARSE-ERROR
> "\"/home/arpi/packaging/fricas/fricas-1.3.5/pre-generated/target//algebra/compress.daase\"
> is not a valid pathname on host NIL"
> Fast links are on: do (si::use-fast-links nil) for debugging
> Signalled by LET.
> PARSE-ERROR
> "\"/home/arpi/packaging/fricas/fricas-1.3.5/pre-generated/target//algebra/compress.daase\"
> is not a valid pathname on host NIL"
>

AFAICS gcl is objecting to double slash in the path. This can be
easily fixed:

+++ 1.3.5/src/etc/Makefile.in 2019-03-23 21:12:03.413667695 +0100
@@ -74,7 +74,7 @@
echo ')lisp (do_command_list "'$@'")' >> gen-cpl.in
(DD=$(fricas_targetdir); \
if test -d ${PREGENERATED}/target/algebra ; then \
- DD=${PREGENERATED}/target/ ; \
+ DD=${PREGENERATED}/target ; \
fi ; \
cat gen-cpl.in | \
DAASE=$$DD AXIOM=$(AXIOM) \

Note: Makefile.in contains tabs, while in mail there are spaces, so
this will not apply cleanly.

However, on Debian testing I get later errors. It seems that gcl
changed its handling of filenames like other lisps and workaround
that we had for earlier behaviour now causes harm:

--- 1.3.5/src/lisp/fricas-lisp.lisp 2019-02-01 19:19:45.906883830 +0100
+++ 1.3.5/src/lisp/fricas-lisp.lisp 2019-03-23 21:50:25.857084895 +0100
@@ -974,7 +974,7 @@
(let ((ns (namestring name)))
(if (and (consp (pathname-directory name))
(eq (car (pathname-directory name))
- #-:GCL :absolute #+:GCL :root))
+ :absolute ))
ns
(concatenate 'string (get-current-directory) "/" ns))))
#+:cmu


However, while build goes further there are still errors. It will
take me some time to check what changed as on my main machine I
have older gcl that works OK and have limited access to Debian
testing.

--
Waldek Hebisch

Árpád Lukács

unread,
Mar 23, 2019, 6:32:08 PM3/23/19
to FriCAS - computer algebra system
Thank you. At the moment, I have built FriCAS on Ubuntu successfully with SBCL.
I also build Aldor, and tested calling it from Fricas with an example.

Waldek Hebisch

unread,
Jul 12, 2019, 7:23:10 AM7/12/19
to fricas...@googlegroups.com
A little update about GCL: I was able to build fricas with
newer GCL. However, ATM the result is unusable. Namely
FriCAS used to overwrite GCL error handler with its own.
Something in GCL changed and this does no longer work.
I was able to build FriCAS disabling our error handler,
but as result any error goes into GCL debugger, so from
point of view of naive user FriCAS is unusable. And
our tests depend on error handling so I am unable to
test if there is any other breakage.

Bottom line is that ATM building with GCL does not
work. I must admit that I consider declaring GCL
as unsupported: I would prefer not to dig into GCL
internals to find out what changed in error handling
and how to install our handler. If ANSI support in
GCL is good enough we could try to install error
handler in ANSI way (this is how we handle other
implementations). But I did not try this.

--
Waldek Hebisch

Ralf Hemmecke

unread,
Jul 12, 2019, 7:29:34 AM7/12/19
to fricas...@googlegroups.com
What about asking the maintainer of GCL?

BTW, why do you consider it so important to support so many Lisp
dialects? If it works without much effort, then fine. But investing much
time in supporting too many dialects is a waste of time in my eyes. (Of
course, you decide about your time.)

Ralf

Waldek Hebisch

unread,
Jul 12, 2019, 8:27:13 AM7/12/19
to fricas...@googlegroups.com
Ralf Hemmecke wrote:
>
> What about asking the maintainer of GCL?

Well, in the past my mails to Camm Maguire apparently
vanished. And that is clearly another problem with
supporting GCL.

> BTW, why do you consider it so important to support so many Lisp
> dialects? If it works without much effort, then fine. But investing much
> time in supporting too many dialects is a waste of time in my eyes. (Of
> course, you decide about your time.)

Well, initial support for various dialects caught several
portablity problem. And it is nice to give users choice.
So from my point of view this was time well spent.
With other dialects continuing support meant rather
small amount of work. But now GCL looks different...

--
Waldek Hebisch
Reply all
Reply to author
Forward
0 new messages