[Ecls-list] Can't build :dll on linux, latest ECL
Faré
fahree at gmail.com
Wed Jun 8 11:08:52 UTC 2011
Peter Keller and I were trying to add ECL support to XCVB, last night,
and I think we managed to add all or most that's needed to XCVB, but
we stumbled upon a bug in ECL:
> (trace c::builder)
(C::BUILDER)
> (asdf:oos 'asdf::dll-op :alexandria)
1> (C::BUILDER :DLL
#P"/home/fare/.cache/common-lisp/ecl-11.1.1-63d83b07-linux-amd64/home/fare/cl/alexandria/libalexandria.so"
:LISP-FILES (#P"/home/fare/.cache/common-lisp/ecl-11.1.1-63d83b07-linux-amd64/home/fare/cl/alexandria/libalexandria.a"))
;;; Note:
;;; Invoking external command:
;;; gcc -I. -I/usr/local/stow/ecl/include/ -D_GNU_SOURCE
-D_FILE_OFFSET_BITS=64 -g -O2 -fPIC -Dlinux -O2 -w -c
/tmp/fare/eclinitSGPsJI.c -o /tmp/fare/eclinitSGPsJI.o
;;; Note:
;;; Invoking external command:
;;; gcc -o /home/fare/.cache/common-lisp/ecl-11.1.1-63d83b07-linux-amd64/home/fare/cl/alexandria/libalexandria.so
-L/usr/local/stow/ecl/lib/ /tmp/fare/eclinitSGPsJI.o
(/home/fare/.cache/common-lisp/ecl-11.1.1-63d83b07-linux-amd64/home/fare/cl/alexandria/libalexandria.a)
-Wl,--rpath,/usr/local/stow/ecl/lib/ -shared -lecl -lgmp -lgc -lffi
-ldl -lm
Condition of type: SIMPLE-TYPE-ERROR
In function COPY-TO-SIMPLE-BASE-STRING, the value of the first argument is
("/home/fare/.cache/common-lisp/ecl-11.1.1-63d83b07-linux-amd64/home/fare/cl/alexandria/libalexandria.a")
which is not of the expected type STRING
Available restarts:
For reference, I debugged with:
(require :asdf) (require :cmp) (progn (setf *print-readably* nil)
(asdf:load-system :asdf) (ext:package-lock "C" nil) (ext:package-lock
"CL" nil) (proclaim '(optimize (safety 3) (debug 3) (speed 2))) (load
"/home/fare/src/ecl/src/cmp/cmpmain.lsp") (trace c::builder
c::compiler-cc c::linker-cc c::shared-cc) (asdf:oos 'asdf::lib-op
:alexandria) (asdf:oos 'asdf::dll-op :alexandria))
And the issue is that in defun builder, the line
(shared-cc output-name (list o-name ld-flags)))
should be:
(shared-cc output-name (cons o-name ld-flags)))
Or maybe list* instead of cons.
Broke on 9db8f32b from Dec 23 2010 - I guess it hasn't been exercised since.
NB: we have been using the latest ECL 11.1.1 from git, on debian
linux, x86 and amd64.
Can you fix that upstream?
Thanks a lot for ECL!
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
My best friend is the one who brings out the best in me. — Henry Ford
More information about the ecl-devel
mailing list