Version: 3.1.1 (using KDE 3.3.1, Gentoo) Compiler: gcc version 3.3.4 20040623 (Gentoo Linux 3.3.4-r1, ssp-3.3.2-2, pie-8.7.6) OS: Linux (i686) release 2.6.8-gentoo-r7 The Makefile error message: <<No rule to make target `X', needed by `Y'. Stop.>> is not short in the short compiler output. The output just ends with an <<Exited with status: 2>> error without giving a clue what went wrong. Imho that is a bit too short, and I would appreciate fix for this.
(edit: too bad I can't fix my typoo.. "is not short" should be "is not shown".)
One of many problems like it in the outputview parsing.
SVN commit 620944 by dagerbo: Add various common ld and make error strings to the output error parser Add 'CC' among the possible compilers BUG: 71299 BUG: 72699 BUG: 131542 BUG: 91520 BUG: 132601 M +8 -0 compileerrorfilter.cpp M +3 -3 makeactionfilter.cpp --- branches/kdevelop/3.4/parts/outputviews/compileerrorfilter.cpp #620943:620944 @@ -50,6 +50,13 @@ ErrorFormat( "([^: \\t]+)\\(([0-9]+)\\):([^0-9]+)", 1, 2, 3, "intel" ), //libtool link ErrorFormat( "(libtool):( link):( warning): ", 0, 0, 0 ), + // ld + ErrorFormat( "undefined reference", 0, 0, 0 ), + ErrorFormat( "undefined symbol", 0, 0, 0 ), + ErrorFormat( "ld: cannot find", 0, 0, 0 ), + ErrorFormat( "No such file", 0, 0, 0 ), + // make + ErrorFormat( "No rule to make target", 0, 0, 0 ), // Fortran ErrorFormat( "\"(.*)\", line ([0-9]+):(.*)", 1, 2, 3 ), // Jade @@ -65,6 +72,7 @@ }; return formats; + } void CompileErrorFilter::processLine( const QString& line ) --- branches/kdevelop/3.4/parts/outputviews/makeactionfilter.cpp #620943:620944 @@ -72,9 +72,9 @@ MakeActionFilter::ActionFormat* MakeActionFilter::actionFormats() { static ActionFormat formats[] = { - ActionFormat( i18n("compiling"), 1, 2, "(gcc|cc|distcc|c\\+\\+|g\\+\\+)\\S* (?:\\S* )*-c (?:\\S* )*`[^`]*`(?:[^/\\s;]*/)*([^/\\s;]+)"), - ActionFormat( i18n("compiling"), 1, 2, "(gcc|cc|distcc|c\\+\\+|g\\+\\+)\\S* (?:\\S* )*-c (?:\\S* )*-o (?:\\S* )(?:[^/;]*/)*([^/\\s;]+)"), - ActionFormat( i18n("compiling"), 1, 2, "(gcc|cc|distcc|c\\+\\+|g\\+\\+)\\S* (?:\\S* )*-c (?:\\S* )*(?:[^/]*/)*([^/\\s;]*)"), + ActionFormat( i18n("compiling"), 1, 2, "(gcc|CC|cc|distcc|c\\+\\+|g\\+\\+)\\S* (?:\\S* )*-c (?:\\S* )*`[^`]*`(?:[^/\\s;]*/)*([^/\\s;]+)"), + ActionFormat( i18n("compiling"), 1, 2, "(gcc|CC|cc|distcc|c\\+\\+|g\\+\\+)\\S* (?:\\S* )*-c (?:\\S* )*-o (?:\\S* )(?:[^/;]*/)*([^/\\s;]+)"), + ActionFormat( i18n("compiling"), 1, 2, "(gcc|CC|cc|distcc|c\\+\\+|g\\+\\+)\\S* (?:\\S* )*-c (?:\\S* )*(?:[^/]*/)*([^/\\s;]*)"), ActionFormat( i18n("compiling"), 1, 1, "^compiling (.*)" ), //unsermake ActionFormat( i18n("compiling"), 1, 1, "\\[.+%\\] Building .* object (.*)" ), //cmake