Registo de compilação do kdesrc-build

Introdução ao registo

O registo é uma funcionalidade do kdesrc-build que consiste no facto do resultado de todos os comandos que o kdesrc-build executa serem gravados num ficheiro para serem posteriormente examinados, se necessário. Isto é feito, porque muitas vezes é necessário ter o resultado destes programas quando houver um erro de compilação, dado que poderão existir várias razões para a compilação falhar, em primeiro lugar.

Disposição da pasta de registo

Os registos são sempre gravados sob a pasta de registo. O destino da pasta em questão é controlado pela opção log-dir, que é por omissão igual a ${source-dir}/log (onde o ${source-dir} é o valor da opção source-dir. No resto desta secção, este valor será referido como ${log-dir}).

Sob a ${log-dir}, existe um conjunto de pastas, uma por cada vez que o kdesrc-build foi executado. Cada pasta tem como nome a data e o número da execução. Por exemplo, a segunda vez que o kdesrc-build foi executado a 26 de Maio de 2004 irá criar uma pasta chamada 2004-05-26-02, onde o 2004-05-26 corresponde à data e o -02 é o número da execução.

Por questões de conveniência, o kdesrc-build irá também criar uma ligação aos registos da sua última execução, chamada latest. Assim, os registos da última execução mais recente do kdesrc-build deverão estar sempre sob a ${log-dir}/latest.

Agora, cada pasta de uma execução do kdesrc-build irá conter, por sua vez, um conjunto de pastas, uma por cada módulo KDE que o kdesrc-build tentará compilar. Do mesmo modo, irá conter um ficheiro chamado build-status nessa pasta, que lhe permitirá determinar quais os módulos que compilaram bem e os que falharam.

Nota

Se um módulo em si tiver um sub-módulo (como o extragear/multimedia, playground/utils ou KDE/kdelibs), então, só irá existir uma disposição equivalente na pasta de registos. Por exemplo, os registos do KDE/kdelibs, após a última execução do kdesrc-build, irão aparecer em ${log-dir}/latest/KDE/kdelibs e não em ${log-dir}/latest/kdelibs.

Na pasta de registo de cada módulo, irá encontrar um conjunto de ficheiros para cada operação que o kdesrc-build efectuar. Se o kdesrc-build actualizar um módulo, irá ver ficheiros chamados svn-co.log (para um módulo extraído por completo) ou svn-up.log (ao actualizar um módulo que já tinha sido extraído). Se o comando configure foi executado, então será de esperar ver um ficheiro configure.log nessa pasta.

Se ocorreu um erro, deverá ser capaz de ver uma explicação da razão num dos ficheiros. Para o ajudar a determinar qual o ficheiro que contém o erro, o kdesrc-build irá criar uma ligação do ficheiro que contém o erro (do tipo build-1.log para um ficheiro chamado error.log).

A vantagem de tudo isto é que, para ver onde é que um ficheiro falhou na compilação, após a sua última execução do kdesrc-build, o ficheiro que deverá ver primeiro é o ${log-dir}/latest/nome-módulo/error.log.

Dica

Se o ficheiro error.log estiver em branco (especialmente após uma instalação), então provavelmente não houve qualquer erro. Algumas das ferramentas usadas pelo sistema de compilação do KDE irão comunicar por engano um erro quando não ocorreu nada.

Do mesmo modo, alguns comandos poderão fugir ao redireccionamento do resultado do kdesrc-build e passar ao lado do ficheiro de registo em certas circunstâncias (normalmente ao obter o conteúdo do Subversion da primeira vez), onde o resultado do erro, nesse caso, não está no ficheiro de registo mas sim no Konsole ou no terminal onde executou o kdesrc-build.