Het kdesrc-build-script gebruiken

Nu de configuratie-data is ingesteld, bent u klaar om het script op te starten. Zelfs als u nog iets wilt instellen, of u wilt nog iets wilt bestuderen, is het een goed idee om tenminste de KDE project metadata te downloaden.

Laden van metagegevens van het project

Vanuit een terminalvenster, logt u in als de gebruiker waarmee u KDE software wilt compileren en start u het script op:

% kdesrc-build --metadata-only

Dit commando zal de map voor de broncode instellen en verbinding zoeken met de KDE Git repositories om de database van de KDE git repositories, en de database van de dependency metadata te downloaden, zonder verdere wijzigingen uit te voeren. Het is verstandig om dit separaat uit te voeren omdat deze metadata ook handig is voor andere commando's van kdesrc-build.

Bekijken wat er gaat gebeuren als u kdesrc-build opstart

Met de metadata van het project geïnstalleerd, is het mogelijk om te bekijken van wat kdesrc-build zal gaan doen als het wordt opgestart. Dit kunt u doen met de commandoregelparameter --pretend.

% ./kdesrc-build --pretend

U zou een melding moeten zien dat sommige pakketten succesvol zijn gebouwd (ofschoon er niets daadwerkelijk is gebouwd). Als er geen belangrijke problemen zijn te zien, dan kunt u verder gaan door het script daadwerkelijk te starten.

% kdesrc-build --stop-on-failure

Dit commando zal de juiste broncode downloaden, en elke module in de opgedragen volgorde bouwen en installeren, maar het zal stoppen als het niet lukt om een module te bouwen (vanwege de optie --stop-on-failure). Naderhand zou u een uitvoer moeten zien vergelijkbaar met dat in Voorbeeld 2.2, “Voorbeeld uitvoer van een uitgevoerde kdesrc-build”:

Voorbeeld 2.2. Voorbeeld uitvoer van een uitgevoerde kdesrc-build

% kdesrc-build
Updating kde-build-metadata (to branch master)
Updating sysadmin-repo-metadata (to branch master)

Building libdbusmenu-qt (1/200)
        No changes to libdbusmenu-qt source, proceeding to build.
        Compiling... succeeded (after 0 seconds)
        Installing.. succeeded (after 0 seconds)

Building taglib (2/200)
        Updating taglib (to branch master)
        Source update complete for taglib: 68 files affected.
        Compiling... succeeded (after 0 seconds)
        Installing.. succeeded (after 0 seconds)

Building extra-cmake-modules from <module-set at line 32> (3/200)
        Updating extra-cmake-modules (to branch master)
        Source update complete for extra-cmake-modules: 2 files affected.
        Compiling... succeeded (after 0 seconds)
        Installing.. succeeded (after 0 seconds)

        ...

Building kdevelop from kdev (200/200)
        Updating kdevelop (to branch master)
        Source update complete for kdevelop: 29 files affected.
        Compiling... succeeded (after 1 minute, and 34 seconds)
        Installing.. succeeded (after 2 seconds)

<<<  PACKAGES SUCCESSFULLY BUILT  >>>
Built 200 modules

Your logs are saved in /home/kde-src/kdesrc/log/2018-01-20-07

Het oplossen van een mislukte bouw

Afhankelijk van hoeveel modules u download, is het mogelijk dat kdesrc-build het de eerste keer dat u KDE software compileert niet lukt. Wanhoop niet!

kdesrc-build logt de uitvoer van elk uitgevoerd commando. Standaard worden de logbestanden bewaard in ~/kdesrc/log. Om uit te vinden wat de oorzaak van een fout bij een module in de laatste kdesrc-build commando is, is het meestal voldoende om ~/kdesrc/log/latest/module-name/error.log te bestuderen.

Tip

Misschien is de eenvoudigste manier om uit te vinden welke fout de oorzaak was dat een module niet lukte om te bouwen, het naar achteren hoofdletter-ongevoelig zoeken, aan het eind van het bestand startend naar het woord error. Als u die heeft gevonden, scrolt u omhoog om er zeker van te zijn dat er geen andere foutmeldingen in de buurt zijn. De eerste foutmelding in een groep is meestal het onderliggende probleem.

In dat bestand kunt u de fout vinden waardoor het bouwen van die module mislukte. Als het bestand (onderaan) zegt dat er bij u enkele pakketten ontbreken, probeer dan het pakket (inclusief toepasselijke -dev pakketten) voordat u opnieuw probeert dat pakket te bouwen. Zorg ervoor dat wanneer u kdesrc-build opnieuw opstart, de optie --reconfigure toevoegt om daarmee kdesrc-build te forceren om bij de module opnieuw te controleren voor de ontbrekende pakketten.

Of, als de fout een fout in het bouwproces lijkt te zijn (zoals een syntax error, incorrect prototype, unknown type, of iets dergelijks) dan is het waarschijnlijk een fout in de KDE-broncode, wat hopelijk in een paar dagen opgelost zal zijn. Als het niet in die tijd opgelost is, aarzel dan niet om een email te sturen naar de mailing list (het kan nodig zijn om eerst in te schrijven) om melding te maken van de build failure.

U kunt meer vaak voorkomende voorbeelden van dingen die fout kunnen gaan en de oplossingen daarvoor, met daarnaast algemene tips en strategieën voor het bouwen van KDE software vinden in de Bouwen vanuit de broncode.

Aan de andere kant, aangenomen dat alles goed is gegaan, dan zou een nieuwe KDE op uw computer geïnstalleerd moeten zijn, en is het nu een kwestie van eenvoudig opstarten, zoals hierna beschreven in de paragraaf met de naam “De omgeving instellen om uw KDE Plasma™ Desktop te starten”.

Opmerking

Meer informatie over de mogelijkheden van kdesrc-build voor het loggen, leest u in de paragraaf met de naam “Log van het bouwproces van kdesrc-build.