ASDF keeps inventing good reasons all the time...
On Wed, Oct 18, 2017 at 7:43 PM Faré fahree@gmail.com wrote:
Oh, is it a case where you're insisting on using a secondary system name that doesn't follow the convention B/A when the primary system is B ? That might explain it. There is also a warning against such a thing, and for good reason.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Doing well is the result of doing good. That's what capitalism is all about. — Ralph Waldo Emerson (1803–1882)
On Wed, Oct 18, 2017 at 12:15 PM, Stas Boukarev stassats@gmail.com wrote:
cat b.asd (defsystem A)
(defsystem B :depends-on (A))
(asdf:load-system 'b) is enough to trigger it.
On Wed, Oct 18, 2017 at 6:51 PM Faré fahree@gmail.com wrote:
See section 4 of the ASDF 3.3 paper at ILC 2017 for a quick overview: https://github.com/fare/asdf2017
To support proper phase separation, ASDF has a new operation, define-op, that tracks the dependencies of loading a .asd file (i.e. other systems you operate on, e.g., via load-system or defsystem-depends-on, etc.)
I don't know exactly what is your system A and how you use it, but apparently it's unhappy about depending on the primary system for define-op yet being earlier in the .asd file, so the other system hasn't been defined yet.
Maybe ASDF should refrain from registering a dependency here between sibling systems. Or not. It was quite subtle to debug about a year ago, and it fell out of my working cache.
Is there anything special you do between A and B except a :depends-on ?
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org You think war is economically beneficial? Then why share those benefits with dirty foreigners? Let's have a civil war — A war we're sure to win!
On Wed, Oct 18, 2017 at 11:34 AM, Stas Boukarev stassats@gmail.com wrote:
It’s a regular depends-on, but why did it work before without
problems?
On Wed, 18 Oct 2017 at 18:32 Faré fahree@gmail.com wrote:
On Wed, Oct 18, 2017 at 11:25 AM, Stas Boukarev stassats@gmail.com wrote:
B is primary, but A has to be loaded before it. It precedes B, and
B
depends on it.
If it's a regular :depends-on, then B should be able to appear before A, and that should actually work better.
If it's a :defsystem-depends-on, it used to be that A must be before B, but the new situation is that they have to be in separate files
for
define-op to work at all.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org For ultimately, the most visible trait of a just man is to have no desire at all to rule others, and only want to rule himself. This decides everything. In other words, the worst people will rule. — Alain
On Wed, Oct 18, 2017 at 6:23 PM Faré fahree@gmail.com wrote: > > On Wed, Oct 18, 2017 at 11:13 AM, Stas Boukarev <
stassats@gmail.com>
> wrote: > > Looks like this happens because I have two systems in B.asd, A
and
> > B, > > and B > > depends on A. > Maybe changing the order of the two systems will help. > Which is primary? Which depends on the other? > > —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• > http://fare.tunes.org > All honest people are welcome to come and live here. > All dishonest people are welcome to come and die here. > — Libertarian Open-Borders, Open-Skulls Policy