Installing 10.1.0

Started by Ryon, June 27, 2009, 08:43:03 AM

Previous topic - Next topic

Ryon

I'm working my way thru an install on Ubuntu Jaunty. I can't use 10.1.0-1_386.deb because it's apparently not compatible with my 64-bit Athlon.



I can't use the INSTALL instructions:


ryon@rabbit:~/incoming/newlisp/newlisp-10.1.0$ ./configure

Discovered Linux, enter:
     make
to make for linux with readline and utf8 support


ryon@rabbit:~/incoming/newlisp/newlisp-10.1.0$ make
./build

Discovered Linux:
make[1]: Entering directory `/home/ryon/incoming/newlisp/newlisp-10.1.0'
make -f makefile_linux_utf8
make[2]: Entering directory `/home/ryon/incoming/newlisp/newlisp-10.1.0'
gcc -m32 -Wall -pedantic -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DSUPPORT_UTF8 -DLINUX newlisp.c
In file included from /usr/include/features.h:354,
                 from /usr/include/signal.h:29,
                 from newlisp.h:88,
                 from newlisp.c:19:
/usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory
newlisp.c:29:31: error: readline/readline.h: No such file or directory
newlisp.c:30:30: error: readline/history.h: No such file or directory
newlisp.c: In function 'main':
newlisp.c:736: error: 'rl_readline_name' undeclared (first use in this function)
newlisp.c:736: error: (Each undeclared identifier is reported only once
newlisp.c:736: error: for each function it appears in.)
newlisp.c:737: error: 'rl_attempted_completion_function' undeclared (first use in this function)
newlisp.c:737: error: 'CPPFunction' undeclared (first use in this function)
newlisp.c:737: error: expected expression before ')' token
newlisp.c:746: warning: implicit declaration of function 'readline'
newlisp.c:746: warning: assignment makes pointer from integer without a cast
newlisp.c:748: warning: implicit declaration of function 'add_history'
newlisp.c: At top level:
newlisp.c:807: error: expected declaration specifiers or '...' before 'CPFunction'
newlisp.c: In function 'newlisp_completion':
newlisp.c:812: error: 'CPFunction' undeclared (first use in this function)
newlisp.c:812: error: expected expression before ')' token
newlisp.c:812: error: too many arguments to function 'completion_matches'
make[2]: *** [newlisp.o] Error 1
make[2]: Leaving directory `/home/ryon/incoming/newlisp/newlisp-10.1.0'
make[1]: *** [linux_utf8] Error 2
make[1]: Leaving directory `/home/ryon/incoming/newlisp/newlisp-10.1.0'
make: *** [default] Error 2
ryon@rabbit:~/incoming/newlisp/newlisp-10.1.0$


I can't install with sudo make install_home


ryon@rabbit:~/incoming/newlisp/newlisp-10.1.0$ sudo make install_home
install -d /home/ryon/bin
install -d /home/ryon/share/newlisp
install -d /home/ryon/share/newlisp/modules
install -d /home/ryon/share/newlisp/util
install -d /home/ryon/share/doc/newlisp/
install -d /home/ryon/share/doc/newlisp/guiserver
install -d /home/ryon/share/man/man1
install -m 755 newlisp /home/ryon/bin/newlisp
install: cannot stat `newlisp': No such file or directory
make: [install_home] Error 1 (ignored)

so, I created /home/ryon/bin/newlisp

ryon@rabbit:~/incoming/newlisp/newlisp-10.1.0$ make clean

ryon@rabbit:~/incoming/newlisp/newlisp-10.1.0$ sudo make install_home

same error.



And, as you can see, I get lost trying to follow TedWalther's platform thread.



I've installed several newLISPs over the years, but this one has me stymied. Any advice?
\"Give me a Kaypro 64 and a dial tone, and I can do anything!\"

Lutz

#1
Four AMD64 you seem to need a 64-bit version of newLISP. This line in your output seems to confirm this: "error: gnu/stubs-32.h"



Try this makefile:



http://www.newlisp.org/downloads/makefile_linuxLP64_utf8">http://www.newlisp.org/downloads/makefi ... xLP64_utf8">http://www.newlisp.org/downloads/makefile_linuxLP64_utf8



the original one in the distribution is broken. Because it had the nl-utf8.o piece missing in the OBJS line.



If you have problems with readline stuff take out this: -DREADLINE in the makefile CFLAGS line and change to this:


default: $(OBJS)
# $(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -ltermcap -o newlisp
# $(CC) $(OBJS) -m64 -g -lm -ldl -lreadline -lncurses -o newlisp
$(CC) $(OBJS) -m64 -g -lm -ldl -o newlisp
strip newlisp


using the last line for linking. (You know that this must be TABs at the beginning of the line, not spaces ?)



If you install 'libreadline5-dev' for debian this should not be a problem and you don;t have to make this changes. You most likely have the libaries but not the header files for compiling with READLINE support.

Ryon

#2
I installed libreadline5-dev, which is not in the default Jaunty, and replaced makefile_linuxLP64_utf8 with the updated file.

ryon@rabbit:~/incoming/newlisp/newlisp-10.1.0$ make
./build

Discovered Linux:
make[1]: Entering directory `/home/ryon/incoming/newlisp/newlisp-10.1.0'
make -f makefile_linux_utf8
make[2]: Entering directory `/home/ryon/incoming/newlisp/newlisp-10.1.0'
gcc -m32 -Wall -pedantic -Wno-strict-aliasing -Wno-long-long -c -O2 -g -DREADLINE -DSUPPORT_UTF8 -DLINUX newlisp.c
In file included from /usr/include/features.h:354,
                 from /usr/include/signal.h:29,
                 from newlisp.h:88,
                 from newlisp.c:19:
/usr/include/gnu/stubs.h:7:27: error: gnu/stubs-32.h: No such file or directory
make[2]: *** [newlisp.o] Error 1
make[2]: Leaving directory `/home/ryon/incoming/newlisp/newlisp-10.1.0'
make[1]: *** [linux_utf8] Error 2
make[1]: Leaving directory `/home/ryon/incoming/newlisp/newlisp-10.1.0'
make: *** [default] Error 2
ryon@rabbit:~/incoming/newlisp/newlisp-10.1.0$

I don't understand gcc, but the "error: gnu/stubs-32.h:" looks suspicious. I have stubs.h and stubs-64.h.
\"Give me a Kaypro 64 and a dial tone, and I can do anything!\"

Lutz

#3
With the updated make file do:


make -f makefile_linuxLP64_utf8


if you do 'build' it will again pick the 32-bit makefile.



But we ara a huge step ahead, it doesn't complain about readline stuff anymore :).

Ryon

#4
Then
make install


and
make clean

Much better, thanks!
\"Give me a Kaypro 64 and a dial tone, and I can do anything!\"