Hi,
I just upgraded from SBCL 1.1.4 to SBCL 1.3.3. As a result, I I had to upgrade to ASDF3 from ASDF2. To make matters worse, I had to do this on a computer running Micros*t Windows (XP, to be exact.) I'd like to keep object files together with source files. With ASDF2, a 00-disable.conf file of a single line of (t t) in directory $HOME/.config/common-lisp/asdf-output-translations.conf.d/ would do the trick. I was surprised this does not work with ASDF3. After poking around for quite some time, I came across Section 13.5.2 at https://common-lisp.net/project/asdf/asdf.html. Adding a 99-disable-cache.conf file per the instruction at that section still won't make ASDF3 keep object files with my source files. I know I can call ASDF:DISABLE-OUTPUT-TRANSLATIONS in my .sbclrc but I also have a lot of Lisp code to be processed by SBCL invoked with "--no-sysinit --no-userinit". If you know how to wholly disable the compiler output cache on a Windows machine, I'll be grateful you can drop me a line.
Best wishes,
9nauuk
On 3/7/16 Mar 7 -8:22 PM, 9nauuk wrote:
Hi,
I just upgraded from SBCL 1.1.4 to SBCL 1.3.3. As a result, I I had to upgrade to ASDF3 from ASDF2. To make matters worse, I had to do this on a computer running Micros*t Windows (XP, to be exact.) I'd like to keep object files together with source files. With ASDF2, a 00-disable.conf file of a single line of (t t) in directory $HOME/.config/common-lisp/asdf-output-translations.conf.d/ would do the trick. I was surprised this does not work with ASDF3. After poking around for quite some time, I came across Section 13.5.2 at https://common-lisp.net/project/asdf/asdf.html. Adding a 99-disable-cache.conf file per the instruction at that section still won't make ASDF3 keep object files with my source files. I know I can call ASDF:DISABLE-OUTPUT-TRANSLATIONS in my .sbclrc but I also have a lot of Lisp code to be processed by SBCL invoked with "--no-sysinit --no-userinit". If you know how to wholly disable the compiler output cache on a Windows machine, I'll be grateful you can drop me a line.
Best wishes,
9nauuk
I'm afraid I don't myself use the .config/ stuff. However, note that the XDG directory-handling was fixed relatively (relative to your upgrade jump) recently. Fixed in the sense that our older mapping of the XDG naming conventions was inaccurate. Second, note that the XDG standard is a *linux* standard, and as such maps poorly to Windows.
So my first question would be: "are you sure that ASDF is even seeing those configuration files?"
What does (UIOP:XDG-CONFIG-HOME) return for you? Is that what you expected? What about (UIOP:XDG-CONFIG-DIRS)?
On windows, I believe that the directories loaded are $HOME/config/common-lisp/asdf-output-translations.conf.d/ not $HOME/.config/yadda-yadda-yadda
See the following snippet:
(defun xdg-config-home (&rest more) "Returns a pathname for the directory containing user-specific configuration files. MORE may contain specifications for a subpath relative to this directory: a subpathname specification and keyword arguments as per RESOLVE-LOCATION (see also "Configuration DSL") in the ASDF manual." (resolve-absolute-location `(,(or (getenv-absolute-directory "XDG_CONFIG_HOME") (os-cond ((os-windows-p) (xdg-data-home "config/")) (t (subpathname (user-homedir-pathname) ".config/")))) ,more)))
This is why I keep all of my config in my cl-init file (or loaded therefrom), where God meant it to be, instead of splattering it all over the filesystem. I believe "XDG" stands for "Easter Egg Hunt" in some language....
I just upgraded from SBCL 1.1.4 to SBCL 1.3.3. As a result, I I had to upgrade to ASDF3 from ASDF2. To make matters worse, I had to do this on a computer running Micros*t Windows (XP, to be exact.) I'd like to keep object files together with source files. With ASDF2, a 00-disable.conf file of a single line of (t t) in directory $HOME/.config/common-lisp/asdf-output-translations.conf.d/ would do the trick. I was surprised this does not work with ASDF3. After poking around for quite some time, I came across Section 13.5.2 at https://common-lisp.net/project/asdf/asdf.html. Adding a 99-disable-cache.conf file per the instruction at that section still won't make ASDF3 keep object files with my source files. I know I can call ASDF:DISABLE-OUTPUT-TRANSLATIONS in my .sbclrc but I also have a lot of Lisp code to be processed by SBCL invoked with "--no-sysinit --no-userinit". If you know how to wholly disable the compiler output cache on a Windows machine, I'll be grateful you can drop me a line.
Best wishes,
9nauuk
I'm afraid I don't myself use the .config/ stuff. However, note that the XDG directory-handling was fixed relatively (relative to your upgrade jump) recently. Fixed in the sense that our older mapping of the XDG naming conventions was inaccurate. Second, note that the XDG standard is a *linux* standard, and as such maps poorly to Windows.
So my first question would be: "are you sure that ASDF is even seeing those configuration files?"
What does (UIOP:XDG-CONFIG-HOME) return for you? Is that what you expected? What about (UIOP:XDG-CONFIG-DIRS)?
On windows, I believe that the directories loaded are $HOME/config/common-lisp/asdf-output-translations.conf.d/ not $HOME/.config/yadda-yadda-yadda
See the following snippet:
(defun xdg-config-home (&rest more) "Returns a pathname for the directory containing user-specific configuration files. MORE may contain specifications for a subpath relative to this directory: a subpathname specification and keyword arguments as per RESOLVE-LOCATION (see also "Configuration DSL") in the ASDF manual." (resolve-absolute-location `(,(or (getenv-absolute-directory "XDG_CONFIG_HOME") (os-cond ((os-windows-p) (xdg-data-home "config/")) (t (subpathname (user-homedir-pathname) ".config/")))) ,more)))
This is why I keep all of my config in my cl-init file (or loaded therefrom), where God meant it to be, instead of splattering it all over the filesystem. I believe "XDG" stands for "Easter Egg Hunt" in some language....
This is supposed to work the same way in ASDF 2 and ASDF 3, just made portable to more architectures.
The only things that should have changed are indeed (1) how SBCL may or may not find your home directory (on Windows, I've seen weird discrepancies regarding $HOME between applications). (2) our recent change in the way that .config is used. It might have been just ~/.config/ on Windows, but is now something more like (uiop:xdg-config-home) with an elaborate heuristic.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org The party of the first part shall be known in this contract as the party of the first part. — Groucho Marx
Hi! This works for me with asdf 3.1.6
https://en.wikibooks.org/wiki/Common_Lisp/External_libraries/ASDF/Budden%27s...