Mark Harig schrieb:
I wrote:

There appears to be a contradiction between the Cygwin announcement
and the upstream clisp announcement.  The upstream announcement states
that the configuration option '--with-dynamic-ffi' has been replaced by
the option '--with-ffcall', but the Cygwin announcement states that the
no-longer-supported '--with-dynamic-ffi' configuration option was used.


Reini Urban wrote:

 > I couldn't get it with --with-ffcall to find the ffcall libs on my build
 > machine, --with-dynamic-ffi works still fine. On my development laptop
 > --with-ffcall worked okay.  The end product is the same.

When I attempted to generate 'clisp' using 'cygport ... compile' using the 'clisp-2.44-1.cygport' provided by 'setup', errors were generated when gcc attempted to link 'lisp.exe' (error messages included at the end of this message). So, I replaced '--with-dynamic-ffi' with '--with-ffcall' in CYGCONF_ARGS in clisp-2.44-1.cygport. This initially did not fix the problem when I re-ran 'cygport ... compile' (presumably because of cached configuration results?). I restarted the process with 'cygport ... finish prep compile', and this eliminated the compilation errors (i.e., the 'gcc' linker command included the static libraries /usr/lib/libavcall.a and /usr/lib/libcallback.a).

Could you update the clisp '.cygport' file to use '--with-ffcall' instead of '--with-dynamic-ffi', or
is there some other factor I am not considering?

P.S.,
   The generated lisp appears to be quite good (from the clisp .log file):

          finished  52 files:               0 errors out of  10,812 tests

---------
Link error messages:

gcc -O2 -pipe -Igllib -W -Wswitch -Wcomment -Wpointer-arith -Wimplicit -Wreturn-type -Wmissing-declarations -Wno-sign-compare -O2 -fexpensive-optimizations -falign-functions=4 -DUNICODE -DDYNAMIC_FFI -DNO_GETTEXT -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 funarg.o array.o hashtabl.o list.o package.o record.o weak.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 built.o ari80386.o gllib/uniwidth/width.o gllib/uniname/uniname.o gllib/localcharset.o modules.o -lncurses -L/usr/lib -lsigsegv -o lisp.exe foreign.o:foreign.c:(.text+0xa80): undefined reference to `_is_trampoline_r'

The two ffcall libs are missing:
-lavcall -lcallback

Those need to be defined in
cflags.h, Makefile and makevars:
#define LIBS "-lintl -liconv -lreadline -lavcall -lcallback -lncurses -lsigsegv"

and in makemake:
  FFCALL_LIBS='-lavcall -lcallback '

...
collect2: ld returned 1 exit status
make: *** [lisp.exe] Error 1
*** ERROR: configure failed




--
Reini Urban
http://phpwiki.org/  http://murbreak.at/
http://helsinki.at/  http://spacemovie.mur.at/

Reply via email to