Subject: [clisp-list] Getting 2.31 to compile on older systems

From: Fred Cohen <[email-masked]>
Date: Tue Sep 16 07:54:04 2003

In my eternal attempts to get clisp to compile for my special needs, I
built a system or the sole purpose of building a clisp.  It is, to a not
so close approximation, a Redhat 6.2 or so system.  I got the clisp2.31
source tar file, untarred it, and did a ./configure followed by
	cd src
	./makemake --with-dynamic-ffi > Makefile
	make config.lisp

So far no problem.  Then I did:
	make

which ultimately ended in:

gcc -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type  -fomit-frame-pointer -Wno-sign-compare -O2 -fexpensive-optimizations -DUNICODE -DDYNAMIC_FFI -DNO_SIGSEGV -I. -x none spvw.o spvwtabf.o spvwtabs.o spvwtabo.o eval.o control.o encoding.o pathname.o stream.o socket.o io.o array.o hashtabl.o list.o package.o record.o sequence.o charstrg.o debug.o error.o misc.o time.o predtype.o symbol.o lisparit.o i18n.o foreign.o unixaux.o ari80386.o modules.o libcharset.a libavcall.a libcallback.a -lreadline -lncurses -ldl    -o lisp.run
stream.o: In function `rd_ch_terminal3':
stream.o(.text+0xd409): undefined reference to `rl_already_prompted'
stream.o: In function `make_terminal_stream_':
stream.o(.text+0xdab5): undefined reference to `rl_gnu_readline_p'
stream.o: In function `rl_memory_abort':
stream.o(.text+0x13693): undefined reference to `rl_gnu_readline_p'
collect2: ld returned 1 exit status
make: *** [lisp.run] Error 1

Does this mean I need a newe readline library or some such thing? Or am
I missing something much bigger.  And of course - is there a way to not
have to update my libraries and still get clisp to run reasonably well?
I don't want to lose line editing - that's real handy...

So I reverted to 2.27 and tried to do the same thing...  and I got
farther... 

gcc -O -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -fomit-frame-pointer -Wno-sign-compare -O2 -fexpensive-optimizations -DUNICODE -DDYNAMIC_FFI -x none spvw.o spvwtabf.o spvwtabs.o spvwtabo.o eval.o control.o encoding.o pathname.o stream.o socket.o io.o array.o hashtabl.o list.o package.o record.o sequence.o charstrg.o debug.o error.o misc.o time.o predtype.o symbol.o lisparit.o foreign.o unixaux.o ari80386.o modules.o libsigsegv.a libintl.a libiconv.a libreadline.a libavcall.a libcallback.a  -lncurses -ldl  -o lisp.run
sync

The compile worked! Which seems to mean that something has changed that
perhaps did not maintain compatability.  However, when the process
continued:

./lisp.run -B . -N locale -Efile UTF-8 -norc -m 750KW -x "(load \"init.lisp\") (sys::%saveinitmem) (exit)"

*** - Program stack overflow. RESETmake: *** [interpreted.mem] Segmentation fault

Ouch!

Knowing as little as I do about the intrenals of all of this I was
wondering if there are any hints about this that would ease my path to
enlightenment. 

FC
-- This communication is confidential to the parties it is intended to serve --
Fred Cohen - http://all.net/ - [email-masked] - [email-masked] - tel/fax: 925-454-0171
Fred Cohen & Associates	- University of New Haven - Security Posture