p...@informatimago.com (Pascal J. Bourguignon) writes: > I cannot build working executables. > > > [...@mdi-development-1 localhost:10.0 |MDI| mdi]$ > /home/pjb/.cache/common-lisp/mdi-development-1.lan.informatimago.com/ecl-10.7.1-linux-x86/home/pjb/firms/medicalis/src/mdi/subprojects/imcp/sources/es.medicalis.mdi.imcp.test-server > Starting server prologue > > No class named ASDF::COMPILE-OP. > No restarts available. > > Broken at NIL. In: #<process SI:TOP-LEVEL 08a3cfc0>. > CFFI-GROVEL>> :b > > Backtrace: > > CFFI-GROVEL>> > > > > The asd file is: > ------------------------------------------------------------------------ > ;;;; -*- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 -*- > > (asdf:defsystem :es.medicalis.mdi.imcp.test-server.program > :description "This ASDF system gathers all the packages of the IMCP > Test-Server program." > :version "0.5" > :author "<PJB> Pascal Bourguignon <pascal.bourguig...@medicalis.es>" > :licence "Proprietary" > :depends-on ("split-sequence" > "alexandria" "babel" "iolib" > "es.medicalis.mdi.common" > "es.medicalis.mdi.imcp") > :components ((:file "test-server"))) > > ;;;; THE END ;;;; > ------------------------------------------------------------------------
Ok, I found out in a blog that one could pass a sexp to :prologue-code. This is not what is documented (a bug in the documentation): (asdf:make-build system-name) ⇒ &key) ⇒ type) ⇒ monolithic) ⇒ ld-flags) ⇒ prologue-code) ⇒ epilogue-code) ⇒ &allow-other-keys) system-name A symbol naming the system to be built. Only the symbol name is considered. type One of :FASL, :DLL, :LIB or :PROGRAM monolithic A boolean value. ld-flags A list of strings. prologue-code A string. epilogue-code A string or a lisp form. Notice also that bug in the generation of the HTML documentation, with all those closing parentheses and double right arrows... So I put '(require :asdf) in the :prologue-code, and thus it went one step forward: [...@mdi-development-1 localhost:10.0 |MDI| mdi]$ /home/pjb/.cache/common-lisp/mdi-development-1.lan.informatimago.com/ecl-10.7.1-linux-x86/home/pjb/firms/medicalis/src/mdi/subprojects/imcp/sources/es.medicalis.mdi.imcp.test-client Starting client prologue ;;; Loading #P"/usr/local/lib/ecl-10.7.1/asdf.fas" ;;; Loading #P"/usr/local/lib/ecl-10.7.1/cmp.fas" There exists no package with name "IOLIB" No restarts available. Broken at NIL. In: #<process SI:TOP-LEVEL 08fd9fc0>. ES.MEDICALIS.MDI.COMMON.END-POINT>> :backtrace Backtrace: ES.MEDICALIS.MDI.COMMON.END-POINT>> But there's still no backtrace, and the asdf systems that were specifically specified as dependencies, and which have been explicitely included in the link phase: ;;; gcc \ ;;; -o \ ;;; "/home/pjb/.cache/common-lisp/mdi-development-1.lan.informatimago.com/ecl-10.7.1-linux-x86/home/pjb/firms/medicalis/src/mdi/subprojects/imcp/sources/es.medicalis.mdi.imcp.test-server" \ ;;; -L"/usr/local/lib/" \ ;;; "/tmp/eclinitEVv27z.o" \ ;;; "/home/pjb/.cache/common-lisp/mdi-development-1.lan.informatimago.com/ecl-10.7.1-linux-x86/home/pjb/firms/medicalis/src/mdi/subprojects/dependencies/lisp/pjb-libcl-2009-10-27-beta/bordeaux-threads/libbordeaux-threads.a" \ ;;; "/home/pjb/.cache/common-lisp/mdi-development-1.lan.informatimago.com/ecl-10.7.1-linux-x86/home/pjb/firms/medicalis/src/mdi/subprojects/dependencies/lisp/pjb-libcl-2009-10-27-beta/alexandria/libalexandria.a" \ ;;; "/home/pjb/.cache/common-lisp/mdi-development-1.lan.informatimago.com/ecl-10.7.1-linux-x86/home/pjb/firms/medicalis/src/mdi/subprojects/dependencies/lisp/pjb-libcl-2009-10-27-beta/trivial-features/libtrivial-features.a" \ ;;; "/home/pjb/.cache/common-lisp/mdi-development-1.lan.informatimago.com/ecl-10.7.1-linux-x86/home/pjb/firms/medicalis/src/mdi/subprojects/dependencies/lisp/pjb-libcl-2009-10-27-beta/babel/libbabel.a" \ ;;; "/home/pjb/.cache/common-lisp/mdi-development-1.lan.informatimago.com/ecl-10.7.1-linux-x86/home/pjb/firms/medicalis/src/mdi/subprojects/dependencies/lisp/pjb-libcl-2009-10-27-beta/cffi/libcffi.a" \ ;;; "/home/pjb/.cache/common-lisp/mdi-development-1.lan.informatimago.com/ecl-10.7.1-linux-x86/home/pjb/firms/medicalis/src/mdi/subprojects/dependencies/lisp/pjb-libcl-2009-10-27-beta/cffi/libcffi-grovel.a" \ ;;; "/home/pjb/.cache/common-lisp/mdi-development-1.lan.informatimago.com/ecl-10.7.1-linux-x86/home/pjb/firms/medicalis/src/mdi/subprojects/dependencies/lisp/site/trivial-garbage_0.18/libtrivial-garbage.a" \ ;;; "/home/pjb/.cache/common-lisp/mdi-development-1.lan.informatimago.com/ecl-10.7.1-linux-x86/home/pjb/firms/medicalis/src/mdi/subprojects/dependencies/lisp/site/iolib/src/base/libiolib.a" \ ;;; "/home/pjb/.cache/common-lisp/mdi-development-1.lan.informatimago.com/ecl-10.7.1-linux-x86/home/pjb/firms/medicalis/src/mdi/subprojects/dependencies/lisp/site/iolib/src/syscalls/libiolib.a" \ ;;; "/home/pjb/.cache/common-lisp/mdi-development-1.lan.informatimago.com/ecl-10.7.1-linux-x86/home/pjb/firms/medicalis/src/mdi/subprojects/dependencies/lisp/site/iolib/src/multiplex/libiolib.a" \ ;;; "/home/pjb/.cache/common-lisp/mdi-development-1.lan.informatimago.com/ecl-10.7.1-linux-x86/home/pjb/firms/medicalis/src/mdi/subprojects/dependencies/lisp/site/iolib/src/streams/gray/libiolib.a" \ ;;; "/home/pjb/.cache/common-lisp/mdi-development-1.lan.informatimago.com/ecl-10.7.1-linux-x86/home/pjb/firms/medicalis/src/mdi/subprojects/dependencies/lisp/site/iolib/src/sockets/libiolib.a" \ ;;; "/home/pjb/.cache/common-lisp/mdi-development-1.lan.informatimago.com/ecl-10.7.1-linux-x86/home/pjb/firms/medicalis/src/mdi/subprojects/dependencies/lisp/site/iolib/src/iolib/libiolib.a" \ ;;; "/home/pjb/.cache/common-lisp/mdi-development-1.lan.informatimago.com/ecl-10.7.1-linux-x86/home/pjb/firms/medicalis/src/mdi/subprojects/dependencies/lisp/site/split-sequence/libsplit-sequence.a" \ ;;; "/home/pjb/.cache/common-lisp/mdi-development-1.lan.informatimago.com/ecl-10.7.1-linux-x86/home/pjb/firms/medicalis/src/mdi/subprojects/common/sources/libes.medicalis.mdi.a" \ ;;; "/home/pjb/.cache/common-lisp/mdi-development-1.lan.informatimago.com/ecl-10.7.1-linux-x86/home/pjb/firms/medicalis/src/mdi/subprojects/imcp/sources/libes.medicalis.mdi.a" \ ;;; "/home/pjb/.cache/common-lisp/mdi-development-1.lan.informatimago.com/ecl-10.7.1-linux-x86/home/pjb/firms/medicalis/src/mdi/subprojects/imcp/sources/libes.medicalis.mdi.imcp.test-server.a" \ ;;; \ ;;; "-Wl,--rpath,/usr/local/lib/" \ ;;; \ ;;; \ ;;; -lffi \ ;;; -lecl \ ;;; \ ;;; -lgmp \ ;;; -lpthread \ ;;; -ldl \ ;;; \ ;;; -lm seem to NOT be present in the generated image. Do we have to put in the prolog code to reload all the dependencies? Then what would be the point of generating it in the first place? Also, I'm afraid that if I put whatever is required to load my program and dependencies in the prologue, it will be a tad to slow a start for my application... The build script contains: (asdf-load :ES.MEDICALIS.MDI.IMCP.test-client.program) (asdf:make-build :ES.MEDICALIS.MDI.IMCP.TEST-CLIENT.program :type :program :monolithic t :prologue-code '(progn (princ "Starting client prologue") (terpri) (require :asdf)) ;; :prologue-code "printf(\"Starting client prologue\\n\");fflush(stdout);" :epilogue-code '(unwind-protect (progn (princ "Starting client") (terpri) (finish-output) (ES.MEDICALIS.MDI.IMCP.TEST-CLIENT:MAIN :SERVER-INTERFACE "127.0.0.1" :SERVER-PORT 10001 :COMMAND-PORT 10011)) (ext:quit 0))) -- __Pascal Bourguignon__ http://www.informatimago.com/ ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ Ecls-list mailing list Ecls-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ecls-list