On Mon, Mar 2, 2009 at 1:40 AM, Juan Jose Garcia-Ripoll <span dir="ltr"><<a href="mailto:juanjose.garciaripoll@googlemail.com" target="_blank">juanjose.garciaripoll@googlemail.com</a>></span> wrote:<br><div class="gmail_quote">
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div>On Mon, Mar 2, 2009 at 9:57 AM, Elliott Slaughter<br>
<<a href="mailto:elliottslaughter@gmail.com" target="_blank">elliottslaughter@gmail.com</a>> wrote:<br>
> Hi,<br>
><br>
> I'm trying to use asdf:make-build to build a system I built using asdf. My<br>
> problem is that after the build completes, when I run the executable I<br>
> created, none of my packages appear to exist.<br>
<br>
</div>Are you defining the packages in the *.asd files? If so, they are not<br>
going to be included in the executable. Every package definition<br>
should be in one of the compiled files that are going to be linked<br>
into the program. *.asd files are just like makefiles: they do not<br>
form part of the final image.<br></blockquote></div><br clear="all">No, I have a package.lisp file which is a component of the system which defines all the packages.<br><br>And I would also point out that none of the packages from libraries I am importing appear either.<br>
<br>Here is a (somewhat) self-contained example which breaks for me:<br><br>Start from the example in /ecl/examples/asdf/. Modify the files as follows:<br>Add this to the top of file1.lisp:<br>(defpackage :test (:use :cl) (:export :test-function))<br>
(in-package :test)<br>And this to the top of file2.lisp:<br>
(in-package :test)<br><br>Now with just these changes, the example still works fine for me. But say I modify the example.asd by adding the following to the end of the defsystem line.<br> :depends-on (:closer-mop)<br><br>
Now when I build with asdf:make-build, I get the following error:<br><br>elliott@Blackthorn:~/Programming/ecl/examples/asdf$ ecl<br>> (require :asdf)<br><br>NIL<br>> (asdf:make-build :example :type :program :monolithic t)<br>
<br>[... compiling ...]<br>;;; Note: Invoking external command:<br>;;; gcc -o "/home/elliott/Programming/ecl/examples/asdf/example" -L"/usr/local/lib/" "/home/elliott/Programming/ecl/examples/asdf/ECLINITt69QUc.o" "/home/elliott/Programming/Lisp/asdf/closer-mop/libcloser-mop.a" "/home/elliott/Programming/ecl/examples/asdf/libexample.a" -lecl -ldl -lm -lgmp<br>
NIL<br>> (ext:system "./example")<br>No applicable method for MAKE-INSTANCE<br>Broken at SI:TOP-LEVEL.No restarts available.<br>Top level.<br>CLOSER-MOP> (find-package :c2mop) <br><br>#<"CLOSER-MOP" package><br>
CLOSER-MOP> (find-package :test)<br><br>NIL<br>CLOSER-MOP> <br><br>Do you observe these results on your end? Am I doing something wrong in this example?<br><br>Thanks.<br><br>-- <br>Elliott Slaughter<br><br>"Any road followed precisely to its end leads precisely nowhere." - Frank Herbert<br>