Re: Circular Build Dependencies
Andres Mejia <firstname.lastname@example.org> writes:
> On May 3, 2012 10:20 AM, "Andres Mejia" <email@example.com> wrote:
>> On May 3, 2012 9:30 AM, "Pino Toscano" <firstname.lastname@example.org> wrote:
>> > Alle giovedì 3 maggio 2012, Andres Mejia ha scritto:
>> > > On Thu, May 3, 2012 at 3:44 AM, Pino Toscano <email@example.com> 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
> Hello all,
> 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
> 1. http://wiki.debian.org/DebianBootstrap
> ~ Andres
gcc depends on gcc. *gasp*
I think at some point you simply have to live with such circular
Build-Depends.  offers a solution, or the begining of one, using
stages (see Mechanism). What is unclear about the idea?