Announce: FriCAS-1.0.4 released

2 views
Skip to first unread message

Waldek Hebisch

unread,
Nov 6, 2008, 6:30:52 PM11/6/08
to fricas...@googlegroups.com
This is a copy of announcment on newsgroups.

Announce: FriCAS 1.0.4 has been released

FriCAS is an advanced computer algebra system. Its capabilities range from
calculus (integration and differentiation) to abstract algebra. It can
plot functions and has integrated help system.

FriCAS 1.0.4 should build on Linux, many Unix like systems (for
example Mac OSX and Solaris 10) and Windows.

FriCAS is build on top of Common Lisp; several Lisps can compile
and run FriCAS -- currently supported are GCL, SBCL, Clisp, ECL
and Closure CL (former OpenMCL).

Project page:
http://fricas.sf.net

Download page:
http://sourceforge.net/project/showfiles.php?group_id=200168

Mailing list. Please sign up before posting a message.
http://groups.google.com/group/fricas-devel?hl=en

Notable changes (compared to 1.0.3 version) include:
- significant speedups for some operations (for example
definite integration)
- support for building algebra using user-defined optimization
settings
- support for mouse wheel in HyperDoc browser
- included support for interfacing with Aldor
- new optional Emacs mode and efricas script to run FriCAS
inside emacs
- better unparse
- removed support for attributes (replaced by empty categories) and
use of colon for type conversions in Spad code
- a few bug fixes

--
Waldek Hebisch
heb...@math.uni.wroc.pl

Bill Page

unread,
Nov 7, 2008, 12:00:31 PM11/7/08
to fricas...@googlegroups.com
Waldek,

I have created a trac item in the Sage project to produce a new
optional Sage package based on fricas-1.0.4

http://trac.sagemath.org/sage_trac/ticket/4461

I am working on this but I am having some trouble building
fricas-1.0.4 under sage-3.1.4 from cached lisp. Perhaps I am doing
something wrong or missing a critical step?

First I built fricas-1.0.4 on my host system using gcl without
problems. Then I ran

../fricas-src/src/scripts/mkdist.sh --copy_lisp

to create the /dist directory containing the cached lisp files. I
copied /dist to ~/test-fricas/fricas-1.0.4 and then setup the Sage
environment by running

. ~/sage-3.1.4/local/bin/sage-env

After that the clisp installed by sage starts with just the command

clisp

I create a directory '~/test-fricas/fricas-build' and ran configure in
that directory with

../fricas-1.0.4/configure -with-lisp=clisp

This works without problems but when I run 'make' I get an error:

