Byggloggning i kdesrc-build

Översikt över loggning

Loggning är en funktion i kdesrc-build varigenom utmatningen från varje kommando som kdesrc-build kör sparas i en fil för senare undersökning, om nödvändigt. Det görs eftersom det ofta är nödvändigt att ha utmatningen från programmen när ett byggfel uppstår, eftersom det finns så många orsaker att en byggprocess kan misslyckas från början.

Loggningskatalogens layout

Loggarna lagras alltid i loggkatalogen. Platsen för loggkatalogen styrs av alternativet log-dir, som normalt är ${source-dir}/log (där ${source-dir} är värdet av alternativet source-dir. I resten av avsnittet kallas värdet ${log-dir}).

I ${log-dir} finns en uppsättning kataloger, en för varje gång kdesrc-build kördes. Varje katalog namnges med datum och körnumret. Exempelvis, den andra gången kdesrc-build körs 26:e maj, 2004, skulle en katalog som heter 2004-05-26-02 skapas, där 2004-05-26 står för datumet och -02 är körnumret.

För din bekvämlighet skapar kdesrc-build också en länk till loggarna för den senaste körningen, som heter latest. Loggarna för den senaste körningen av kdesrc-build ska alltid finnas under ${log-dir}/latest.

Varje katalog för en körning av kdesrc-build innehåller nu i sin tur en uppsättning kataloger, en för varje KDE-modul som kdesrc-build försöker bygga. Dessutom finns en fil som heter build-status i katalogen, som låter dig avgöra vilka moduler som byggdes och vilka som misslyckades.

Notera

Om en modul själv har en delmodul (såsom extragear/multimedia, playground/utils eller KDE/kdelibs), finns i själva verket motsvarande struktur i loggkatalogen. Loggarna för KDE/kdelibs efter den senaste körningen av kdesrc-build finns till exempel i ${log-dir}/latest/KDE/kdelibs, och inte i ${log-dir}/latest/kdelibs.

Du hittar en uppsättning filer för varje åtgärd som kdesrc-build utför i varje modulloggkatalog. Om kdesrc-build uppdaterar en modul, kan du se filnamn såsom git-checkout-update.log (för en utcheckning av en modul eller när en modul uppdateras som redan har checkats ut). Om kommandot configure kördes, kan du förvänta dig att se filen configure.log i katalogen.

Om ett fel uppstod, bör du kunna se en förklaring av varför i en av filerna. För att hjälpa till att avgöra vilken fil som innehåller felet, skapar kdesrc-build en länk från filen med felet (såsom build-1.log till en fil som heter error.log).

Slutresultatet av allt detta är att för att se varför en modul misslyckades byggas efter den senaste körningen av kdesrc-build, är filen du först ska titta i ${log-dir}/latest/modulnamn/error.log.

Tips

Om filen error.log är tom (särskilt efter en installation), kanske det inte var något fel. Vissa verktyg som används av KDE:s byggsystem rapporterar ibland av misstag ett fel när det inte fanns något.

Dessutom kringgår några kommandon omdirigeringen av utmatning som kdesrc-build gör, och går förbi loggfilen under vissa omständigheter (normalt när den första utcheckningen från Git sker), och felutmatningen finns inte i loggfilen i detta fall, utan istället i terminalen där kdesrc-build kördes