[Ecls-list] ASDF load-op problem
kmkaplan+ecl at kim.kim-minh.com
kmkaplan+ecl at kim.kim-minh.com
Wed Sep 3 10:32:55 UTC 2008
Hello,
I am trying to use ASDF with ecl and it works fine only the first time I
load my package. After I change my source files and reload my package
in the same running ecl instance it compiles and says it is loading the
new file but I still get the old instances of my functions.
$ cat test-case.asd
(defsystem :test-case :components ((:file "test")))
$ cat test.lisp
(defun test () (write-line "First test"))
kmkaplan at r10721:~/src/lisp/ecl/mod_ecl/test-case$ ecl
ECL (Embeddable Common-Lisp) 0.9k (CVS 2008-06-19 17:09)
Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya
Copyright (C) 1993 Giuseppe Attardi
Copyright (C) 2000 Juan J. Garcia-Ripoll
ECL is free software, and you are welcome to redistribute it
under certain conditions; see file 'Copyright' for details.
Type :h for Help. Top level.
> (require 'asdf)
;;; Loading #P"/usr/local/lib/ecl/asdf.fas"
;;; Loading #P"/usr/local/lib/ecl/cmp.fas"
;;; Loading #P"/usr/local/lib/ecl/sysfun.lsp"
("ASDF" "CMP")
> (asdf:oos 'asdf:load-op 'test-case)
; loading system definition from test-case.asd into #<ASDF0 package>
;;; Loading
"/home/kmkaplan/src/lisp/ecl/mod_ecl/test-case/test-case.asd"
; registering #<SYSTEM :TEST-CASE 147274464> as TEST-CASE
;;; Compiling /home/kmkaplan/src/lisp/ecl/mod_ecl/test-case/test.lisp.
;;; Compiling (DEFUN TEST ...).
;;; End of Pass 1.
;;; Note: Scanning
#P"/home/kmkaplan/src/lisp/ecl/mod_ecl/test-case/test.o"
;;; Note: Found tag: "_eclzHOZlQg7_FjWtMNy"
;;; Emitting code for TEST.
;;; Calling the C compiler...
;;; Note: Invoking external command:
;;; gcc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fPIC -Dlinux -O
"-I/usr/local/include/" -w -c
"/home/kmkaplan/src/lisp/ecl/mod_ecl/test-case/test.c" -o
"/home/kmkaplan/src/lisp/ecl/mod_ecl/test-case/test.o"
;;; OPTIMIZE levels: Safety=2, Space=0, Speed=3, Debug=0
;;; Finished compiling
/home/kmkaplan/src/lisp/ecl/mod_ecl/test-case/test.lisp.
;;; Note: Scanning
#P"/home/kmkaplan/src/lisp/ecl/mod_ecl/test-case/test.o"
;;; Note: Found tag: "_eclzHOZlQg7_FjWtMNy"
;;; Note: Invoking external command:
;;; gcc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fPIC -Dlinux -O
"-I/usr/local/include/" -w -c
"/home/kmkaplan/src/lisp/ecl/mod_ecl/test-case/ECLINIT0k7t6J.c" -o
"/home/kmkaplan/src/lisp/ecl/mod_ecl/test-case/ECLINIT0k7t6J.o"
;;; Note: Invoking external command:
;;; gcc -o "/home/kmkaplan/src/lisp/ecl/mod_ecl/test-case/test.fas"
-L"/usr/local/lib/"
"/home/kmkaplan/src/lisp/ecl/mod_ecl/test-case/ECLINIT0k7t6J.o"
"/home/kmkaplan/src/lisp/ecl/mod_ecl/test-case/test.o" -shared -lecl
-ldl -lm
;;; Loading "/home/kmkaplan/src/lisp/ecl/mod_ecl/test-case/test.fas"
NIL
> (test)
First test
"First test"
So far so good. But now I edit test.lisp to output something else and:
> (asdf:oos 'asdf:load-op 'test-case)
;;; Compiling /home/kmkaplan/src/lisp/ecl/mod_ecl/test-case/test.lisp.
;;; Compiling (DEFUN TEST ...).
;;; End of Pass 1.
;;; Note: Scanning
#P"/home/kmkaplan/src/lisp/ecl/mod_ecl/test-case/test.o"
;;; Note: Found tag: "_eclzHOZlQg7_FjWtMNy"
;;; Emitting code for TEST.
;;; Calling the C compiler...
;;; Note: Invoking external command:
;;; gcc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fPIC -Dlinux -O
"-I/usr/local/include/" -w -c
"/home/kmkaplan/src/lisp/ecl/mod_ecl/test-case/test.c" -o
"/home/kmkaplan/src/lisp/ecl/mod_ecl/test-case/test.o"
;;; OPTIMIZE levels: Safety=2, Space=0, Speed=3, Debug=0
;;; Finished compiling
/home/kmkaplan/src/lisp/ecl/mod_ecl/test-case/test.lisp.
;;; Note: Scanning
#P"/home/kmkaplan/src/lisp/ecl/mod_ecl/test-case/test.o"
;;; Note: Found tag: "_eclzHOZlQg7_FjWtMNy"
;;; Note: Invoking external command:
;;; gcc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fPIC -Dlinux -O
"-I/usr/local/include/" -w -c
"/home/kmkaplan/src/lisp/ecl/mod_ecl/test-case/ECLINITxbiV8c.c" -o
"/home/kmkaplan/src/lisp/ecl/mod_ecl/test-case/ECLINITxbiV8c.o"
;;; Note: Invoking external command:
;;; gcc -o "/home/kmkaplan/src/lisp/ecl/mod_ecl/test-case/test.fas"
-L"/usr/local/lib/"
"/home/kmkaplan/src/lisp/ecl/mod_ecl/test-case/ECLINITxbiV8c.o"
"/home/kmkaplan/src/lisp/ecl/mod_ecl/test-case/test.o" -shared -lecl
-ldl -lm
;;; Loading "/home/kmkaplan/src/lisp/ecl/mod_ecl/test-case/test.fas"
NIL
> (test)
First test
"First test"
>
I still get the old test function, not the modified one. This is on
Linux i686.
More information about the ecl-devel
mailing list