|
From: Hoehle, Joerg-C. <Joe...@t-...> - 2003-02-25 09:01:37
|
Hi, I encountered 2 problem areas trying to get CLISP 2.30 to compile: 1. location of termcap lib 2. unknown CHARSET:WINDOWS-CP1255 and -1258 Ad 1. -- termcap Configuration and compilation went fine. It's not until link time that = the linker complained about tgoto, tgetstr, tgetent etc. a relevant message from configure was: checking for library containing tgetent... no Maybe termcap is on a strange location on this Suse Linux 8.2? Could a = Linux person comment on this? The Suse Linux 8.2 machine which I had acccess to had a strictly = minimal server configuration: nothing but mysql, perl, gzip, gcc and = ssh. I added a few packages since then. uname -a: Linux 2.4.19-xGB #1 Fri Sep 13 13:14:56 UTC 2002 i686 unknown ls -al /usr/lib/*term* lrwxrwxrwx 1 root root 19 Dec 3 13:27 = /usr/lib/libtermcap.so.2 -> libtermcap.so.2.0.8 -rwxr-xr-x 1 root root 14411 Sep 9 21:13 = /usr/lib/libtermcap.so.2.0.8 /usr/lib/termcap: total 19 drwxr-xr-x 2 root root 112 Dec 3 13:27 . drwxr-xr-x 22 root root 7248 Feb 6 17:25 .. -rw-r--r-- 1 root root 11072 Sep 9 21:13 libtermcap.a lrwxrwxrwx 1 root root 22 Dec 3 13:27 libtermcap.so = -> ../libtermcap.so.2.0.8 The linker was invoked as gcc -I/home/hoehle/include -W -Wswitch -Wcomment -Wpointer-arith = -Wimplicit -Wreturn-type -fomit-frame-pointer -Wno-sign-compare -O2 -fexpensive-optimizations -DUNICODE -DDYNAMIC_FFI -DDYNAMIC_MODULES -x none -Wl,-export-dynamic spvw.o ... modules.o libcharset.a libavcall.a libcallback.a -ldl = /home/hoehle/lib/libsigsegv.a -o lisp.run =20 I worked around this by adding both -L/usr/lib/termcap -ltermcap to the LIBS variable in the Makefile. Ad 2. -- CHARSET:WINDOWS-1255 and -1258 ;; Loading file type.lisp ... *** - SYMBOL-VALUE: CHARSET:WINDOWS-1258 has no dynamic value *** - EVAL: the function %SAVEINITMEM is undefined It appears that CHARSET:WINDOWS-1258 is among the exported symbols of = package CHARSET, yet it has no value (an encoding). Therefore type.lisp = errors out. 3. Break> (find-symbol "CP1258" "CHARSET") NIL ; NIL There was a change in CVS between 2.28 and 2.30 relevant to this, back = in May 2002, saying "removed nls_cp1255 and nls_cp1258". To me, it appears as if this = change was incomplete. As of today, encoding.d still has lines saying: > # Now some aliases. > define_constant(S(windows_1255),Symbol_value(S(cp1255))); > define_constant(S(windows_1258),Symbol_value(S(cp1258))); If nls_cp1255 and nls_cp1258 are gone, what shall these lines do? Trying to remove these lines did not work, nor copying the nls_.c files = back from 2.28. I hacked around this by adding an UNEXPORT to type.lisp Somes line from configure maybe relevant to this: checking whether NLS is requested... yes checking for GNU gettext in libc... yes Regards, J=F6rg H=F6hle. |