Hi list,
I'm trying to use the relatively recent feature to dump an image using asdf's build-op feature, so that I only need this line in my terminal:
sbcl --eval "(push "$PWD/" asdf:*central-registry*)" --eval '(asdf:operate :build-op :my-system)'
Where my-system has the following .asd:
(asdf:defsystem #:my-system :description "foo" :serial t :depends-on (:sb-posix) :components ((:file "package") (:file "my-system")) :build-operation "asdf:program-op" :build-pathname "my-system" :entry-point "my-system:main")
The binary is built just fine. The issue is that it's created in ~/.cache/common-lisp/sbcl-1.2.15.debian-linux-x64/$PWD/, while I'd just like it to be created in $PWD/.
Is this a configuration issue? Where is this setting configured?
Regards,
This was a bug in ASDF, that fails to call coerce-class on component-build-operation when comparing it to the current operation in bundle-output-files.
Fixed in 3.1.5.16.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Big Business has to *sell* the Vietnam War to you. Big Government can just draft your ass and ship you overseas under threat of imprisonment and/or death. Now, which one is better again? — rho@netdoor.com
On Sat, Sep 26, 2015 at 3:57 PM, Florian Margaine florian@margaine.com wrote:
Hi list,
I'm trying to use the relatively recent feature to dump an image using asdf's build-op feature, so that I only need this line in my terminal:
sbcl --eval "(push "$PWD/" asdf:*central-registry*)" --eval '(asdf:operate :build-op :my-system)'
Where my-system has the following .asd:
(asdf:defsystem #:my-system :description "foo" :serial t :depends-on (:sb-posix) :components ((:file "package") (:file "my-system")) :build-operation "asdf:program-op" :build-pathname "my-system" :entry-point "my-system:main")
The binary is built just fine. The issue is that it's created in ~/.cache/common-lisp/sbcl-1.2.15.debian-linux-x64/$PWD/, while I'd just like it to be created in $PWD/.
Is this a configuration issue? Where is this setting configured?
Regards,
-- Florian Margaine
Faré,
Following our IRC discussion, I'd like to show a workaround in the meantime (for future googlers):
<Fare> not using quotes around asdf:program-op, it should work
This does indeed work. So the .asd file would be like this:
(asdf:defsystem #:my-system :description "foo" :serial t :depends-on (:sb-posix) :components ((:file "package") (:file "my-system")) :build-operation asdf:program-op :build-pathname "my-system" :entry-point "my-system:main")
And the my-system binary is created in the current folder.
Regards,
On Sun, Sep 27, 2015 at 11:25 AM, Faré fahree@gmail.com wrote:
This was a bug in ASDF, that fails to call coerce-class on component-build-operation when comparing it to the current operation in bundle-output-files.
Fixed in 3.1.5.16.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Big Business has to *sell* the Vietnam War to you. Big Government can just draft your ass and ship you overseas under threat of imprisonment and/or death. Now, which one is better again? — rho@netdoor.com
On Sat, Sep 26, 2015 at 3:57 PM, Florian Margaine florian@margaine.com wrote:
Hi list,
I'm trying to use the relatively recent feature to dump an image using asdf's build-op feature, so that I only need this line in my terminal:
sbcl --eval "(push "$PWD/" asdf:*central-registry*)" --eval '(asdf:operate :build-op :my-system)'
Where my-system has the following .asd:
(asdf:defsystem #:my-system :description "foo" :serial t :depends-on (:sb-posix) :components ((:file "package") (:file "my-system")) :build-operation "asdf:program-op" :build-pathname "my-system" :entry-point "my-system:main")
The binary is built just fine. The issue is that it's created in ~/.cache/common-lisp/sbcl-1.2.15.debian-linux-x64/$PWD/, while I'd just like it to be created in $PWD/.
Is this a configuration issue? Where is this setting configured?
Regards,
-- Florian Margaine
On Mon, Sep 28, 2015 at 3:01 PM, Florian Margaine florian@margaine.com wrote:
Faré,
Following our IRC discussion, I'd like to show a workaround in the meantime (for future googlers):
<Fare> not using quotes around asdf:program-op, it should work
This does indeed work. So the .asd file would be like this:
(asdf:defsystem #:my-system :description "foo" :serial t :depends-on (:sb-posix) :components ((:file "package") (:file "my-system")) :build-operation asdf:program-op :build-pathname "my-system" :entry-point "my-system:main")
And the my-system binary is created in the current folder.
Note that this works because the operation you care about, program-op, exists in a package that already exists when the defsystem form is read, asdf. The purpose of accepting classes named in a string is to enable (the symbol that names) such a class to exist in package that doesn't exist yet, but is being defined by a defsystem-depends-on dependency.
Also note that ASDF fails to re-load a defsystem-depends-on dependency when it has changed, or to re-process a .asd file when that happens. OK, created https://bugs.launchpad.net/asdf/+bug/1500578 for that. Don't expect any work on it whatsoever from me, though.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Time and money spent in helping men to do more for themselves is far better than mere giving. — Henry Ford