wspage@debian:~/test-fricas/fricas-build$ make
mkdir -p /home/wspage/test-fricas/fricas-build/build/i686-pc-linux/bin
mkdir -p /home/wspage/test-fricas/fricas-build/build/i686-pc-linux/lib
mkdir -p /home/wspage/test-fricas/fricas-build/target/i686-pc-linux/bin
mkdir -p /home/wspage/test-fricas/fricas-build/target/i686-pc-linux/lib
mkdir -p /home/wspage/test-fricas/fricas-build/target/i686-pc-linux/doc/spadhelp
mkdir -p /home/wspage/test-fricas/fricas-build/target/i686-pc-linux/share/msgs
mkdir -p /home/wspage/test-fricas/fricas-build/target/i686-pc-linux/share/texmf/tex
mkdir -p /home/wspage/test-fricas/fricas-build/target/i686-pc-linux/algebra/
mkdir -p /home/wspage/test-fricas/fricas-build/target/i686-pc-linux/autoload
mkdir -p /home/wspage/test-fricas/fricas-build/target/i686-pc-linux/src/algebra
mkdir -p /home/wspage/test-fricas/fricas-build/build/i686-pc-linux
echo timestamp > stamp-rootdirs
cd ./src && make all-src
make[1]: Entering directory `/home/wspage/test-fricas/fricas-build/src'
make[2]: Entering directory `/home/wspage/test-fricas/fricas-build/src/lib'
gcc -g -fPIC -O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -c
-I/home/wspage/test-fricas/fricas-1.0.4/src/include
-I/home/wspage/test-fricas/fricas-build/config
../../../fricas-1.0.4/src/lib/bsdsignal.c -o bsdsignal.o
gcc -g -fPIC -O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -c
-I/home/wspage/test-fricas/fricas-1.0.4/src/include
-I/home/wspage/test-fricas/fricas-build/config
../../../fricas-1.0.4/src/lib/cfuns-c.c -o cfuns-c.o
gcc -g -fPIC -O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -c
-I/home/wspage/test-fricas/fricas-1.0.4/src/include
-I/home/wspage/test-fricas/fricas-build/config
../../../fricas-1.0.4/src/lib/sockio-c.c -o sockio-c.o
gcc -g -fPIC -O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -c
-I/home/wspage/test-fricas/fricas-1.0.4/src/include
-I/home/wspage/test-fricas/fricas-build/config
../../../fricas-1.0.4/src/lib/cursor.c -o cursor.o
gcc -g -fPIC -O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -c
-I/home/wspage/test-fricas/fricas-1.0.4/src/include
-I/home/wspage/test-fricas/fricas-build/config
../../../fricas-1.0.4/src/lib/edin.c -o edin.o
gcc -g -fPIC -O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -c
-I/home/wspage/test-fricas/fricas-1.0.4/src/include
-I/home/wspage/test-fricas/fricas-build/config
../../../fricas-1.0.4/src/lib/fnct_key.c -o fnct_key.o
gcc -g -fPIC -O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -c
-I/home/wspage/test-fricas/fricas-1.0.4/src/include
-I/home/wspage/test-fricas/fricas-build/config
../../../fricas-1.0.4/src/lib/openpty.c -o openpty.o
gcc -g -fPIC -O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -c
-I/home/wspage/test-fricas/fricas-1.0.4/src/include
-I/home/wspage/test-fricas/fricas-build/config
../../../fricas-1.0.4/src/lib/prt.c -o prt.o
gcc -g -fPIC -O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -c
-I/home/wspage/test-fricas/fricas-1.0.4/src/include
-I/home/wspage/test-fricas/fricas-build/config
../../../fricas-1.0.4/src/lib/wct.c -o wct.o
gcc -g -fPIC -O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -c
-I/home/wspage/test-fricas/fricas-1.0.4/src/include
-I/home/wspage/test-fricas/fricas-build/config
../../../fricas-1.0.4/src/lib/halloc.c -o halloc.o
gcc -g -fPIC -O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -c
-I/home/wspage/test-fricas/fricas-1.0.4/src/include
-I/home/wspage/test-fricas/fricas-build/config
../../../fricas-1.0.4/src/lib/hash.c -o hash.o
gcc -g -fPIC -O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -c
-I/home/wspage/test-fricas/fricas-1.0.4/src/include
-I/home/wspage/test-fricas/fricas-build/config
../../../fricas-1.0.4/src/lib/pixmap.c -o pixmap.o
gcc -g -fPIC -O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -c
-I/home/wspage/test-fricas/fricas-1.0.4/src/include
-I/home/wspage/test-fricas/fricas-build/config
../../../fricas-1.0.4/src/lib/spadcolors.c -o spadcolors.o
gcc -g -fPIC -O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -c
-I/home/wspage/test-fricas/fricas-1.0.4/src/include
-I/home/wspage/test-fricas/fricas-build/config
../../../fricas-1.0.4/src/lib/util.c -o util.o
gcc -g -fPIC -O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -c
-I/home/wspage/test-fricas/fricas-1.0.4/src/include
-I/home/wspage/test-fricas/fricas-build/config
../../../fricas-1.0.4/src/lib/XDither.c -o XDither.o
gcc -g -fPIC -O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -c
-I/home/wspage/test-fricas/fricas-1.0.4/src/include
-I/home/wspage/test-fricas/fricas-build/config
../../../fricas-1.0.4/src/lib/XShade.c -o XShade.o
gcc -g -fPIC -O2 -fno-strength-reduce -Wall -D_GNU_SOURCE -c
-I/home/wspage/test-fricas/fricas-1.0.4/src/include
-I/home/wspage/test-fricas/fricas-build/config
../../../fricas-1.0.4/src/lib/XSpadFill.c -o XSpadFill.o
ar ru libspad.a bsdsignal.o cfuns-c.o sockio-c.o cursor.o edin.o
fnct_key.o openpty.o prt.o wct.o halloc.o hash.o pixmap.o spadcolors.o
util.o XDither.o XShade.o XSpadFill.o
ar: creating libspad.a
ranlib libspad.a
gcc -g -shared bsdsignal.o cfuns-c.o sockio-c.o -lutil -o
/home/wspage/test-fricas/fricas-build/target/i686-pc-linux/lib/libspad.so
rm -f stamp
echo timestamp > stamp
make[2]: Leaving directory `/home/wspage/test-fricas/fricas-build/src/lib'
cd lisp && make all-lisp
make[2]: Entering directory `/home/wspage/test-fricas/fricas-build/src/lisp'
cp ../../../fricas-1.0.4/src/lisp/fricas-lisp.lisp fricas-lisp.lisp
cp ../../../fricas-1.0.4/src/lisp/fricas-package.lisp fricas-package.lisp
echo '(in-package "FRICAS-LISP")' > fricas-config.lisp
echo '(defparameter algebra-optimization' \
'(quote nil))' >> fricas-config.lisp
echo '(load "fricas-package.lisp")' \
'(load "fricas-config.lisp")' \
'(load (compile-file "fricas-lisp.lisp"))' \
'(in-package "FRICAS-LISP") (save-core
"/home/wspage/test-fricas/fricas-build/build/i686-pc-linux/bin/lisp")'
\
| clisp
i i i i i i i ooooo o ooooooo ooooo ooooo
I I I I I I I 8 8 8 8 8 o 8 8
I \ `+' / I 8 8 8 8 8 8
\ `-+-' / 8 8 8 ooooo 8oooo
`-__|__-' 8 8 8 8 8
| 8 o 8 8 o 8 8
------+------ ooooo 8oooooo ooo8ooo ooooo 8

Welcome to GNU CLISP 2.46 (2008-07-02) <http://clisp.cons.org/>

Copyright (c) Bruno Haible, Michael Stoll 1992, 1993
Copyright (c) Bruno Haible, Marcus Daniels 1994-1997
Copyright (c) Bruno Haible, Pierpaolo Bernardi, Sam Steingold 1998
Copyright (c) Bruno Haible, Sam Steingold 1999-2000
Copyright (c) Sam Steingold, Bruno Haible 2001-2008

Type :h and hit Enter for context help.

[1]>
;; Loading file fricas-package.lisp ...
;; Loaded file fricas-package.lisp
T
[2]>
;; Loading file fricas-config.lisp ...
;; Loaded file fricas-config.lisp
T
[3]>
;; Compiling file
/home/wspage/test-fricas/fricas-build/src/lisp/fricas-lisp.lisp ...
*** - READ from
#<INPUT BUFFERED FILE-STREAM CHARACTER
#P"/home/wspage/test-fricas/fricas-build/src/lisp/fricas-lisp.lisp"
@280>
: there is no package with name "FFI"
The following restarts are available:
ABORT :R1 Abort main loop
0 errors, 0 warnings
Bye.
echo timestamp > do_it.clisp
make[2]: Leaving directory `/home/wspage/test-fricas/fricas-build/src/lisp'
make[2]: Entering directory `/home/wspage/test-fricas/fricas-build/src/boot'
Building stage 0
[ -d stage0 ] || ../../../fricas-1.0.4/config/mkinstalldirs stage0
mkdir -p -- stage0
rm -rf prev-stage
rm -f stage0/ptyout.fas stage0/btincl2.fas stage0/btscan2.fas
stage0/typrops.fas stage0/btpile2.fas stage0/typars.fas
stage0/tytree1.fas
rm -f stage0/ptyout.clisp stage0/btincl2.clisp stage0/btscan2.clisp
stage0/typrops.clisp stage0/btpile2.clisp stage0/typars.clisp
stage0/tytree1.clisp
make OBJECTS="stage0/ptyout.fas stage0/btincl2.fas stage0/btscan2.fas
stage0/typrops.fas stage0/btpile2.fas stage0/typars.fas
stage0/tytree1.fas" stage0/bootsys
make[3]: Entering directory `/home/wspage/test-fricas/fricas-build/src/boot'
/home/wspage/test-fricas/fricas-build/build/scripts/document
--tag=lisp --mode=compile --output=initial-env.fas
--use=/home/wspage/test-fricas/fricas-build/build/i686-pc-linux/bin/lisp
../../../fricas-1.0.4/src/boot/initial-env.lisp
/home/wspage/test-fricas/fricas-build/build/scripts/document: line
122: /home/wspage/test-fricas/fricas-build/build/i686-pc-linux/bin/lisp:
No such file or directory
make[3]: *** [initial-env.fas] Error 127
make[3]: Leaving directory `/home/wspage/test-fricas/fricas-build/src/boot'
make[2]: *** [stage0/stamp_bootsys] Error 2
make[2]: Leaving directory `/home/wspage/test-fricas/fricas-build/src/boot'
make[1]: *** [all-boot] Error 2
make[1]: Leaving directory `/home/wspage/test-fricas/fricas-build/src'
make: *** [all-src] Error 2

-----

Any help or suggestions would be greatly appreciated! :-)

Regards,
Bill Page.


On Thu, Nov 6, 2008 at 6:30 PM, Waldek Hebisch <heb...@math.uni.wroc.pl> wrote:
>
> This is a copy of announcment on newsgroups.
>
> Announce: FriCAS 1.0.4 has been released

> ...

Waldek Hebisch

unread,
Nov 7, 2008, 1:06:54 PM11/7/08
to fricas...@googlegroups.com
Bill Page wrote:
>
> Waldek,
>
> I have created a trac item in the Sage project to produce a new
> optional Sage package based on fricas-1.0.4
>
> http://trac.sagemath.org/sage_trac/ticket/4461
>
> I am working on this but I am having some trouble building
> fricas-1.0.4 under sage-3.1.4 from cached lisp. Perhaps I am doing
> something wrong or missing a critical step?
>
> First I built fricas-1.0.4 on my host system using gcl without
> problems. Then I ran
>
> ../fricas-src/src/scripts/mkdist.sh --copy_lisp
>
> to create the /dist directory containing the cached lisp files.

No need to do this when using release tarball -- the release
already contains cached Lisp.

> I
> copied /dist to ~/test-fricas/fricas-1.0.4 and then setup the Sage
> environment by running
>
> . ~/sage-3.1.4/local/bin/sage-env
>
> After that the clisp installed by sage starts with just the command
>
> clisp
>
> I create a directory '~/test-fricas/fricas-build' and ran configure in
> that directory with
>
> ../fricas-1.0.4/configure -with-lisp=clisp
>
> This works without problems but when I run 'make' I get an error:

<snip>


> ;; Compiling file
> /home/wspage/test-fricas/fricas-build/src/lisp/fricas-lisp.lisp ...
> *** - READ from
> #<INPUT BUFFERED FILE-STREAM CHARACTER
> #P"/home/wspage/test-fricas/fricas-build/src/lisp/fricas-lisp.lisp"
> @280>
> : there is no package with name "FFI"
> The following restarts are available:
> ABORT :R1 Abort main loop
> 0 errors, 0 warnings
> Bye.

Short anwer: you need the same patch as for fricas-1.0.3.spkg

Longer answer. clisp has special code to do dynamic FFI. At request
if (IIRC) Debian folks aroud clisp-2.43 FFI code got unbundled,
now it is in separate library called ffcall. Unfortunatly, in
the process clisp folks intruduced build problem: apparently
now clisp can use ffcall _only_ if it is installed in a system
directory (read: gcc without extra arguments can find header files
and libraries). AFAIK only Debian has ffcall as standard package,
so basically by default clisp FFI is broken on other platforms...

The simplest way to build clisp with FFI is to install libffcall
(and header files) in system directories. If for some reason this
is impossible than replacing gcc by apropriate script (which
adds correct -I /path/to/includes and -L /path/to/library arguments)
should work.

The patch I made for fricas-1.0.3.spkg allows building without
dynamic FFI. Since this makes graphic and HyperDoc unusable,
this option is really last resort -- I would very much prefer
clisp developers/builders to sort out the ffcall mess. Another
option is using static FFI -- compared to dynamic FFI static
FFI is somewhat awkward to use, so this would require extra
effort on FriCAS side (actually, the hardest part is to portably
find out where clisp is installed -- unfortunatly this information
is needed to use static FFI). I did not pursue more static FFI
direction because it seemed that other folks somewhat managed
(I write in past tense because I now realised that NetBsd folks
have the same problem) and during last year Sage folks promised
that they will fix clisp or replace it really soon...

--
Waldek Hebisch
heb...@math.uni.wroc.pl

Reply all
Reply to author
Forward
0 new messages