Re: Past discussion on ASDF loading
I have posted [Issue 150](https://gitlab.common-lisp.net/asdf/asdf/-/issues/150) on ASDF, with a shell script for replicating the issue. On 4 Jan 2024, at 9:16, Robert Goldman wrote: Maybe there's an issue with using `(asdf:load-system "asdf")` instead of using `(asdf:upgrade-asdf)`. Starting Allegro 11 with no user customization (`-q`) I get this: ``` International Allegro CL Enterprise Edition 11.0 [64-bit macOS (Apple Silicon)] Copyright (C) 1985-2023, Franz Inc., Lafayette, CA, USA. All Rights Reserved. ... CL-USER(1): (require :asdf) ; Fast loading ;/Applications/AllegroCL64.app/Contents/Resources/code/ASDF.fasl ; Autoloading for class SYNONYM-STREAM: ; Fast loading from bundle code/streamc.fasl. ; Fast loading from bundle code/efft-utf-8s-base.fasl. ; Fast loading from bundle code/efft-utf8-base.fasl. ; Fast loading from bundle code/efft-void.fasl. ; Fast loading from bundle code/efft-latin1-base.fasl. ; Autoloading for package "EXCL.OSI": ; Fast loading ; /Applications/AllegroCL64.app/Contents/Resources/code/OSI.fasl ; Fast loading from bundle code/fileutil.fasl. ; Fast loading from bundle code/acldns.fasl. ; Fast loading from bundle code/iodefs.fasl. ; Fast loading from bundle code/iordefs.fasl. ; Fast loading from bundle code/efmacs.fasl. TCL-USER(4): (asdf:asdf-version) "3.2.0" CL-USER(5): (push "/Users/rpg/lisp/asdf/" asdf:*central-registry*) ("/Users/rpg/lisp/asdf/" "/Users/rpg/lisp/asdf/build/") ``` The following makes it look like ASDF is getting loaded multiple times (could it be because ASDF loads ASDF in order that it can ... load ASDF?): ``` ; Loading /Users/rpg/lisp/asdf/asdf.asd ; Fast loading ; /Users/rpg/.cache/common-lisp/acl-11.0-macosx-64-bit_apple_silicon/Users/rpg/lisp/asdf/build/asdf.fasl Warning: FIRST-FEATURE is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: IMPLEMENTATION-TYPE is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: *IMPLEMENTATION-TYPE* is defined more than once as `variable' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: OPERATING-SYSTEM is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: ARCHITECTURE is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. ; Loading /Users/rpg/lisp/asdf/asdf.asd ; Fast loading ; /Users/rpg/.cache/common-lisp/acl-11.0-macosx-64-bit_apple_silicon/Users/rpg/lisp/asdf/build/asdf.fasl Warning: FIRST-FEATURE is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: IMPLEMENTATION-TYPE is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: *IMPLEMENTATION-TYPE* is defined more than once as `variable' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: OPERATING-SYSTEM is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lis ``` Doing the same process, only with `upgrade-asdf` instead of `load-system` also seems to load ASDF more than once: ``` ; /Users/rpg/.cache/common-lisp/acl-11.0-macosx-64-bit_apple_silicon/Users/rpg/lisp/asdf/build/asdf.fasl Warning: FIRST-FEATURE is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: IMPLEMENTATION-TYPE is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: *IMPLEMENTATION-TYPE* is defined more than once as `variable' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: OPERATING-SYSTEM is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: ARCHITECTURE is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. ; Upgrading ASDF from version 3.2.0 to version 3.3.6.2 ; Loading /Users/rpg/lisp/asdf/asdf.asd ; Fast loading ; /Users/rpg/.cache/common-lisp/acl-11.0-macosx-64-bit_apple_silicon/Users/rpg/lisp/asdf/build/asdf.fasl Warning: FIRST-FEATURE is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: IMPLEMENTATION-TYPE is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: *IMPLEMENTATION-TYPE* is defined more than once as `variable' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: OPERATING-SYSTEM is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: ARCHITECTURE is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. ; Loading /Users/rpg/lisp/asdf/asdf.asd ; Fast loading ; /Users/rpg/.cache/common-lisp/acl-11.0-macosx-64-bit_apple_silicon/Users/rpg/lisp/asdf/build/asdf.fasl Warning: FIRST-FEATURE is defined more than once as `operator' in file
Re: Past discussion on ASDF loading
Maybe there's an issue with using `(asdf:load-system "asdf")` instead of using `(asdf:upgrade-asdf)`. Starting Allegro 11 with no user customization (`-q`) I get this: ``` International Allegro CL Enterprise Edition 11.0 [64-bit macOS (Apple Silicon)] Copyright (C) 1985-2023, Franz Inc., Lafayette, CA, USA. All Rights Reserved. ... CL-USER(1): (require :asdf) ; Fast loading ;/Applications/AllegroCL64.app/Contents/Resources/code/ASDF.fasl ; Autoloading for class SYNONYM-STREAM: ; Fast loading from bundle code/streamc.fasl. ; Fast loading from bundle code/efft-utf-8s-base.fasl. ; Fast loading from bundle code/efft-utf8-base.fasl. ; Fast loading from bundle code/efft-void.fasl. ; Fast loading from bundle code/efft-latin1-base.fasl. ; Autoloading for package "EXCL.OSI": ; Fast loading ; /Applications/AllegroCL64.app/Contents/Resources/code/OSI.fasl ; Fast loading from bundle code/fileutil.fasl. ; Fast loading from bundle code/acldns.fasl. ; Fast loading from bundle code/iodefs.fasl. ; Fast loading from bundle code/iordefs.fasl. ; Fast loading from bundle code/efmacs.fasl. TCL-USER(4): (asdf:asdf-version) "3.2.0" CL-USER(5): (push "/Users/rpg/lisp/asdf/" asdf:*central-registry*) ("/Users/rpg/lisp/asdf/" "/Users/rpg/lisp/asdf/build/") ``` The following makes it look like ASDF is getting loaded multiple times (could it be because ASDF loads ASDF in order that it can ... load ASDF?): ``` ; Loading /Users/rpg/lisp/asdf/asdf.asd ; Fast loading ; /Users/rpg/.cache/common-lisp/acl-11.0-macosx-64-bit_apple_silicon/Users/rpg/lisp/asdf/build/asdf.fasl Warning: FIRST-FEATURE is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: IMPLEMENTATION-TYPE is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: *IMPLEMENTATION-TYPE* is defined more than once as `variable' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: OPERATING-SYSTEM is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: ARCHITECTURE is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. ; Loading /Users/rpg/lisp/asdf/asdf.asd ; Fast loading ; /Users/rpg/.cache/common-lisp/acl-11.0-macosx-64-bit_apple_silicon/Users/rpg/lisp/asdf/build/asdf.fasl Warning: FIRST-FEATURE is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: IMPLEMENTATION-TYPE is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: *IMPLEMENTATION-TYPE* is defined more than once as `variable' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: OPERATING-SYSTEM is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lis ``` Doing the same process, only with `upgrade-asdf` instead of `load-system` also seems to load ASDF more than once: ``` ; /Users/rpg/.cache/common-lisp/acl-11.0-macosx-64-bit_apple_silicon/Users/rpg/lisp/asdf/build/asdf.fasl Warning: FIRST-FEATURE is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: IMPLEMENTATION-TYPE is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: *IMPLEMENTATION-TYPE* is defined more than once as `variable' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: OPERATING-SYSTEM is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: ARCHITECTURE is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. ; Upgrading ASDF from version 3.2.0 to version 3.3.6.2 ; Loading /Users/rpg/lisp/asdf/asdf.asd ; Fast loading ; /Users/rpg/.cache/common-lisp/acl-11.0-macosx-64-bit_apple_silicon/Users/rpg/lisp/asdf/build/asdf.fasl Warning: FIRST-FEATURE is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: IMPLEMENTATION-TYPE is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: *IMPLEMENTATION-TYPE* is defined more than once as `variable' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: OPERATING-SYSTEM is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: ARCHITECTURE is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. ; Loading /Users/rpg/lisp/asdf/asdf.asd ; Fast loading ; /Users/rpg/.cache/common-lisp/acl-11.0-macosx-64-bit_apple_silicon/Users/rpg/lisp/asdf/build/asdf.fasl Warning: FIRST-FEATURE is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: IMPLEMENTATION-TYPE is defined more than once as `operator' in file /Users/rpg/lisp/asdf/build/asdf.lisp. Warning: *IMPLEMENTATION-TYPE*
Re: Past discussion on ASDF loading
Do you have multiple versions of ASDF installed? e.g. one from Allegro and another from your source-registry or system-registry ? ASDF always upgrades itself first thing to avoid Big Problems otherwise. If that's what you're experiencing, I recommend the right after you (require "asdf") and configure it (if you do), you should explicitly (asdf:upgrade-asdf) with whatever warning need be muffled, and then you'll be good. If there's more than that, please send instructions to reproduce the issue. -#f On Tue, Jan 2, 2024, 16:47 Robert Goldman wrote: > I am finding that ASDF loads itself multiple times, unnecessarily, at > least on Allegro 11. E.g., it reloads when I simply invoke > (asdf:component-pathname > (asdf:find-system "foo")) for one of my systems. > > This is annoying because I get redefinition style warnings every time I do > this, which makes it hard to tell when a system loads cleanly. > > I have a vague memory of a discussion that addressed the question of why > this happens. Does anyone recall the answer, or have a pointer to the > discussion? > > Interestingly, when I load ASDF and then invoke > (asdf/component:component-operation-times > (asdf:find-system "asdf")) the only time listed is for define-op > > Thanks, > R >