Re: [Ecls-list] Example about building / loading ECL libraries
Hi Juanjo, Thank you very much for this example! Nothing is more helpful than some working code to start from! On my windows installation, however, it still refuses to work: ecl.exe -norc \ -eval '(require :asdf)' \ -eval '(push ./ asdf:*central-registry*)' \ -eval '(asdf:make-build :hello-lisp :type :static-library :move-here ./hello-lisp.lib)' \ -eval '(quit)' ;;; Loading #PC:/Users/dietrich/home/cs/lang/lisp/ecl/64/git/install/asdf.fas An error occurred during initialization: In COMPILE-FILE-PATHNAME, the type OBJECT is unsupported.. Any idea what is going wrong? Thanks again, Dietrich On Wed, May 29, 2013 at 6:10 AM, Juan Jose Garcia-Ripoll juanjose.garciarip...@gmail.com wrote: I just cooked a trivial example https://sourceforge.net/p/ecls/ecl/ci/master/tree/examples/embed/ The example shows how to build a trivial Common Lisp package, compile it into a statically linked library using ECL and invoke it from a C program with which it is linked. It should be trivial to generalize it to using shared libraries and dlopen(). Best, Juanjo -- Instituto de Física Fundamental, CSIC c/ Serrano, 113b, Madrid 28006 (Spain) http://juanjose.garciaripoll.googlepages.com -- Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET Get 100% visibility into your production application - at no cost. Code-level diagnostics for performance bottlenecks with 2% overhead Download for free and get started troubleshooting in minutes. http://p.sf.net/sfu/appdyn_d2d_ap1___ Ecls-list mailing list Ecls-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ecls-list
Re: [Ecls-list] Example about building / loading ECL libraries
add -eval '(ext:install-c-compiler)' or similar (clause copied from the ANNOUNCEMENT) before ASDF. You are using the bytecodes compiler by default and this does not allow building object files On Wed, May 29, 2013 at 3:22 PM, Dietrich Bollmann dietr...@formgames.orgwrote: Hi Juanjo, Thank you very much for this example! Nothing is more helpful than some working code to start from! On my windows installation, however, it still refuses to work: ecl.exe -norc \ -eval '(require :asdf)' \ -eval '(push ./ asdf:*central-registry*)' \ -eval '(asdf:make-build :hello-lisp :type :static-library :move-here ./hello-lisp.lib)' \ -eval '(quit)' ;;; Loading #PC:/Users/dietrich/home/cs/lang/lisp/ecl/64/git/install/asdf.fas An error occurred during initialization: In COMPILE-FILE-PATHNAME, the type OBJECT is unsupported.. Any idea what is going wrong? Thanks again, Dietrich On Wed, May 29, 2013 at 6:10 AM, Juan Jose Garcia-Ripoll juanjose.garciarip...@gmail.com wrote: I just cooked a trivial example https://sourceforge.net/p/ecls/ecl/ci/master/tree/examples/embed/ The example shows how to build a trivial Common Lisp package, compile it into a statically linked library using ECL and invoke it from a C program with which it is linked. It should be trivial to generalize it to using shared libraries and dlopen(). Best, Juanjo -- Instituto de Física Fundamental, CSIC c/ Serrano, 113b, Madrid 28006 (Spain) http://juanjose.garciaripoll.googlepages.com -- Instituto de Física Fundamental, CSIC c/ Serrano, 113b, Madrid 28006 (Spain) http://juanjose.garciaripoll.googlepages.com -- Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET Get 100% visibility into your production application - at no cost. Code-level diagnostics for performance bottlenecks with 2% overhead Download for free and get started troubleshooting in minutes. http://p.sf.net/sfu/appdyn_d2d_ap1___ Ecls-list mailing list Ecls-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ecls-list
[Ecls-list] Standalone binary not really standalone?
I was hoping to use make-build to create a monolithic binary I could then just drop into the cgi-bin directory. It failed thus: error while loading shared libraries: libecl.so.13.4: cannot open shared object file: No such file or directory 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? Thanks in advance, William -- Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET Get 100% visibility into your production application - at no cost. Code-level diagnostics for performance bottlenecks with 2% overhead Download for free and get started troubleshooting in minutes. http://p.sf.net/sfu/appdyn_d2d_ap1___ Ecls-list mailing list Ecls-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ecls-list
Re: [Ecls-list] Standalone binary not really standalone?
On Wed, May 29, 2013 at 12:10 PM, William Hounslow houns...@users.sourceforge.net wrote: I was hoping to use make-build to create a monolithic binary I could then just drop into the cgi-bin directory. It failed thus: error while loading shared libraries: libecl.so.13.4: cannot open shared object file: No such file or directory 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? As an alternative, you may be able to set the environment variable LD_LIBRARY_PATH on Linux (or something similar on your OS) to locate libraries; e.g. if this is a Linux/Apache combo, in your Directory section, you may be able to add something like this… Directory /cgi-bin SetEnv LD_LIBRARY_PATH /var/www/cgi-lib/ ... /Directory … with the appropriate directory, of course. With Gnu LD, you may also be able to hard-code a preferred RPath into the executable file itself using the LD flag like -rpath=/var/www/cgi-lib — you may be able to pass this via the ASDF:MAKE-BUILD :LD-FLAGS … ? By the by, … how are you trying to run asdf:make-build? Did you in fact call it with :MONOLITHIC T or :TYPE :PROGRAM? (I'm sure someone far better versed in the ECL side of things may be able to help better, but that does seem to be the first thing necessary. :-) ) Thanks in advance, William -- Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET Get 100% visibility into your production application - at no cost. Code-level diagnostics for performance bottlenecks with 2% overhead Download for free and get started troubleshooting in minutes. http://p.sf.net/sfu/appdyn_d2d_ap1___ Ecls-list mailing list Ecls-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ecls-list
Re: [Ecls-list] Standalone binary not really standalone?
On Wed, May 29, 2013 at 6:10 PM, William Hounslow houns...@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 -- Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET Get 100% visibility into your production application - at no cost. Code-level diagnostics for performance bottlenecks with 2% overhead Download for free and get started troubleshooting in minutes. http://p.sf.net/sfu/appdyn_d2d_ap1___ Ecls-list mailing list Ecls-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ecls-list