Re: progress on asdf-dependency-grovel

2022-12-16 Thread Faré
> I tried it again with ASDF 3.3 + SBCL 2.1.1, and I can load adg
> successfully, with a couple of (push "path/to/adg/"
> asdf:*central-registry*) to help it along.
I strongly recommend using the ASDF2-era source-registry instead.

> However, when I try to run
> the unit tests, I get an error from ASDF about "failed to mark it
> done". There is also a warning about "proper dependencies" as well.
>
I see that the way that perform calls load-instrumented-systems that
calls load-asd is very incompatible with asdf 3.3. I don't understand
what this whole thing is about, but it smells very wrong to me.
Presumably, these shenanigans should instead be replaced by some
instrumentation of define-op (that failed to exist before asdf 3.3).
And dependency-op should possibly be also replaced by the same
instrumentation of load-source-op.

>Deprecated recursive use of (ASDF/OPERATE:OPERATE 'ASDF/LISP-ACTION:LOAD-OP
>'("test-serial-system")) while visiting
>(ASDF-DEPENDENCY-GROVEL:DEPENDENCY-OP "test-serial"
> "asdf-dependency-grovel-test/serial")
>- please use proper dependencies instead
>
Yup, this is very incompatible with ASDF 3.3, that both offers and
requires much better ways to do things.

—♯ƒ • François-René Rideau • Co-Founder and President, MuKn.io
“The fool considers that what he doesn't understand is either extremely stupid,
or extremely intelligent, pending on how others react to it.”  — Nassim Taleb



Re: progress on asdf-dependency-grovel

2022-12-16 Thread Robert Dodier
On Fri, Dec 16, 2022 at 2:25 PM Faré  wrote:

> sbcl --eval "'(#.(require :asdf) #.(in-package :asdf) #.(upgrade-asdf)
> #.(load-system :asdf-dependency-grovel))" --quit
> No error.

I tried it again with ASDF 3.3 + SBCL 2.1.1, and I can load adg
successfully, with a couple of (push "path/to/adg/"
asdf:*central-registry*) to help it along. However, when I try to run
the unit tests, I get an error from ASDF about "failed to mark it
done". There is also a warning about "proper dependencies" as well.

* (asdf-dependency-grovel-tester:test-result)

WARNING:
   Deprecated recursive use of (ASDF/OPERATE:OPERATE 'ASDF/LISP-ACTION:LOAD-OP
   '("test-serial-system")) while visiting
   (ASDF-DEPENDENCY-GROVEL:DEPENDENCY-OP "test-serial"
"asdf-dependency-grovel-test/serial")
   - please use proper dependencies instead

debugger invoked on a SIMPLE-ERROR in thread
#:
  Just performed compiling # but failed to mark it done


I think this error is the reason that I decided to use an earlier
(3.1) version of ASDF -- sorry for getting mixed up in what I said
about it.

I'll look at the other debugging hints you mentioned.

best,

Robert



Re: progress on asdf-dependency-grovel

2022-12-16 Thread Faré
> I tried a later version (3.2 or 3.3, I forget which) and adg fails to
> load. I think I'll stick w/ the last known working version until I
> sort out getting it to run ...
>
It loads perfectly for me:
sbcl --eval "'(#.(require :asdf) #.(in-package :asdf) #.(upgrade-asdf)
#.(load-system :asdf-dependency-grovel))" --quit
No error.

>> If that still fails, rather than the asdf plumbing itself, can you
>> identify if the dependency instrumentation is still working on the
>> latest SBCL?
>
> How would I determine if the dependency instrumentation is working? It
> is not working in the sense that the known dependencies are not
> detected -- do you mean something else?
>
See if fine-grain-instrumented-load works with the expected
side-effects, emitting the suitable signal-user, signal-provider, and
other signal-* events.

At this point, you have to read the source code. I don't believe
anyone is left to help you. But if you have specific questions, I can
read the source code too and maybe remember more context. (NB: I
didn't write that code, but I oversaw an intern who used it, and
tweaked it a little bit to package it better.)

> Okay, there is a warning about an internal SB-something function --
> I'll look at whether the relevant code can be updated.

Again, good luck, and happy holidays!

—♯ƒ • François-René Rideau • Co-Founder and President, MuKn.io
“If all values are relative, then cannibalism is a matter of taste.”
— Leo Strauss



Re: progress on asdf-dependency-grovel

2022-12-16 Thread Robert Dodier
On Fri, Dec 16, 2022 at 3:07 AM Faré  wrote:

> Or later. I recommend testing with the latest ASDF.

I tried a later version (3.2 or 3.3, I forget which) and adg fails to
load. I think I'll stick w/ the last known working version until I
sort out getting it to run ...

> This output doesn't help me. Are the files now visited by the perform
> method in order? It looks like that might be the case, but make sure.

I'll take a look to see in what order files are processed.

> If that still fails, rather than the asdf plumbing itself, can you
> identify if the dependency instrumentation is still working on the
> latest SBCL?

How would I determine if the dependency instrumentation is working? It
is not working in the sense that the known dependencies are not
detected -- do you mean something else?

> IIRC, adg relies on some low-level SBCL interfaces that
> might have bitrotten.

Okay, there is a warning about an internal SB-something function --
I'll look at whether the relevant code can be updated.

Thanks for your help,

Robert



Re: progress on asdf-dependency-grovel

2022-12-16 Thread Faré
On Fri, Dec 16, 2022 at 2:08 AM Robert Dodier  wrote:
>
> I've managed to get asdf-dependency-grovel to load. There is a comment
> in adg/tests/grovel-test.lisp that ASDF 3.1 is required. Okay, I have
> ASDF 3.1.5 laying around so I loaded that. Now SBCL can load adg.
>
Or later. I recommend testing with the latest ASDF.

> The test script adg/tests/run-tests.sh runs (with modifications) but
> all of the tests fail -- it appears that no dependencies are
> identified. I enabled *DEBUG-TRACE* in variables.lisp, and I get some
> output which suggests something is happening, which is encouraging.
> Faré, can you say anything about what one should expect to see in the
> debug output if stuff is working correctly? Can you see anything amiss
> in the output shown below?
>
This output doesn't help me. Are the files now visited by the perform
method in order? It looks like that might be the case, but make sure.

If that still fails, rather than the asdf plumbing itself, can you
identify if the dependency instrumentation is still working on the
latest SBCL? IIRC, adg relies on some low-level SBCL interfaces that
might have bitrotten.

Sorry, I haven't used that in production in over ten years and have no
time to dive into CL code at the moment.

Good luck!

—♯ƒ • François-René Rideau • Co-Founder and President, MuKn.io
“Welfare: when you love strangers so much you're willing to have government
steal money from another stranger to help them out.” http://bit.ly/ahVPBj



progress on asdf-dependency-grovel

2022-12-15 Thread Robert Dodier
I've managed to get asdf-dependency-grovel to load. There is a comment
in adg/tests/grovel-test.lisp that ASDF 3.1 is required. Okay, I have
ASDF 3.1.5 laying around so I loaded that. Now SBCL can load adg.

The test script adg/tests/run-tests.sh runs (with modifications) but
all of the tests fail -- it appears that no dependencies are
identified. I enabled *DEBUG-TRACE* in variables.lisp, and I get some
output which suggests something is happening, which is encouraging.
Faré, can you say anything about what one should expect to see in the
debug output if stuff is working correctly? Can you see anything amiss
in the output shown below?

best,

Robert

PS. Here is the output for adg/tests/u-defconstant.lisp. That file contains just

(cl:in-package :asdf-dependency-grovel-test)
(defvar test-defconstant-user.1 test-defconstant.1)

which references TEST-DEFCONSTANT.1, which is defined in
p-defconstant.lisp, so that's the dependency that's supposed to be
detected. The output for other tests is similar.

- begin output -
DEBUG: Perform load-source-op
#
DEBUG: Operating on (:ASDF ("test-serial-system" "u-defconstant") :ASDF
 ("test-serial-system") . T)
DEBUG: Operating on (:FILE

#P"/home/robert/by-others/asdf-dependency-grovel-master/tests/u-defconstant.lisp"
 :ASDF ("test-serial-system" "u-defconstant") :ASDF
 ("test-serial-system") . T)
DEBUG: Operating on ((:FORM 0 :FILE

#P"/home/robert/by-others/asdf-dependency-grovel-master/tests/u-defconstant.lisp"
  :ASDF ("test-serial-system" "u-defconstant") :ASDF
  ("test-serial-system") . T)
 0 "(IN-PACKAGE :ASDF-DEPENDENCY-GROVEL-TEST)")
DEBUG: Done operating on ((:FORM 0 :FILE

#P"/home/robert/by-others/asdf-dependency-grovel-master/tests/u-defconstant.lisp"
   :ASDF ("test-serial-system" "u-defconstant") :ASDF
   ("test-serial-system") . T)
  0 "(IN-PACKAGE :ASDF-DEPENDENCY-GROVEL-TEST)")
DEBUG: Operating on ((:FORM 1 :FILE

#P"/home/robert/by-others/asdf-dependency-grovel-master/tests/u-defconstant.lisp"
  :ASDF ("test-serial-system" "u-defconstant") :ASDF
  ("test-serial-system") . T)
 44 "(DEFVAR TEST-DEFCONSTANT-USER.1 ...)")
DEBUG: Done operating on ((:FORM 1 :FILE

#P"/home/robert/by-others/asdf-dependency-grovel-master/tests/u-defconstant.lisp"
   :ASDF ("test-serial-system" "u-defconstant") :ASDF
   ("test-serial-system") . T)
  44 "(DEFVAR TEST-DEFCONSTANT-USER.1 ...)")
DEBUG: Done operating on (:FILE

#P"/home/robert/by-others/asdf-dependency-grovel-master/tests/u-defconstant.lisp"
  :ASDF ("test-serial-system" "u-defconstant") :ASDF
  ("test-serial-system") . T)
DEBUG: Done operating on (:ASDF ("test-serial-system" "u-defconstant") :ASDF
  ("test-serial-system") . T)
- end output -