Faré wrote: > > Using asdf 3.1, you can use *immutable-systems* for that (see its docstring). >
Ok... After initializing Quicklisp and ASDF, I do: (setq asdf:*immutable-systems* (uiop:list-to-hash-set "gendl" ... )) as well as (asdf/find-system:register-preloaded-system "gendl") ... with all the known preloaded systems. But now if I do (ql:quickload :gendl) I still get this error: "Requested system gendl is in the *immutable-systems* set, but not loaded in memory" Apparently, (asdf:system-registered-p "gendl") is still coming back as NIL. Is there another step I should be doing? On Sat, Aug 9, 2014 at 1:09 AM, Faré <fah...@gmail.com> wrote: > On Fri, Aug 8, 2014 at 10:54 PM, Dave Cooper <david.coo...@genworks.com> > wrote: > > Hi, I know this has been discussed, but what is currently the best > practice > > for registering a preloaded system after loading Quicklisp? That is, I > have > > a pre-built image with some Quicklisp/ASDF systems in it, which were > loaded > > through so-called monolithic-fasls (now known as compile-bundles). So the > > pre-built image doesn’t itself have ASDF or Quicklisp. > > > > A downstream user then loads Quicklisp and ASDF (I take steps to ensure > that > > they are loading the matching version of ASDF and Quicklisp as was used > to > > build the image). Now I need to do something to tell Quicklisp and ASDF > > that certain systems are already loaded in this image, so it won’t try to > > re-load them as depended-upon systems. In this specific case, I don't > want > > it to try to fetch and reload Gendl when the user does (ql:quickload > ...) on > > an application which :depends-on :gendl (because gendl is already built > into > > this image). > > > > asdf/find-system:register-preloaded-system seems like it should be the > > answer if we’re talking about plain ASDF, because it will prevent ASDF > from > > raising a “missing-component” error for the system in question, if some > > other system :depends-on it and yet no source code is found. But in my > case > > I can’t guarantee that “no source code is found.” The source might be > there > > in the quicklisp dist directory. So apparently I need something stronger > > than register-preloaded-system? Or something else? > > > Using asdf 3.1, you can use *immutable-systems* for that (see its > docstring). > > There is currently no provision to do it as part of a program-op, so > you may have to do it manually between a load-op and a program-op, or > as part of an image-dump-hook or image-restore-hook, contingent on a > variable that gets reset (the image-dump-hook doesn't work on ECL, and > you must use the ECL-specific epilogue instead; the image-dump-hook > wastes a little bit of time at restart on other platforms). > > —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• > http://fare.tunes.org > The problem with socialism is that eventually you run out of > other people's money. — Margaret Thatcher > -- My Best, Dave Cooper, Genworks Support david.coo...@genworks.com, dave.genworks.com(skype) USA: 248-327-3253(o), 1-248-330-2979(mobile) UK: 0191 645 1699
_______________________________________________ Asdf-devel mailing list Asdf-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel