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