Resultaten van het opnieuw opbouwen van de Debian-pakketdatabase met behulp van Clang 10

Sylvestre Ledru gepubliceerd het resultaat van het opnieuw opbouwen van het Debian GNU/Linux-pakketarchief met behulp van de Clang 10-compiler in plaats van GCC. Van de 31014 pakketten konden er 1400 (4.5%) niet gebouwd worden, maar door een extra patch toe te passen op de Debian-toolkit werd het aantal ongebouwde pakketten teruggebracht tot 1110 (3.6%). Ter vergelijking: bij het bouwen in Clang 8 en 9 bleef het aantal pakketten dat niet kon worden gebouwd op 4.9%.

Het bouwexperiment concentreerde zich op 250 problemen veroorzaakt door crashes als gevolg van Fouten in Qmake, en 177 nummers, verwant met het genereren van verschillende symbolen in bibliotheken. Door een eenvoudige patch aan dpkg-gensymbols toe te voegen om een ​​symboolvergelijkingsfout bij het koppelen als waarschuwing te behandelen, en door de g++-configuratiebestanden in qmake te vervangen, konden we fouten bij het bouwen van ongeveer 290 pakketten repareren.

Van de rest problemen, leidend tot een build-fout in Clang, zijn de meest voorkomende fouten te wijten aan de afwezigheid van enkele header-bestanden, type casting, ontbrekende ruimte tussen een letterlijke waarde en een ID, problemen met binding, het niet retourneren van een waarde van een niet-void-functie , met behulp van een geordende vergelijking van een pointer met null , gebrek aan definities.

Bron: opennet.ru

Voeg een reactie