Previous Up Next

3.3.3  Welk gedeelte van de uitvoer van “make” moet ik posten opdat men mij kan helpen in geval van een fout bij manuele compilatie?

De laatste regels van een foutmelding bij make hebben meestal de volgende vorm:

...
make[1]: *** [<bestand>] Error <n>
make: *** [<bestand>] Error <n+1>

Ditzijn sub-make’s die hun falen bekendmaken aan de oproepende make’s. De opdrachtregel en uitvoer van het proces dat de uiteindelijke foutmelding heeft veroorzaakt is hetgeen je nodig hebt als je wil dat men je kan helpen :-)

Indien het de uitvoer van een gcc-oproep betreft, dan kan je ervan uitgaan dat de eerste foutmeldingen van het laatste opgeroepen proces significanter zijn dan de latere foutmeldingen van dit proces.

Bijvoorbeeld:

1  g++ -Wall -ansi -pedantic -c -o liblparser.o liblparser.cpp
2  liblparser.cpp:8:22: LSystemo.h: No such file or directory
3  liblparser.cpp: In function `int main(int, char**)':
4  liblparser.cpp:20: error: `strcpy' undeclared (first use this function)
5  liblparser.cpp:20: error: (Each undeclared identifier is reported only
once for
6     each function it appears in.)
7  liblparser.cpp:22: error: `LSystem' undeclared (first use this function)
8  liblparser.cpp:22: error: parse error before `;' token
9  liblparser.cpp:23: error: `the_system' undeclared (first use this
function)
10 make: *** [liblparser.o] Error 1

Hieruit zou je dus minstens de opdrachtregel (regel 1) en de eerste foutmelding (regel 2) moeten posten. De andere foutmeldingen (regels 3 tot 9) zijn in dit geval veroorzaakt door de eerste fout, dus zijn hier niet echt significant. De laatste regel (regel 10) is niet echt informatief omdat uit de foutmelding al volgtover welk bestand het gaat.

Je kan natuurlijk beter teveel posten dan te weinig.


BCOL-FAQ : De Belgische Linux nieuwsgroep vragen
Previous Up Next