Dealing with circular BuildRequires?

Adam Huffman adam.huffman at
Wed Oct 5 16:13:41 UTC 2011

On Wed, Oct 5, 2011 at 5:02 PM, Tom Lane <tgl at> wrote:
> Petr Pisar <ppisar at> writes:
>> On 2011-10-05, Tom Lane <tgl at> wrote:
>>> For example, cairo BuildRequires: librsvg2-devel, and librsvg2
>>> BuildRequires: cairo-devel, so there is no order in which I can rebuild
>>> them.  How the heck did we get into such a situation, and what should
>>> I do about it?  Neither specfile appears to have any provision for
>>> bootstrapping.
>> We had similar problem when upgrading Perl to 5.14.
>> First, we choosed dependecy-ordered builds which stopped after
>> rebuilding about one thousand packages. Then we hit circular
>> dependencies blocking remaining eight hunderds packages.
> What exactly did you do for "dependency-ordered builds"?  What I could
> really use right now is a tool that would sort the package list into
> dependency order for me, and point to where there are circularities.
> I'd like to think that wheel has been invented already ...
>                        regards, tom lane

The nearest I can think of is, which has a '--dryrun' option
providing the dependency order information.

There's some information about it here:


More information about the devel mailing list