Date: Sat, 15 Dec 2018 06:38:02 -0700 From: Adam Weinberger <adamw@adamw.org> To: bennett@sdf.org Cc: freebsd-ports@freebsd.org Subject: Re: dependency loop in editors/vim with GTK3 option Message-ID: <CAP7rwcjDvXpMTFHjF7JxAnnWY8Xsi=sdjOkUUV5q=VEadGErAA@mail.gmail.com> In-Reply-To: <201812150917.wBF9H66V019974@sdf.org> References: <201812150917.wBF9H66V019974@sdf.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Dec 15, 2018 at 2:24 AM Scott Bennett <bennett@sdf.org> wrote: > > There is a dependency recursion loop in the build process for editors/vim > if one selects the GTK3 config menu option. The only way I've found so far to > get around this is to choose the GTK2 option instead. > With GTK3 selected, graphics/librsvg2 becomes a dependency, which, in > turn, is dependent upon lang/vala. lang/vala depends upon devel/dconf, which > depends upon devel/gconf2. devel/gconf2 depends upon graphics/graphviz, which > depends upon lang/vala! The recursion occurs there and was found by following > the instructions in UPDATING for the upgrade to perl5.28 when using portmaster. > The command shown in the instructions is "portmaster -f", so the -f forces all > dependencies and dependent ports to be rebuilt. > As nearly as I can see, this dependency recursion loop breaks any port > involving lang/vala when portmaster -f is used. In the case of editors/vim, > a usable workaround is to choose gtk2 instead of gtk3, but for many other > ports, the perl upgrade's admonition to rebuilt ports that depend upon the > perl library to omit -f when using portmaster while providing portmaster a > *complete list* of all ports to be built. Provided an acceptable version > of lang/vala is already installed, it will be used, and the dependency loop > gets skipped over because there is no need to build lang/vala. Of course, > if one does that, there is no guarantee that the resulting binaries installed > for any of the ports in the recursion loop will function properly, given that > they may be based upon obsolete versions of the other ports in the loop. Hi Scott, Thanks for the report. A dependency loop is certainly a distressing appearance! It can occur when non-default OPTIONS are set, but should never occur with default OPTIONS. So, first question: do you have non-default OPTIONS for those ports? That said---your dependency chain doesn't look right. For example, lang/vala depends directly on graphviz, and there is no graphviz configuration that could depend directly on vala. lang/vala does not depend on dconf, and dconf does not depend on gconf2. Some of the dependencies you listed are backwards (gconf2 depends on dconf, and dconf depends on vala), but others don't look possible. If you are able to re-trigger the dependency loop, a log would be extremely helpful. # Adam -- Adam Weinberger adamw@adamw.org https://www.adamw.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAP7rwcjDvXpMTFHjF7JxAnnWY8Xsi=sdjOkUUV5q=VEadGErAA>