Hi
I've read the manual on how asdf finds the files to load, i.e. the asd files. But, if you want to follow along when it does that calculation, in case it goes wrong, how do you do that?
I seem to remember this being posted to the list ages back, but have no way of searching that history.
/andreas
On 26 Nov 2019, at 6:18, Andreas Davour wrote:
Hi
I've read the manual on how asdf finds the files to load, i.e. the asd files. But, if you want to follow along when it does that calculation, in case it goes wrong, how do you do that?
I seem to remember this being posted to the list ages back, but have no way of searching that history.
Some time ago, Faré offered this advice:
You can `(alexandria:hash-table-alist asdf/source-registry::*source-registry*)`
or for a higher-level view, you can `(asdf/source-registry:flatten-source-registry)`
then again, if you use the newfangled source-registry-cache, you can `find ~/common-lisp -name .cl-source-registry.cache`
I'm not sure what you want to debug, so it's hard to tell how to help you.
Also, behavior wrt recursing or not into directory symlinks is not consistent from one implementation to the next, so beware.
I have long had it on my todo list to provide better debugging, notably by making it possible for users to trace relevant functions and see what goes on while the configuration DSL is being interpreted, and perhaps also adding logging. However, when I look at the code, this is difficult to do without restructuring, because a lot of the key functions are not named.
I would be happy to work with you if you would like to add such facilities. However, I don't have any active CL work right now to support such an effort, so I am not in a position to do this on my own.
Best, R
On Tue, 26 Nov 2019, Robert Goldman wrote:
On 26 Nov 2019, at 6:18, Andreas Davour wrote:
Hi
I've read the manual on how asdf finds the files to load, i.e. the asd files. But, if you want to follow along when it does that calculation, in case it goes wrong, how do you do that?
I seem to remember this being posted to the list ages back, but have no way of searching that history.
Some time ago, Faré offered this advice:
You can `(alexandria:hash-table-alist asdf/source-registry::*source-registry*)`
or for a higher-level view, you can `(asdf/source-registry:flatten-source-registry)`
then again, if you use the newfangled source-registry-cache, you can `find ~/common-lisp -name .cl-source-registry.cache`
I'm not sure what you want to debug, so it's hard to tell how to help you.
That was just what I needed. Making sure the registry contained what I expected was key. Many thanks Robert!
I knew Faré had posted that, but I was stupid and had not saved it. Maybe it could be fitted to the manual some place?
-andreas
This new FAQ is available here: https://common-lisp.net/project/asdf/asdf.html#How-can-I-debug-problems-find...
Please check this out and send any suggestions for improvement (or, of course PRs!).