Circular Build Dependencies (was Bug#671302: libav: circular dependency between libav and opencv)
On May 3, 2012 10:20 AM, "Andres Mejia" <firstname.lastname@example.org> wrote:
> On May 3, 2012 9:30 AM, "Pino Toscano" <email@example.com> wrote:
> > Alle giovedě 3 maggio 2012, Andres Mejia ha scritto:
> > > On Thu, May 3, 2012 at 3:44 AM, Pino Toscano <firstname.lastname@example.org> wrote:
> > > > Package: libav
> > > > Version: 6:0.8.1-7
> > > > Severity: important
> > > >
> > > > Hi,
> > > >
> > > > libav 6:0.8.1-7 reenables the use of opencv... which itself uses
> > > > libav libraries. This currently makes libav unbuildable on mipsel
> > > > and hurd-i386, and generically makes libav no more bootstrap'able
> > > > without having itself compiled already.
> > > > Could you please drop the opencv usage again, please?
> > > >
> > > What could be done instead is a binary only upload with opencv
> > > support disabled (i.e. use dpkg-buildpackage -B). Doing it on our
> > > end will not require changing the version. Once this package is
> > > uploaded, the release team can then be asked to do a binNMU for
> > > these archs, which will bring back opencv support since the archive
> > > will contain the regular *.debian.tar.gz changes that included
> > > opencv.
> > >
> > > I believe this is better than doing a full build on all archs without
> > > opencv, then doing another build with opencv.
> > This mess (which is only a mess, not a clean solution) does not solve at
> > all the fact that you cannot do a clean build of libav without having
> > libav compiled already (for opencv).
> > I don't see this as a viable solution, especially if in the future the
> > epoch is raised bringing again conflicts between the old libav libraries
> > and the new one.
> > --
> > Pino Toscano
> I'm not entirely certain how build circular dependency issues like this are resolved. Perhaps we should ask for help from the toolchain package maintainers or debian-devel.
> ~ Andres
I would like to know if there is a good (perhaps best) approach in resolving issues with packages with circular build dependencies.
Libav has various circular build dependencies including.
libav -> opencv -> libav
libav -> x264 -> libav
libav -> x264 -> gpac -> libav
I found some mention of this issue at . This however doesn't offer any clear solution.