Re: GCC 13 broke 50 packages requiring libgnat-12.so() and libgnarl-12.so()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Pavel Zhukov wrote:
> Yes, that happens every year because of koji limitation.
> Ada rebuild is not just mass-rebuild thing.
> Because of circular dependencies: gprbuild buildrequires xmlada and
> xmlada build requires gprbuild and both of them requires
> gcc-gnat.so.<version> they were built with
> bootstrap of gprbuild should be done which requires manual steps (pretty
> straightforward process and documented in xmlada and gprbuild spec files though. thanks to Bjorn!) 

The bootstrap is actually needed only if something is seriously broken,
or to add a new arch. GPRbuild is statically linked precisely to remain
functional each time GCC or XMLada is upgraded, so that it can rebuild
itself and the other Ada packages. Thus the dependency loop isn't
normally a problem. A bump and a rebuild per package should be
sufficient, but they must be done in the right order.

A package can't be built if it requires a library that can't be
installed. Therefore those libraries that depend only on Libgnat must be
built first, so they become installable again. Once those packages
appear in the buildroot, the packages that depend on them can be built.
Then those packages in turn must be added to the buildroot before the
third tier can be built. (I have now done all that for all packages I
have commit access to. I rebuilt GPRbuild too, so it's now statically
linked to the new Libgnat. Nobody needs to worry that the static
linking will cause old code to linger.)

For the mass rebuild to handle this automatically, two changes would be
needed:

· It would have to walk the dependency graph and build the packages in
dependency order instead of alphabetical order.

· It would have to make the newly built packages available to packages
that depend on them, not set them aside and then tag them all in at the
end.

So as things stand, these rebuilds need to be done by a human who knows
the dependency graph.

Björn Persson

Attachment: pgp0JP5ep2KG6.pgp
Description: OpenPGP digital signatur

_______________________________________________
devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux