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.
Sorry it works fine in here. Please consider updating ( http://www.kdevelop.org/index.html?filename=branches_compiling.html ) nobody else gets that problem.
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?
The obligatory question: does your build directory path contain symlinks? (Works here, btw.)
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.
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?
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
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?
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++.
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?
*** Bug 80133 has been marked as a duplicate of this bug. ***
Note the bug #80133 reports. Jonathan claims this happens when the Output Tool Views dock is undocked.
Works here (with 3.1) with Output View docked and undocked. I think this is fixed/closed
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.
Can you retest with a recent KDevelop ? It has many fixes, and some of them are in the outputviews.
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.
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*)]
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 ...
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
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.
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.
What compiler version ? What buildtool (autotools, custom, QMake, ant, scons ...) ? Can you retest with KDevelop 3.2.92 ?
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.
I'll try with KDevelop 3.2.92 asap. (next week)
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.
*** Bug 109393 has been marked as a duplicate of this bug. ***
*** Bug 123886 has been marked as a duplicate of this bug. ***
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).
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.
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.
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.
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.
I doubt it has been fixed, at least I can't recall any commit that should fix this.
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.
I meant it hasn't been fixed since the release of 3.4.0 and now.
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