Eujean Snyman wrote:

Bruce Dubbs wrote:


    I just rebuilt clisp on a system with readline 7 without any problems.
    Can you post the actual output of the build showing the error?

    I do confirm that readline.h now has:

       extern unsigned long rl_readline_state;

    so I suppose there could be a runtime issue, but I can't find a build
    problem.


My readline.h has the same
   extern unsigned long rl_readline_state;

but i believe the problem is in modules/readline/readline.lisp where it
expects an int.

After extracting my procedure is as follows:

sed -i -e '/socket/d' -e '/"streams"/d' tests/tests.lisp

mkdir build &&
cd    build &&

../configure --srcdir=../                       \
              --prefix=/usr                      \
              --with-libsigsegv-prefix=/usr      \
              --with-libffcall-prefix=/usr       &&

This last option is not in BLFS, but I added it in a test build and it doe not make a difference for me.

ulimit -s 16384

make -j 1

Finally this produces the following error:
...
;; Loaded file /sources/blfs/clisp-2.49/build/syscalls/posix.fas
;; Loading file /sources/blfs/clisp-2.49/build/regexp/regexp.fas ...
;; Loaded file /sources/blfs/clisp-2.49/build/regexp/regexp.fas
;; Loading file /sources/blfs/clisp-2.49/build/readline/readline.fas ...
*** - FFI::FIND-FOREIGN-VARIABLE: foreign variable
       #<FOREIGN-VARIABLE "rl_readline_state" #x00007F8FCDDC5010> does not have 
the required size or
       alignment

./clisp-link: failed in /sources/blfs/clisp-2.49/build
make: *** [Makefile:2597: base] Error 1

I double checked that I used exactly the same procedure as above, but I can't get it to fail.


Which is what led me to the same fix that Ken mentioned earlier. With the
patch applied, it compiles

fine and the following is obtained from clisp --version

GNU CLISP 2.49 (2010-07-07) (built 3708841252) (memory 3708841376)
Software: GNU C 7.1.0
gcc -g -O2 -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type
-Wmissing-declarations -O -DENABLE_UNICODE -DDYNAMIC_FFI -DDYNAMIC_MODULES
-I. /usr/lib/libreadline.so -lncurses -ldl /usr/lib/libavcall.so
/usr/lib/libcallback.so -L/usr/lib -lsigsegv -L/usr/lib -lc libgnu_cl.a
SAFETY=0 TYPECODES WIDE_HARD GENERATIONAL_GC SPVW_BLOCKS SPVW_MIXED
TRIVIALMAP_MEMORY
libsigsegv 2.11
libreadline 7.0
libffcall 1.13
Features:
(READLINE REGEXP SYSCALLS I18N LOOP COMPILER CLOS MOP CLISP ANSI-CL
COMMON-LISP LISP=CL INTERPRETER
SOCKETS GENERIC-STREAMS LOGICAL-PATHNAMES SCREEN FFI GETTEXT UNICODE
BASE-CHAR=CHARACTER WORD-SIZE=64
PC386 UNIX)
C Modules: (clisp i18n syscalls regexp readline)
Installation directory: /usr/lib/clisp-2.49/
User language: ENGLISH
Machine: X86_64 (X86_64)

Which is interesting when compared to the output Ken got, he didn't have
READLINE as a feature?

When I run --version, I do not have readline in the C Modules either although the gcc like has:

gcc -g -O2 -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -Wmissing-declarations -O -DENABLE_UNICODE -DDYNAMIC_MODULES -I. /usr/lib/libreadline.so -lncurses -ldl -L/usr/lib -lsigsegv -L/usr/lib -lc libgnu_cl.a

I then tried adding the sed to change the modules/readline/readline.lisp value of readline-state from int to ulong, but that did not make any difference.

Adding --with-readline does not make a difference for me either.

However readline does seem to be functional when running clisp interactively.

The bottom line is that I cannot reproduce your build failure.

  -- Bruce



--
http://lists.linuxfromscratch.org/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to