[Ecls-list] Trying to settle things for the summer (Maxima related stuff)

Seth Burleigh seth at tewebs.com
Sun Jun 20 00:29:15 UTC 2010


Alright, so another problem with building dlls.
Same code as above, except in meta.lisp i have 
(in-package :meta)
(ffi:clines
 "
#include <ecl/ecl.h>
void initer () {

}
")
(defun add (a b)
  (+ a b))


and build with the below, i get the below error. However, i can get it
to succeed first by building without the ld-flags and then after it
succeeds, including them. Then, i can break it once again by adding some
code in initer (like int a = 0;).  So basically the ld-flags are being
passed to 'ar' in this case and are not being passed in the other case
(setting c:*user-ld-flags*)



> (asdf:make-build :meta :type :dll :move-here "~/devel/meta/" :ld-flags
'("-lecl" ))

;;; Note:
;;;   Invoking external command:
;;;   g++ "-I/usr/local/include/"  -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
-g -O2 -fPIC  -D_THREAD_SAFE -Dlinux -O2 -w -c "/tmp/eclinitBw3FKS.c" -o
"/tmp/eclinitBw3FKS.o"
;;; 
;;; Note:
;;;   Invoking external command:
;;;   ar cr
"/home/seth/.cache/common-lisp/ecl-10.4.2-2f83e196-linux-x86-64/home/seth/devel/meta/libmeta.a" "/tmp/eclinitBw3FKS.o" "/home/seth/.cache/common-lisp/ecl-10.4.2-2f83e196-linux-x86-64/home/seth/devel/meta/package.o" "/home/seth/.cache/common-lisp/ecl-10.4.2-2f83e196-linux-x86-64/home/seth/devel/meta/meta.o" "-lecl" 
;;; ar: -lecl: No such file or directory

(SYSTEM "ar cr
\"/home/seth/.cache/common-lisp/ecl-10.4.2-2f83e196-linux-x86-64/home/seth/devel/meta/libmeta.a\" \"/tmp/eclinitBw3FKS.o\" \"/home/seth/.cache/common-lisp/ecl-10.4.2-2f83e196-linux-x86-64/home/seth/devel/meta/package.o\" \"/home/seth/.cache/common-lisp/ecl-10.4.2-2f83e196-linux-x86-64/home/seth/devel/meta/meta.o\" \"-lecl\" ") returned non-zero value 1

Available restarts:

1. (CONTINUE) Continues anyway.
2. (RETRY) Retry performing #<ASDF::LIB-OP (:LD-FLAGS ("-lecl"))
175984832> on #<ASDF:SYSTEM "meta">.
3. (ACCEPT) Continue, treating #<ASDF::LIB-OP (:LD-FLAGS ("-lecl"))
175984832> on #<ASDF:SYSTEM "meta"> as having been successful.
4. (RESTART-TOPLEVEL) Go back to Top-Level REPL.

Broken at SI:BYTECODES. [Evaluation of:
(ASDF:MAKE-BUILD :META :TYPE :DLL :MOVE-HERE "~/devel/meta/" :LD-FLAGS
'("-lecl"))] In: #<process SI:TOP-LEVEL 09371fc0>.






More information about the ecl-devel mailing list