On 2024/03/03 20:31, Sebastian Reitenbach wrote:
> On Sunday, March 03, 2024 13:32 CET, Stuart Henderson <s...@spacehopper.org> 
> wrote:
> 
> > On 2024/03/03 10:38, Antoine Jacoutot wrote:
> > > Probably because devel/libdispatch has:
> > > @conflict gnustep-libobjc2-*
> > > @pkgpath x11/gnustep/libobjc2
> > > 
> > > and x11/gnustep/libobjc2 has:
> > > @conflict libdispatch-*
> > > @pkgpath devel/libdispatch
> > > 
> > > That does not make much sense...
> > > 
> > > > > > and now my dpb got stuck in loops 
> > 
> > I've removed the incorrect @pkgpath markers fixing the worst of the
> > issues, but there is still a problem.
> > 
> > We can't have two ports which are used as build dependencies of other
> > ports having @conflicts between themselves.
> > 
> > This will need to be resolved rather than just marking the conflict.
> > 
> 
> I'm sorry for the mess I created. I intended to get it in quickly, due to the
> endbr64 fixes work. As the version in tree is very old, and the just recently
> released 2.2 finally builds and doesn't show runtime errors in apps linked 
> against it.
> 
> The only port that depends on libobjc2, that had a dependency to libdispatch
> was x11/gnustep/base, but that one I "fixed", not depending on libdispatch 
> anymore.
> gnustep-base-1.29.0 REVISION 1 should not depend on libdispatch anymore.
> 
> If I understand removing the @pkgpath fixed the bigger part of the issue?
> That there is a conflict with libdispatch, is already known for upstream.
> 
> Sebastian
> 

Other ports in the tree depend on libdispatch.

If a machine has built a port which depends on libobjc2 it can then
not build a port which depends on libdispatch, and vice-versa, until
the conflicting port has been uninstalled.

Unneeded packages *are* often removed periodically during a build,
but there's no control of when that happens, and it cannot happen if a
port with "DPB_PROPERTIES=nojunk" is built. (And, if a "nojunk" port
starts building and fails, there will be no more periodic junking
on that machine at all without manual intervention, so if either
conflicting package is installed at the time, any ports depending
on the other conflicting package will fail on that build machine).

Reply via email to