Bug 65541 - No action when clicking on errors in message window
Summary: No action when clicking on errors in message window
Status: RESOLVED FIXED
Alias: None
Product: kdevelop
Classification: Applications
Component: Output Views (show other bugs)
Version: git master
Platform: RedHat Enterprise Linux Linux
: NOR normal
Target Milestone: ---
Assignee: kdevelop-bugs-null
URL:
Keywords:
: 80133 109393 123886 (view as bug list)
Depends on:
Blocks:
 
Reported: 2003-10-05 15:55 UTC by Christian
Modified: 2007-11-30 16:59 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Christian 2003-10-05 15:55:16 UTC
Version:           CVS as of 7-26 (using KDE KDE 3.1)
Installed from:    RedHat RPMs
Compiler:          gcc 3.2.2 
OS:          Linux

Hi, I don't know whether this was ever going to be considered part of the user interface, but in most IDE's I have used, clicking (usually double-clicking) on an error in the messages window will take you to the specific line that was causing the error inside a particular file. I apologize for rreporting this as a bug if this was not meant to be feature, in which case I would like to submit as a wish.
Comment 1 Amilcar do Carmo Lucas 2003-10-05 16:19:25 UTC
Sorry it works fine in here. 
 
Please consider updating ( 
http://www.kdevelop.org/index.html?filename=branches_compiling.html ) nobody 
else gets that problem. 
Comment 2 Christian 2003-10-05 21:31:19 UTC
Well, I don't doubt that it is working for everyone else, but I have downloaded 
the 9/25 snapshot and it is still the same. Perhaps it has something to do with 
the 'Short compiler' and 'Full compiler' outputs being the same?
Comment 3 Jens Dagerbo 2003-10-06 19:01:39 UTC
The obligatory question: does your build directory path contain symlinks? 
 
 
(Works here, btw.) 
Comment 4 Christian 2003-10-06 21:53:08 UTC
Not that I'm aware of. If they are there by default, I wouldn't know. I didn't 
add any myself. I merely extracted to a directory, configured, and built. I did 
see the short output once upon a time when I was using redhat rpms. Building 
from source, however, does not display it anymore.
Comment 5 Jens Dagerbo 2003-10-29 21:18:56 UTC
It keeps working here..

Some more questions:
1. Is this problem present for all projects? (Does it happen for projects created from KDevelop templates?)
2. Does the "Next Error" action (default F4, View menu) work?
3. What does your project structure look like?
Comment 6 Christian 2003-10-30 05:45:45 UTC
Hi. Thanks for your reply.

It's very strange. I know it is connected to the fact that the short output (in the Messages window) does not work anymore. Changing it to the other outputs does not make the clicking work either. 

No F4 does not work.
I have a qmake-based project:
/src
/include
/bin
/ui

I believe I saw the correct behavior once upon a time with a redhat rpm (alpha4). Since then I have been compiling from source.

Thanks
Comment 7 Jens Dagerbo 2003-10-30 11:38:10 UTC
I can't make it misbehave here, using a "qmake application" template from KDevelop.

You didn't answer the first question, which is perhaps the most interesting. Does it happen for all projects? Does it happen for a kdevelop template qmake project?
Comment 8 Christian 2003-10-31 00:00:49 UTC
OK, this is getting interesting. I created a new qmake-based project. Same error as before. I then created a Fortran project. Clicking on the red message brings up the line in question. However, the 'Short compiler' output still does not display correctly. Well, maybe this is specific to C++.
Comment 9 Wolfgang Mües 2004-02-03 14:18:36 UTC
Well - I can confirm this bug.

I am using kdevelop from the 3.1.95 Suse 9.0 rpms. Working for 2 days now on a project with custom make files (C).

Normal action: F8 starts the make/compiler. Errors are displayed. F4 locates the error in the source file.

Errornous action (after 8 hours of working): Errors are displayed. Pressing F4
(if the messages window is current) display the error line in the message window. The editor window is unchanged. Pressing F4 (if the editor window is current) display the error message in the bottom status line, but the editor window is not changed.

So it seems that the locate funktion of the line number in the editor window is messed up.

If I load another project, error locating is working again. If I revert back to the original project, error locating stops working. So it is a mess up in the project files? 
Comment 10 Jens Dagerbo 2004-04-22 19:24:35 UTC
*** Bug 80133 has been marked as a duplicate of this bug. ***
Comment 11 Jens Dagerbo 2004-04-22 19:26:09 UTC
Note the bug #80133 reports. Jonathan claims this happens when the Output Tool Views dock is undocked.
Comment 12 Stefano Rosanelli 2004-10-01 10:12:15 UTC
Works here (with 3.1) with Output View docked and undocked.
I think this is fixed/closed
Comment 13 Ron Goodheart 2005-01-24 06:38:30 UTC
I see the same behaviour in 3.1.1 - the condition for failure in my case is if the filename has a path. That is, an error like: "filename.cpp:21: error: blah, blah" works fine and will take you to line 21 in the source file. If the filename also has a path, for instance: "../src/filename.cpp:21 error: blah, blah" then you can click on it but you will not be taken to that source file nor the line.
Comment 14 Amilcar do Carmo Lucas 2005-01-26 11:42:41 UTC
Can you retest with a recent KDevelop ? It has many fixes, and some of them are in the outputviews.
Comment 15 Stefano Rosanelli 2005-01-26 18:04:27 UTC
Here with 3.1.2 I don't see the same behaviour as in #13:
it works with output view docked or undocked, with very short/short/full compiler output and with paths like "dir/src/filename.cpp", 
not tested on paths like "../src/filename.cpp" [I mean paths with a ".."]

Its a "custom makefiles" project.
Comment 16 Jordi Blasi 2005-02-07 18:35:35 UTC
I am getting same problem just when compiling a single file (Build->Compile File). It works fine when you build the project (F8 or Build->Build Project).

Please test it from an Imported Existing Project ... C++ Custom Makefiles [3.1.91-HEAD 050203].

Getting following debug info when "Build->Compile File":

kdevelop (output views): MakeWidget::specialCheck thinks that url is: file:/home/user/kdevproject/sources/mydir/device%27%20%26amp;%26amp;%20gmake%20-j1%20%27get_device.o/get_device.cpp origin: get_device.cpp
kdevelop (output views): Opening file: file:/home/user/kdevproject/sources/mydir/device%27%20%26amp;%26amp;%20gmake%20-j1%20%27get_device.o/get_device.cpp
kdevelop (output views): Opening file: file:/home/user/kdevproject/sources/mydir/device%27%20%26amp;%26amp;%20gmake%20-j1%20%27get_device.o/get_device.cpp
kdevelop (output views): MakeWidget::specialCheck thinks that url is: file:/home/user/kdevproject/sources/mydir/device%27%20%26amp;%26amp;%20gmake%20-j1%20%27get_device.o/get_device.cpp origin: get_device.cpp
kdevelop (output views): Opening file: file:/home/user/kdevproject/sources/mydir/device%27%20%26amp;%26amp;%20gmake%20-j1%20%27get_device.o/get_device.cpp
kdevelop (core): [void PartController::editDocumentInternal(const KURL&, int, int, bool)] file:/home/user/kdevproject/sources/mydir/device' && gmake -j1 'get_device.o/get_device.cpp linenum 27 activate? true
kdevelop (core): cannot find URL: file:/home/user/kdevproject//home/user/kdevproject/sources/mydir/device%27%20%26amp;%26amp;%20gmake%20-j1%20%27get_device.o/get_device.cpp

Note that file path is wrong and messed up with strange characters and names.

Getting following debug info when "Build->Build Project":

kdevelop (output views): Opening file: /home/user/kdevproject/sources/mydir/device/get_device.cpp
kdevelop (output views): Opening file: /home/user/kdevproject/sources/mydir/device/get_device.cpp
kdevelop (output views): Opening file: /home/user/kdevproject/sources/mydir/device/get_device.cpp
kdevelop (core): [void PartController::editDocumentInternal(const KURL&, int, int, bool)] file:/home/user/kdevproject/sources/mydir/device/get_device.cpp linenum 27 activate? true
kdevelop (core): [virtual void NewMainWindow::raiseView(QWidget*)]

Comment 17 Jordi Blasi 2005-02-10 17:45:28 UTC
Well ... this is step ahead.

I have noticed that when you "Build->Compile File" you do not get on Message window the "Entering directory /home/user/......" paths that kdevelop needs to jump to source line error! Not even if you right-click on "Show Directory Navigation Messages".

However you do get the directory navigation messages when you "Build->Build Project".

Then, my workarroud for that issue is:

Project->Project Options...->Build Options->Make

and add

-w

into "Additional make options".

That way I get to jump to error line correctly when clicking or F4.

I do apologize if that is not considered as a bug but took me some time to discover it. A bit hidden anyway ...
Comment 18 Timo Steuerwald 2005-08-05 14:22:51 UTC
Hi all, this doesn't works for me!

The essential part of my original message, which I sent to kdevelop-user list is pasted below: 

************************SNIP************************
I have a project, whose source files are distributed in several subfolders. If now an error exists in one of the files, I can not jump straight via mouse click from the message to the according code position.
At the console I get this output:

> kdevelop (core): cannot find URL: file:///projects/kdevelop/live//projects/kdevelop/live/include/SIPClient.hh



This is wrong, the correct path is "/projects/kdevelop/live/liveMedia/include/SIPClient.hh". Please note, that the "liveMedia" subfolder doesn't appear in the message on the console.
I already tried "-w" as additional option for the make command (Project->Project Options...->Build Options->Make) as described in http://www.kdevelop.org/phorum5/read.php?2,28044,28044#msg-28044 and http://bugs.kde.org/show_bug.cgi?id=65541#c17 but this doesn't help, the console message will be exactly the same.
************************SNIP************************

This project is an import of the LIVE.COM Streaming Media library, a SIP/RTP stack which uses custom makefiles. It can be downloaded here: http://www.live.com/liveMedia/public/
I use Ubuntu Hoary Hedgehog and KDevelop version 3.2.0

Cheers,

Timo
Comment 19 mrb1 2005-10-10 12:59:42 UTC
Hi,

I've done some research and hope to shed more light on this problem. 

Using KDevelop 3.2.0 the problem appears if you have a QT-project with multiple subprojects AND have the make option 'Number of simultaneous jobs' set to more than 1.

I belive the problem arises from the fact that the multiple makes/GCCs running simultaneously are outputing info to the same stream. KDevelop belives it is making files in one directory, but the warning or error message comes from a make/gcc in another directory being executed at the same time.

I also want to point out that the problem does not appear if you are not using a QT project. I am not into the KDevelop code, so I can only speculate that the way qmake in combination with make are working are a little bit different than the way make without qmake works.

I hope someone can figure out a way to fix this problem other than using only one compile thread. We are compiling huge amounts of QT code and are in great need for distributed compiling, but this bug makes that difficult at best.
Comment 20 Setti 2005-10-27 15:30:24 UTC
Hi all,

Using Kdevelop 3.2.1 the problem appears even if the make option 'Number of simultaneous jobs' set to 1.

As I see, (in my case) the problem is that KDevelop handles 'Entering directory' messages but omits 'Leaving directory' navigations.
Comment 21 Amilcar do Carmo Lucas 2005-10-27 15:40:40 UTC
What compiler version ?
What buildtool (autotools, custom, QMake, ant, scons ...) ?

Can you retest with KDevelop 3.2.92 ?
Comment 22 Setti 2005-11-04 16:37:09 UTC
Gentoo Linux 2.6.11.5
KDE 3.4.1
gcc version 3.3.6 (Gentoo 3.3.6, ssp-3.3.6-1.0, pie-8.7.8)
GNU Make 3.80 (gmake)

It's the same with KDevelop 3.2.3. 
Comment 23 Setti 2005-11-04 16:58:33 UTC
I'll try with KDevelop 3.2.92 asap. (next week)
Comment 24 Setti 2005-12-08 11:25:26 UTC
The same with KDevelop 3.3.0.

Entering directory A
Entering directory B
...
Leaving directory B
....
Error ... in src/a.cpp line ...
...

If I click on error message line, kdevelop wants to open B/src/a.cpp not the real A/src/a.cpp.
Comment 25 Matt Rogers 2006-02-12 05:45:27 UTC
*** Bug 109393 has been marked as a duplicate of this bug. ***
Comment 26 Jens Dagerbo 2007-01-07 15:37:27 UTC
*** Bug 123886 has been marked as a duplicate of this bug. ***
Comment 27 Jordi Blasi 2007-01-08 12:24:54 UTC
If LANGUAGE environment variable is set to a different value from "en_US" clicking  on compile error line will fail.

Kdevelop expects make "Entering directory ..." messages to be in english.

Since make std output depends on LANGUAGE environment variable, changing it to other language will cause kdevelop not to understand it (seems kdevelop not reading LANGUAGE environment).
Comment 28 maciek gajewski 2007-02-27 10:58:00 UTC
It doesn't work for me, nor for all my pals here. We all are using fedora-4 or fedora-5 distros on x86 boxes, with kdevelop versions from 3.3 to 3.4. There are only few lucky who haven't had upgraded for some time and have it working on kdevelop-3.2
The LANGUAGE, LANG or LC_ALL variables have no influence at all.

This is SO, SO, SO annoying that this basic IDE feature isn't working.
Comment 29 maciek gajewski 2007-02-27 11:03:47 UTC
I've done more research:
- compiling single file does work
- we all are using multi-directory custom-makefiles projects with many simultaneous jobs (distcc).
So ok, kdevelop may lost the track of current directory. But couldn't it just look  for the file in entire project directory? The source file names are pretty unique.  And even more: it could look at opened files first. The errors are most often in just edited files.
Comment 30 Amilcar do Carmo Lucas 2007-02-27 12:32:25 UTC
1. Try setting the LANGUAGE="en_US" before starting kdevelop.
2. Test it with KDevelop 3.4.0
3. Set the make option 'Number of simultaneous jobs' to 1

Report the result.
Comment 31 stathis 2007-04-25 17:12:09 UTC
I confirm this too on Gentoo x86_64, with kdevelop 3.4.0. I tried the LANGUAGE setting but it doesn't seem to have any effect. Setting the jobs to 1 does fix the problem, but compilation takes forever with one cpu. I hope this is fixed because makes development very difficult on large projects.
Comment 32 Andreas Pakulat 2007-04-25 17:21:32 UTC
I doubt it has been fixed, at least I can't recall any commit that should fix this.
Comment 33 stathis 2007-04-25 18:00:42 UTC
No it has not been fixed, what I say is that kdevelop's error tracking works only if you have one job being spawn with make, as suggested, any other value and your error tracking stops working. This is not an apropriate solution of course.
Comment 34 Andreas Pakulat 2007-04-25 18:18:18 UTC
I meant it hasn't been fixed since the release of 3.4.0 and now.
Comment 35 Andreas Pakulat 2007-11-30 16:59:25 UTC
SVN commit 743310 by apaku:

If none of the existing methods finds a file for a given filename from make output try to find one in the list of project files. This is as good as KDevelop can do, I don't see any more options to find a file.
BUG:65541

 M  +11 -0     makewidget.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=743310