Bug 91520

Summary: "no rule to make target" errors are not shown in very short compiler output.
Product: [Applications] kdevelop Reporter: Diederik van der Boor <vdboor>
Component: Output ViewsAssignee: kdevelop-bugs-null
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: 3.1.1   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:

Description Diederik van der Boor 2004-10-17 13:26:39 UTC
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.
Comment 1 Diederik van der Boor 2004-10-17 13:27:22 UTC
(edit: too bad I can't fix my typoo.. "is not short" should be "is not shown".)
Comment 2 Jens Dagerbo 2004-10-17 13:39:15 UTC
One of many problems like it in the outputview parsing.
Comment 3 Jens Dagerbo 2007-01-07 21:46:08 UTC
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