<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8">
</head>
<body>
<div style="font-family:sans-serif"><div style="white-space:normal">
<p dir="auto">Will you please clarify for my benefit, since I don't actually use any of the image operations.</p>
<p dir="auto">Is the problem that somewhere in the process of loading Postmodern, or one of its dependencies, some bit of code invokes <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7">REQUIRE</code>? Or is this an issue with ASDF's <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7">REQUIRE-SYSTEM</code>.</p>
<p dir="auto">If it's the former, then I believe this is simply a bad implementation in the relevant system.</p>
<p dir="auto">If it's the latter, we should do something about it. However, I believe that <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7">REQUIRE-SYSTEM</code>, despite its name, doesn't actually use <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7">REQUIRE</code>, instead it "acts like <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7">require</code>."</p>
<p dir="auto">Thanks,<br>
R</p>
<p dir="auto">On 14 Oct 2017, at 11:45, Faré wrote:</p>
</div>
<div style="white-space:normal"><blockquote style="border-left:2px solid #777; color:#777; margin:0 0 5px; padding-left:5px"><p dir="auto">Dear Ben,<br>
<br>
sorry I won't be developing this feature, but I'll happily merge your<br>
patch if you do. "Just" add support for dumping source code for a<br>
(:require ...) dependency.<br>
<br>
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• <a href="http://fare.tunes.org" style="color:#777">http://fare.tunes.org</a><br>
Guns & bullets don't kill people — blood loss and organ damage kills people.<br>
<br>
<br>
On Thu, Oct 12, 2017 at 4:07 PM, Ben Vulpes <benv@mavn.is> wrote:</p>
<blockquote style="border-left:2px solid #777; color:#999; margin:0 0 5px; padding-left:5px; border-left-color:#999"><p dir="auto">On SBCL 1.3.11, when producing a monolithic source concatenation with<br>
the library "Postmodern", asdf produces a file that needs a Lisp image<br>
to need manual calls to (require :usocket) and (require :md5) in order<br>
to load completely.<br>
<br>
Given:<br>
<br>
concatenatrix.asd as:<br>
<br>
(asdf:defsystem :concatenatrix<br>
:build-operation monolithic-concatenate-source-op<br>
:build-pathname "build/full-concatenation"<br>
:depends-on (:postmodern)<br>
:components<br>
((:file "concatenatrix")))<br>
<br>
concatenatrix.lisp as:<br>
<br>
(defpackage :concatenatrix<br>
(:use :cl :postmodern))<br>
(in-package :concatenatrix)<br>
<br>
(defun wat (it)<br>
(format t "~A~%" it))<br>
<br>
Concatenated sources produced with:<br>
<br>
(asdf:make :concatenatrix)<br>
<br>
Loading tested with:<br>
<br>
sbcl --noinform --disable-debugger --load build/full-concatenation.lisp<br>
<br>
Produces:<br>
<br>
Unhandled SB-C::INPUT-ERROR-IN-LOAD in thread #<SB-THREAD:THREAD "main<br>
thread" RUNNING<br>
{10027FE873}>:<br>
READ error during LOAD:<br>
<br>
Package SB-ROTATE-BYTE does not exist.<br>
<br>
Line: 221, Column: 29, File-Position: 8706<br>
<br>
Stream: #<SB-INT:FORM-TRACKING-STREAM for "file<br>
/home/b/quicklisp/local-projects/concatenatrix/build/full-concatenation.lisp"<br>
{1003CFCA03}><br>
<br>
<br>
Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {10027FE873}><br>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK #<SB-C::INPUT-ERROR-IN-LOAD<br>
{1004014AC3}> #<unavailable argument>)<br>
1: (SB-DEBUG::RUN-HOOK SB-EXT:*INVOKE-DEBUGGER-HOOK*<br>
#<SB-C::INPUT-ERROR-IN-LOAD {1004014AC3}>)<br>
2: (INVOKE-DEBUGGER #<SB-C::INPUT-ERROR-IN-LOAD {1004014AC3}>)<br>
3: (ERROR #<SB-C::INPUT-ERROR-IN-LOAD {1004014AC3}>)<br>
4: (SB-C:COMPILER-ERROR SB-C::INPUT-ERROR-IN-LOAD :CONDITION<br>
#<SB-INT:SIMPLE-READER-PACKAGE-ERROR "Package ~A does not exist."<br>
{10040149E3}> :STREAM #<SB-INT:FORM-TRACKING-STREAM for "file<br>
/home/b/quicklisp/local-projects/concatenatrix/build/full-concatenation.lisp"<br>
{1003CFCA03}>)<br>
5: (SB-C::%DO-FORMS-FROM-INFO #<CLOSURE (LAMBDA (SB-KERNEL:FORM &KEY<br>
:CURRENT-INDEX &ALLOW-OTHER-KEYS) :IN SB-INT:LOAD-AS-SOURCE)<br>
{1003D004FB}> #<SB-C::SOURCE-INFO {1003D004B3}><br>
SB-C::INPUT-ERROR-IN-LOAD)<br>
6: (SB-INT:LOAD-AS-SOURCE #<SB-INT:FORM-TRACKING-STREAM for "file<br>
/home/b/quicklisp/local-projects/concatenatrix/build/full-concatenation.lisp"<br>
{1003CFCA03}> :VERBOSE NIL :PRINT NIL :CONTEXT "loading")<br>
7: ((FLET SB-FASL::LOAD-STREAM :IN LOAD) #<SB-INT:FORM-TRACKING-STREAM<br>
for "file /home/b/quicklisp/local-projects/concatenatrix/build/full-concatenation.lisp"<br>
{1003CFCA03}> NIL)<br>
8: (LOAD #P"build/full-concatenation.lisp" :VERBOSE NIL :PRINT NIL<br>
:IF-DOES-NOT-EXIST T :EXTERNAL-FORMAT :DEFAULT)<br>
9: (SB-IMPL::PROCESS-EVAL/LOAD-OPTIONS ((:LOAD .<br>
"build/full-concatenation.lisp")))<br>
10: (SB-IMPL::TOPLEVEL-INIT)<br>
11: ((FLET #:WITHOUT-INTERRUPTS-BODY-90 :IN SB-EXT:SAVE-LISP-AND-DIE))<br>
12: ((LABELS SB-IMPL::RESTART-LISP :IN SB-EXT:SAVE-LISP-AND-DIE))<br>
<br>
There is another complaint about usocket, which is confusing, as<br>
cl-postgres explicitly doesn't require usocket on sbcl by my read (<br>
<a href="http://marijnhaverbeke.nl/git/?p=postmodern;a=blob;f=cl-postgres.asd;h=683edf0f131a4ebe172b44425f597d7f67656e70;hb=HEAD#l16" style="color:#999">http://marijnhaverbeke.nl/git/?p=postmodern;a=blob;f=cl-postgres.asd;h=683edf0f131a4ebe172b44425f597d7f67656e70;hb=HEAD#l16</a><br>
).<br>
<br>
Loading is resolved by requiring both libraries in question, as:<br>
<br>
sbcl --eval "(require :md5)" --eval "(require :usocket)" --load<br>
build/full-concatenation.lisp<br>
<br>
Yours,<br>
Benjamin<br>
</p>
</blockquote></blockquote></div>
<div style="white-space:normal">
</div>
</div>
</body>
</html>