[Ecls-list] Standalone binary not really standalone?

William Hounslow hounslow at users.sourceforge.net
Tue Jun 4 18:26:21 UTC 2013


Hi again,

On 29/05/2013 18:53, Juan Jose Garcia-Ripoll wrote:
>
> On Wed, May 29, 2013 at 6:10 PM, William Hounslow 
> <hounslow at users.sourceforge.net 
> <mailto:hounslow at users.sourceforge.net>> wrote:
>
>     Can a truly standalone program be created? If not, how to ensure
>     that the end user can deploy the output binary in a location of
>     their choice?
>
>
> Apart from what you have been told, ECL can be built in statically 
> linked mode with --disable-shared. In this case, standalone 
> executables should be linked against a statically linked version of 
> the library. But I personally find the other solution (deliver 
> executable with the ECL library) preferable (and more compliant with 
> LGPL).
>
> Juanjo
>
>
> -- 
> Instituto de Física Fundamental, CSIC
> c/ Serrano, 113b, Madrid 28006 (Spain)
> http://juanjose.garciaripoll.googlepages.com

I rebuilt ECL as suggested, deleted the old binary, evaluated 
(ext:install-c-compiler) and was able to get the hoped-for statically 
linked program.

Now I need to change something and recompile.

The initial problem was something to do with an unexpected rubout 
character in the FASL (I don't have a record of this unfortunately). I 
then tried deleting the ASDF cache to force a total recompilation. Now I 
get:

Condition of type: CASE-FAILURE
:FASL fell through ECASE expression.
Wanted one of (:PROGRAM :LIB ...).
Broken at C::BUILDER. In: #<process TOP-LEVEL>.
 >> :b

Backtrace:
   > C::BUILDER
   > c:build-fasl
   > uiop/lisp-build:compile-file*
   > lambda
   > uiop/utility:call-with-muffled-conditions
   > uiop/lisp-build:call-with-muffled-compiler-conditions
   > lambda
   > uiop/utility:call-function
   > uiop/lisp-build:call-around-hook
   > asdf/lisp-action:call-with-around-compile-hook
   > asdf/lisp-action:perform-lisp-compilation
   > asdf/action:perform
   > asdf/action:perform-with-restarts
   > asdf/action:perform-with-restarts
   > asdf/plan:perform-plan
   > asdf/plan:perform-plan
   > asdf/operate:operate
   > call-next-method
   > lambda
   > asdf/cache:call-with-asdf-cache
   > asdf/find-system::call-with-system-definitions
   > lambda
   > asdf/operate:operate
   > call-next-method
   > lambda
   > asdf/cache:call-with-asdf-cache
   > asdf/find-system::call-with-system-definitions
   > lambda
   > lambda
   > asdf/bundle:make-build
   > si:bytecodes [Evaluation of: (asdf/bundle:make-build :process-form 
...)]
   > si:bytecodes [Evaluation of: (si:top-level t)]

What is wrong?

Thanks in anticipation,

William

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20130604/6363b938/attachment.html>


More information about the ecl-devel mailing list