[CMake] eclipse-cmake bug - more info

Michael Jackson mike.jackson at bluequartz.net
Wed Aug 19 09:56:35 EDT 2009


Another similar approach to try and diagnose the problem would be to  
have CMake generate plain Makefiles

http://www.cmake.org/Wiki/CMake:Eclipse_UNIX_Tutorial

  Use "Option 2" from that tutorial.

  You should be able to build your project from the terminal with  
"Make" and from Eclipse. Both should give you the same results.

  Also, something I have noticed is that I have to launch Eclipse  
_from the terminal_ in order to get my environment correct. If I click  
on the Eclipse icon in the Linux GUI (KUbuntu) then I have noticed  
that Eclipse can not find somethings. odd.

Just another thought.
_________________________________________________________
Mike Jackson                  mike.jackson at bluequartz.net

On Aug 19, 2009, at 12:44 AM, Philip Lowman wrote:

> Galileo 3.5.0 (CDT 6) seems to be working fine for me.  It's the  
> version I've used at work for a few months and it works fine at home.
>
> There should be no difference between running make in the Eclipse  
> generated directory vs. a Unix Makefile generated directory.
>
> First check directory permissions (ensure all have execute bit) and  
> crazy stuff like that.  Try building in /tmp instead of /home, maybe  
> you're having problems caused by a remote filesystem?
>
> If this goes nowhere, you could try the following:
>
> 1. Using CMake 2.6.4 Configure a Unix Makefiles & Eclipse CDT build  
> directory from scratch with your hello world example
> 2. Does a make in both of them succeed?
>    3. If not, use make "VERBOSE=1" in the Unix Makefiles directory  
> and compare and contrast to find the difference between the two.
>    4. If it is successful at the command line, try building in  
> Eclipse (after nuking build tree)
>        5. If building fails in Eclipse copy and paste the build  
> output to disk, then compare with the make "VERBOSE=1" you ran  
> earlier in the Unix Makefiles directory earlier
>
> Hope this helps and it's simply an environmental issue or  
> something. :)
>
> On Tue, Aug 18, 2009 at 6:34 PM, Steve Mathers <stevenmathers at yahoo.com 
> > wrote:
> Hi, thanks for responding.
>
> Eclipse is the latest Galileo 3.5 and cmake is the latest I  
> downloaded from the site yesterday 2.6.4
>
> yes,
> that does look suspicious.  I have been trying a lot of stuff all
> morning, and I was actually fooling around with making  an eclipse
> project via the cdt4 builder which is a method that I saw on a
> website.  That didnt work very well, crashing eclipse and all sorts of
> things, but I did get it working sort of, with simialr results, only
> this time I saw a little more error information - something about
> depender file being newer than dependee.   So I thought perhaps  
> eclipse
> was touching files it shoudlnt and confusing cmake/make.
>
> with 'foo'
>
> same result, which is kind of a relief - its a systematic failure  
> somehow.
>
>
> **** Build of configuration Linux GCC for project mdc ****
>
> make VERBOSE=1
> /home/cmake-2.6.4-Linux-i386/bin/cmake
> -H/home/Development/AMI_MDC_Dev_Branch/Arm/MMP
> -B/home/Development/AMI_MDC_Dev_Branch/Arm/MMP --check-build-system
> CMakeFiles/Makefile.cmake 0
> make[2]: *** [CMakeFiles/appmonitor.dir/foo.cpp.o] Error 1
> make[1]: *** [CMakeFiles/appmonitor.dir/all] Error 2
> make: *** [all] Error 2
> /home/cmake-2.6.4-Linux-i386/bin/cmake
> -E cmake_progress_start
> /home/Development/AMI_MDC_Dev_Branch/Arm/MMP/CMakeFiles
> /home/Development/AMI_MDC_Dev_Branch/Arm/MMP/CMakeFiles/progress.make
> make -f CMakeFiles/Makefile2 all
> make[1]: Entering directory `/home/Development/AMI_MDC_Dev_Branch/ 
> Arm/MMP'
> make -f CMakeFiles/appmonitor.dir/build.make CMakeFiles/ 
> appmonitor.dir/depend
> make[2]: Entering directory `/home/Development/AMI_MDC_Dev_Branch/ 
> Arm/MMP'
> cd
> /home/Development/AMI_MDC_Dev_Branch/Arm/MMP &&
> /home/cmake-2.6.4-Linux-i386/bin/cmake -E cmake_depends "Unix
> Makefiles" /home/Development/AMI_MDC_Dev_Branch/Arm/MMP
> /home/Development/AMI_MDC_Dev_Branch/Arm/MMP
> /home/Development/AMI_MDC_Dev_Branch/Arm/MMP
> /home/Development/AMI_MDC_Dev_Branch/Arm/MMP
> /home/Development/AMI_MDC_Dev_Branch/Arm/MMP/CMakeFiles/ 
> appmonitor.dir/DependInfo.cmake
> --color=
> make[2]: Leaving directory `/home/Development/AMI_MDC_Dev_Branch/Arm/ 
> MMP'
> make -f CMakeFiles/appmonitor.dir/build.make CMakeFiles/ 
> appmonitor.dir/build
> make[2]: Entering directory `/home/Development/AMI_MDC_Dev_Branch/ 
> Arm/MMP'
> /home/cmake-2.6.4-Linux-i386/bin/cmake -E cmake_progress_report / 
> home/Development/AMI_MDC_Dev_Branch/Arm/MMP/CMakeFiles 1
> [100%] Building CXX object CMakeFiles/appmonitor.dir/foo.cpp.o
> /usr/lib/ccache/c++
> -g -g -I/home/Development/AMI_MDC_Dev_Branch/Arm/MMP/AppMonitor
> -I/home/Development/AMI_MDC_Dev_Branch/Arm/MMP/DBUtil
> -I/home/Development/AMI_MDC_Dev_Branch/Arm/MMP/Common
> -I/home/Development/AMI_MDC_Dev_Branch/Arm/MMP/Scheduler
> -I/home/Development/AMI_MDC_Dev_Branch/Arm/MMP/LanCommon
> -I/home/Development/AMI_MDC_Dev_Branch/Arm/MMP/../../Common/lan_api/ 
> packets
> -I/home/Development/AMI_MDC_Dev_Branch/Arm/MMP/../../Common/AMI_Types
> -I/home/Development/AMI_MDC_Dev_Branch/Arm/MMP/../../LanCommon   -o
> CMakeFiles/appmonitor.dir/foo.cpp.o -c
> /home/Development/AMI_MDC_Dev_Branch/Arm/MMP/foo.cpp
> make[2]: Leaving directory `/home/Development/AMI_MDC_Dev_Branch/Arm/ 
> MMP'
> make[1]: Leaving directory `/home/Development/AMI_MDC_Dev_Branch/Arm/ 
> MMP'
>
>
>
> This is the file it crashes out in/near
>
>
> [root at mdcdev CMakeFiles]# cat  Makefile.cmake
> # CMAKE generated file: DO NOT EDIT!
> # Generated by "Unix Makefiles" Generator, CMake Version 2.6
>
> # The generator used is:
> SET(CMAKE_DEPENDS_GENERATOR "Unix Makefiles")
>
> # The top level Makefile was generated from the following files:
> SET(CMAKE_MAKEFILE_DEPENDS
>  "CMakeCache.txt"
>  "CMakeFiles/CMakeCCompiler.cmake"
>  "CMakeFiles/CMakeCXXCompiler.cmake"
>  "CMakeFiles/CMakeSystem.cmake"
>  "CMakeLists.txt"
>  "/home/cmake-2.6.4-Linux-i386/share/cmake-2.6/Modules/ 
> CMakeCCompiler.cmake.in"
>  "/home/cmake-2.6.4-Linux-i386/share/cmake-2.6/Modules/ 
> CMakeCInformation.cmake"
>  "/home/cmake-2.6.4-Linux-i386/share/cmake-2.6/Modules/ 
> CMakeCXXCompiler.cmake.in"
>  "/home/cmake-2.6.4-Linux-i386/share/cmake-2.6/Modules/ 
> CMakeCXXInformation.cmake"
>  "/home/cmake-2.6.4-Linux-i386/share/cmake-2.6/Modules/ 
> CMakeCommonLanguageInclude.cmake"
>  "/home/cmake-2.6.4-Linux-i386/share/cmake-2.6/Modules/ 
> CMakeDetermineCCompiler.cmake"
>  "/home/cmake-2.6.4-Linux-i386/share/cmake-2.6/Modules/ 
> CMakeDetermineCXXCompiler.cmake"
>  "/home/cmake-2.6.4-Linux-i386/share/cmake-2.6/Modules/ 
> CMakeDetermineCompilerABI.cmake"
>  "/home/cmake-2.6.4-Linux-i386/share/cmake-2.6/Modules/ 
> CMakeDetermineCompilerId.cmake"
>  "/home/cmake-2.6.4-Linux-i386/share/cmake-2.6/Modules/ 
> CMakeDetermineSystem.cmake"
>  "/home/cmake-2.6.4-Linux-i386/share/cmake-2.6/Modules/ 
> CMakeFindBinUtils.cmake"
>  "/home/cmake-2.6.4-Linux-i386/share/cmake-2.6/Modules/ 
> CMakeGenericSystem.cmake"
>  "/home/cmake-2.6.4-Linux-i386/share/cmake-2.6/Modules/ 
> CMakeSystem.cmake.in"
>  "/home/cmake-2.6.4-Linux-i386/share/cmake-2.6/Modules/ 
> CMakeSystemSpecificInformation.cmake"
>  "/home/cmake-2.6.4-Linux-i386/share/cmake-2.6/Modules/ 
> CMakeTestCCompiler.cmake"
>  "/home/cmake-2.6.4-Linux-i386/share/cmake-2.6/Modules/ 
> CMakeTestCXXCompiler.cmake"
>  "/home/cmake-2.6.4-Linux-i386/share/cmake-2.6/Modules/Platform/ 
> Linux.cmake"
>  "/home/cmake-2.6.4-Linux-i386/share/cmake-2.6/Modules/Platform/ 
> UnixPaths.cmake"
>  "/home/cmake-2.6.4-Linux-i386/share/cmake-2.6/Modules/Platform/ 
> gcc.cmake"
>  )
>
> # The corresponding makefile is:
> SET(CMAKE_MAKEFILE_OUTPUTS
>  "Makefile"
>  "CMakeFiles/cmake.check_cache"
>  "CMakeFiles/CMakeDirectoryInformation.cmake"
>  )
>
> # Byproducts of CMake generate step:
> SET(CMAKE_MAKEFILE_PRODUCTS
>  )
>
> # Dependency information for all targets:
> SET(CMAKE_DEPEND_INFO_FILES
>  "CMakeFiles/appmonitor.dir/DependInfo.cmake"
>  )
>
>
>
>
>
> If I build it from 5he shell first, then build in eclipse, it works  
> like below., but if I then touch the foo file and rebuild, splat as  
> above.
>
> Notice
> that the color= thing is still shown below - but it works under that
> circumstance, so I think thats a red herring, possibly just a  
> truncated
> output.  perhaps I should try moving my entire project and renaming
> directories such that I can see more verbose output??!!  grrrrr...
>
> **** Build of configuration Linux GCC for project mdc ****
>
> make VERBOSE=1
> /home/cmake-2.6.4-Linux-i386/bin/cmake
> -H/home/Development/AMI_MDC_Dev_Branch/Arm/MMP
> -B/home/Development/AMI_MDC_Dev_Branch/Arm/MMP --check-build-system
> CMakeFiles/Makefile.cmake 0
> /home/cmake-2.6.4-Linux-i386/bin/cmake
> -E cmake_progress_start
> /home/Development/AMI_MDC_Dev_Branch/Arm/MMP/CMakeFiles
> /home/Development/AMI_MDC_Dev_Branch/Arm/MMP/CMakeFiles/progress.make
> make -f CMakeFiles/Makefile2 all
> make[1]: Entering directory `/home/Development/AMI_MDC_Dev_Branch/ 
> Arm/MMP'
> make -f CMakeFiles/appmonitor.dir/build.make CMakeFiles/ 
> appmonitor.dir/depend
> make[2]: Entering directory `/home/Development/AMI_MDC_Dev_Branch/ 
> Arm/MMP'
> cd
> /home/Development/AMI_MDC_Dev_Branch/Arm/MMP &&
> /home/cmake-2.6.4-Linux-i386/bin/cmake -E cmake_depends "Unix
> Makefiles" /home/Development/AMI_MDC_Dev_Branch/Arm/MMP
> /home/Development/AMI_MDC_Dev_Branch/Arm/MMP
> /home/Development/AMI_MDC_Dev_Branch/Arm/MMP
> /home/Development/AMI_MDC_Dev_Branch/Arm/MMP
> /home/Development/AMI_MDC_Dev_Branch/Arm/MMP/CMakeFiles/ 
> appmonitor.dir/DependInfo.cmake
> --color=
> make[2]: Leaving directory `/home/Development/AMI_MDC_Dev_Branch/Arm/ 
> MMP'
> make -f CMakeFiles/appmonitor.dir/build.make CMakeFiles/ 
> appmonitor.dir/build
> make[2]: Entering directory `/home/Development/AMI_MDC_Dev_Branch/ 
> Arm/MMP'
> make[2]: Nothing to be done for `CMakeFiles/appmonitor.dir/build'.
> make[2]: Leaving directory `/home/Development/AMI_MDC_Dev_Branch/Arm/ 
> MMP'
> /home/cmake-2.6.4-Linux-i386/bin/cmake -E cmake_progress_report / 
> home/Development/AMI_MDC_Dev_Branch/Arm/MMP/CMakeFiles  1
> [100%] Built target appmonitor
> make[1]: Leaving directory `/home/Development/AMI_MDC_Dev_Branch/Arm/ 
> MMP'
> /home/cmake-2.6.4-Linux-i386/bin/cmake -E cmake_progress_start /home/ 
> Development/AMI_MDC_Dev_Branch/Arm/MMP/CMakeFiles 0
>
>



More information about the CMake mailing list