public inbox for cygwin@cygwin.com
 help / color / mirror / Atom feed
From: Kaz Kylheku <920-082-4242@kylheku.com>
To: cygwin@cygwin.com
Subject: Re: Circular dependency with mingw64-x86_64-runtime
Date: Wed, 02 May 2018 13:31:00 -0000	[thread overview]
Message-ID: <989579ad6aa1626381ed0023db89012b@mail.kylheku.com> (raw)
In-Reply-To: <5ae8f950.1c69fb81.5f000.63ab@mx.google.com>

On 2018-05-01 16:33, Steven Penny wrote:
> On Tue, 1 May 2018 13:44:45, JonY wrote:
>> What is the actual problem you are facing?
> 
> i already described it: when 2 things depend on each other in this way, 
> that is
> an error:
> 
> http://wikipedia.org/wiki/Circular_dependency

Nowhere does this page substantiate what you're saying; it doesn't say 
that the existence of a circular dependency is /ipso facto/ a form of 
error.

If A cannot be used unless B is also installed, and if B cannot be used 
unless A is also installed, then there is a cycle in the dependency 
graph. The packaging system must express the cycle (and handle it). This 
means that if a user selects A for installation, it must be 
automatically accompanied by an installation of B, and vice versa.

If you say that the dependency which is stated in the package system is 
incorrect, then you have to prove that either A or B can be usefully 
installed by itself. (Or even both, in which case they are independent.)

If the circular dependency is right, but unwanted, it can only be broken 
by making some code changes in A or B, or both (and only then changing 
the dependency expressions at the package level). You can't simply say, 
"I don't like circular dependencies; I will break any cycles in the 
package system dependency definitions, whether or not they reflect the 
underlying packages".

The only situation in which that would be justified would be that the 
package system is too weak to deal with circular dependencies; it gets 
into an infinite loop or whatever, so cycles must be avoided.

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

  parent reply	other threads:[~2018-05-02 13:31 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-30  2:16 Steven Penny
2018-05-01 13:45 ` JonY
2018-05-01 23:33   ` Steven Penny
2018-05-02 10:47     ` JonY
2018-05-02 13:31     ` Kaz Kylheku [this message]
2018-05-03 12:20     ` Andrey Repin
2018-05-02 15:22 ` Mikhail Usenko via cygwin
2018-05-02 15:26   ` Vince Rice
2018-05-02 15:55     ` Mikhail Usenko via cygwin
2018-05-02 16:18   ` Marco Atzeri

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=989579ad6aa1626381ed0023db89012b@mail.kylheku.com \
    --to=920-082-4242@kylheku.com \
    --cc=cygwin@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).