[Ecls-list] Standalone executables gone mad...
Juan Jose Garcia-Ripoll
juanjose.garciaripoll at googlemail.com
Sat Oct 31 21:09:41 UTC 2009
On Sat, Oct 31, 2009 at 8:42 PM, Brit Butler <redline6561 at gmail.com> wrote:
> Paktahn now builds on ECL. Hooray! Unfortunately, the resulting binary
> "paktahn-mono" complains when invoked that there is "No package named NIL
> and no restarts are available".[...]. I have posted the binary compiled on my system in
> http://redlinernotes.com/docs/ecl-bug/ and am unsure how to get a backtrace
> of what's going on. I do have a systrace however in the directory listed
> above. Can anyone help me?
I have been reading your code and, unless I made a mistake choosing
the repository (http://gitorious.org/paktahn) it is not suited for
building with ASDF. The reason is simple: you are overusing REQUIRE
everywhere. Instead of declaring the package dependencies in the ASDF
system definition, your main.lisp uses REQUIRE to load them. If you do
that, then ECL's make-build routine has absolutely no way to find out
what has to go in the final executable. In other words: it will not
link the final executable with trivial-backtrace, cl-store and a lot
of other stuf that you are using.
My advice: stick to ASDF. Forget REQUIRE *completely*. It is not wise
to mix REQUIRE with ASDF, even if there is a compatibility layer.
Instead, write a system definition for your system in a separate
pakhtan.asd file, just like with any other library and add to the
system definition all dependencies (:depends-on ... option for
defsystem). Then use (ASDF:OOS 'ASDF:LOAD :PAKHTAN) and see whether it
loads properly. You can try this with SBCL, which you have been using
so far, if that makes you feel more confident about the outcome.
Verify that everything went ok, that your program works, etc. Only
then go back to ECL and try with ASDF:MAKE-BUILD.
Juanjo
--
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com
More information about the ecl-devel
mailing list