|
|
|
|
|
|
|
|
|
|
Re: CMake Problem Thread [message #4475 is a reply to message #4400] |
Wed, 13 June 2007 16:42 |
Ralf Kliemt
Messages: 507 Registered: May 2007 Location: GSI, Darmstadt
|
first-grade participant |
From: 141.30.85*
|
|
Hi Florian, hi Mohammed,
In the Rev. 880 there is some trouble with the cmake functionality:
CMake Error: Error in cmake code at
/home/ralfk/Pandaroot/pandaroot/base/CMakeLists.txt:72:
SET_TARGET_PROPERTIES called with illegal arguments, maybe missing a PROPERTIES specifier?
Current CMake stack: /home/ralfk/Pandaroot/pandaroot/base/CMakeLists.txt
CMake Error: Error in cmake code at
/home/ralfk/Pandaroot/pandaroot/geobase/CMakeLists.txt:79:
SET_TARGET_PROPERTIES called with illegal arguments, maybe missing a PROPERTIES specifier?
Current CMake stack: /home/ralfk/Pandaroot/pandaroot/geobase/CMakeLists.txt
CMake Error: Error in cmake code at
/home/ralfk/Pandaroot/pandaroot/parbase/CMakeLists.txt:53:
SET_TARGET_PROPERTIES called with illegal arguments, maybe missing a PROPERTIES specifier?
Current CMake stack: /home/ralfk/Pandaroot/pandaroot/parbase/CMakeLists.txt
CMake Error: Error in cmake code at
/home/ralfk/Pandaroot/pandaroot/generators/CMakeLists.txt:49:
SET_TARGET_PROPERTIES called with illegal arguments, maybe missing a PROPERTIES specifier?
Current CMake stack: /home/ralfk/Pandaroot/pandaroot/generators/CMakeLists.txt
CMake Error: Error in cmake code at
/home/ralfk/Pandaroot/pandaroot/cbmg4/CMakeLists.txt:43:
SET_TARGET_PROPERTIES called with illegal arguments, maybe missing a PROPERTIES specifier?
Current CMake stack: /home/ralfk/Pandaroot/pandaroot/cbmg4/CMakeLists.txt
Kind regards, Ralf.
|
|
|
|
|
|
|
|
|
Re: CMake Problem Thread [message #4673 is a reply to message #4308] |
Mon, 16 July 2007 12:48 |
Florian Nebel
Messages: 10 Registered: July 2007 Location: TU Munich
|
occasional visitor |
From: *e12.physik.tu-muenchen.de
|
|
Hi Guys,
I did the SVN Update to revision 1112 today morning and tried my luck with cmake - for the first time. I followed the steps suggested by Ralf Kliemt in his "Using Cmake" Thread.
After running SetEnv.sh and creating the cbuild directory I got the following error during the cmake process:
dallas $ cd cbuild/
dallas $ cmake ../pandaroot/
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Check size of void*
-- Check size of void* - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
CMake Error: Error in cmake code at
/home/knucl/FAIRroot/PANDAroot/pandaroot/CMakeLists.txt:21:
INCLUDE Could not find include file: CbmMacros
Current CMake stack: /home/knucl/FAIRroot/PANDAroot/pandaroot/CMakeLists.txt;/usr/share/cmake /Modules/CMakeCInformation.cmake;/usr/share/cmake/Modules/CMakeCXXInform ation.cmake;/home/knucl/FAIRroot/PANDAroot/pandaroot/CbmMacros
CMake Error: Error in cmake code at
/home/knucl/FAIRroot/PANDAroot/pandaroot/CMakeLists.txt:22:
INCLUDE Could not find include file: WriteConfigFile
Current CMake stack: /home/knucl/FAIRroot/PANDAroot/pandaroot/CMakeLists.txt;/usr/share/cmake /Modules/CMakeCInformation.cmake;/usr/share/cmake/Modules/CMakeCXXInform ation.cmake;/home/knucl/FAIRroot/PANDAroot/pandaroot/CbmMacros;/home/knu cl/FAIRroot/PANDAroot/pandaroot/WriteConfigFile
CMake Error: Error in cmake code at
/home/knucl/FAIRroot/PANDAroot/pandaroot/CMakeLists.txt:27:
Unknown CMake command "CHECK_OUT_OF_SOURCE_BUILD".
-- Configuring done
dallas $
C-Make version is: 2.4.5
I hope anybody can help me with this problem.
|
|
|
|
Re: CMake Problem Thread [message #4675 is a reply to message #4674] |
Mon, 16 July 2007 13:18 |
Florian Nebel
Messages: 10 Registered: July 2007 Location: TU Munich
|
occasional visitor |
From: *e12.physik.tu-muenchen.de
|
|
Hi Florian,
I have found the required entries in CMakeList.txt but not the mentioned directory cmake/modules.
Any hints how I can resolve this problem?
Greetings.
|
|
|
|
Re: CMake Problem Thread [message #4678 is a reply to message #4676] |
Mon, 16 July 2007 13:57 |
Florian Nebel
Messages: 10 Registered: July 2007 Location: TU Munich
|
occasional visitor |
From: *e12.physik.tu-muenchen.de
|
|
Hi,
fortunately I still have the svn output in my shell buffer:
dallas $ pwd
/home/knucl/FAIRroot/PANDAroot
dallas $ svn co https://subversion.gsi.de/fairroot/pandaroot
U pandaroot/stt/CbmStt.cxx
U pandaroot/stt/CbmSttHitProducerIdeal.cxx
Fetching external item into 'pandaroot/base'
Checked out external at revision 1114.
Fetching external item into 'pandaroot/cbmg4'
Checked out external at revision 1114.
Fetching external item into 'pandaroot/config'
svn: 'pandaroot/config' is not a working copy
dallas $
dallas $ ls
build cbuild pandaroot
The output looks like my everyday svn output and therefore I do not think that there is a svn conflict. Do you have any other hints on how I might restore the missing cmake/modules directory?
|
|
|
|
|
|
|
|
|
|
|
Re: CMake Problem Thread [message #4768 is a reply to message #4308] |
Tue, 31 July 2007 17:13 |
Florian Nebel
Messages: 10 Registered: July 2007 Location: TU Munich
|
occasional visitor |
From: *e12.physik.tu-muenchen.de
|
|
Hi guys,
I have a funny c-make linker error. Actually I have a lot of them, therefore I limit myself to the posting of one, representative example:
CMakeFiles/recotasks.dir/demo/ClusterAnalysisTask.o(.data+0x28):/home/kn ucl/FAIRroot/cbmsoft/tools/root/include/TObjArray.h:55: multiple definition of `n'
CMakeFiles/recotasks.dir/demo/PrintTask.o(.data+0x28):/home/knucl/FAIRro ot/cbmsoft/tools/root/include/TObjArray.h:55: first defined here
During the linking process I get about 50 errors of this type which seem rather contradictory to myself. How can the Linker at line 55 know, that "n" has multiple definitions if it is defined at line 55 for the first time? And why does the compiler not complain about this issue. All 50 errors have this contradictory statement in common. Just the header files, lines and variables differ.
I am actually compiling the same code as I used to compile previously with automake - without the funny linker errors. Therefore I figure maybe it is a c-make problem, and belongs here.
Maybe the problem is trivial, but it should be easy to solve in this case.
Thanks for your help!
|
|
|
|
Re: CMake Problem Thread [message #4771 is a reply to message #4770] |
Wed, 01 August 2007 09:28 |
Florian Nebel
Messages: 10 Registered: July 2007 Location: TU Munich
|
occasional visitor |
From: *e12.physik.tu-muenchen.de
|
|
Hi,
while it is always nice to have something unique I'd rather pass in this case. Of course I have a separate cmake and automake build directory - as it was suggested in the using cmake thread.
However I have absolutely no clue what you mean if you talk about the SVN head version, therefore it is kinda hard for me to answer this question.
Nevertheless, if it is not a problem caused by cmake, what else could cause the linker process to fail?
From studying the error messages and the code lines they refer to it is my impression, that the linker is ignoring function prototype definitions. E. g. if function prototype is given in line 44 and the function definition follows in 357 the linker will complain, that the function is first defined in line 357, together with the complain, that it is a multiple definition in line 357 - also I noticed that the error-message does not point to the line with the actual function definition (e. g. void ....) but to the line including the first "{" I don't know if this is a meaningless observation, but it looks rather strange to me, and it is quite annoying to have a code which does compile but not link...
|
|
|
|
|
Re: CMake Problem Thread [message #4774 is a reply to message #4772] |
Wed, 01 August 2007 10:06 |
Florian Nebel
Messages: 10 Registered: July 2007 Location: TU Munich
|
occasional visitor |
From: *e12.physik.tu-muenchen.de
|
|
Thanks a lot,
for this completely non-sarcastic reply. Of course I am a daily user of svn and know the program. I have also tried the default "I have no clue whats going on" solution - and updated pandaroot to the newest version.
However I have to admit that I was confused that you referred to the latest pandaroot version as svn head version. I personally would call the latest pandaroot version or pandaroot head version if you like, and the latest version of SVN, latest SVN version or SVN head version if you prefer. Now you see where the confusion came in...
In absence of better ideas I will try todays revision as well, but I agree with Stefano and do not think it is a problem with revisions.
|
|
|
|
|
Re: CMake Problem Thread [message #4777 is a reply to message #4776] |
Wed, 01 August 2007 10:25 |
Florian Nebel
Messages: 10 Registered: July 2007 Location: TU Munich
|
occasional visitor |
From: *e12.physik.tu-muenchen.de
|
|
Hi,
yes in deed this is my private could which I am currently developing. I located it in the recotask/demo directory. The corresponding CMakeList.txt file reads as follows:
# Create a library called "" which includes the source files given in
# the array .
# The extension is already found. Any number of sources could be listed here.
set(INCLUDE_DIRECTORIES
${ROOT_INCLUDE_DIR}
${CLHEP_INCLUDE_DIR}
${CMAKE_SOURCE_DIR}/geobase
${CMAKE_SOURCE_DIR}/parbase
${CMAKE_SOURCE_DIR}/base
${CMAKE_SOURCE_DIR}/field
${CMAKE_SOURCE_DIR}/mcstack
${CMAKE_SOURCE_DIR}/passive
${CMAKE_SOURCE_DIR}/mvd
${CMAKE_SOURCE_DIR}/mvd/tst
${CMAKE_SOURCE_DIR}/genfit
${CMAKE_SOURCE_DIR}/tpc
${CMAKE_SOURCE_DIR}/tpc/tpcreco
${CMAKE_SOURCE_DIR}/tpcreco
${CMAKE_SOURCE_DIR}/recotasks
${CMAKE_SOURCE_DIR}/recotasks/demo
)
include_directories( ${INCLUDE_DIRECTORIES})
set(LINK_DIRECTORIES
${ROOT_LIBRARY_DIR}
)
link_directories( ${LINK_DIRECTORIES})
set(RECOTASKS_SRCS
CbmFieldAdaptor.cxx
demo/DemoRecoHit.cxx
demo/DemoPatternRecoTask.cxx
demo/DemoKalmanTask.cxx
demo/PrintTask.cxx
demo/MCAnalysisTask.cxx
demo/ClusterAnalysisTask.cxx
KalmanTask.cxx
TrackVisTask.cxx
TrackFitStat.cxx
TrackFitStatTask.cxx
../tpc/tpcreco/TpcPlanarRecoHit.cxx
)
# fill list of header files from list of source files
# by exchanging the file extension
CHANGE_FILE_EXTENSION(*.cxx *.h RECOTASKS_HEADERS "${RECOTASKS_SRCS}")
set(RECOTASKS_LINKDEF recotasksLinkDef.h)
set(RECOTASKS_DICTIONARY ${CMAKE_CURRENT_BINARY_DIR}/recotasksDict.cxx)
ROOT_GENERATE_DICTIONARY("${RECOTASKS_HEADERS}" "${RECOTASKS_LINKDEF}" "${RECOTASKS_DICTIONARY}" "${INCLUDE_DIRECTORIES}")
SET(RECOTASKS_SRCS ${RECOTASKS_SRCS} ${RECOTASKS_DICTIONARY})
add_library(recotasks SHARED ${RECOTASKS_SRCS})
target_link_libraries(recotasks ${ROOT_LIBRARIES})
set_target_properties(recotasks PROPERTIES VERSION 0.0.1 SOVERSION 0 )
################ install ###################
install(TARGETS recotasks DESTINATION ${CMAKE_BINARY_DIR}/lib)
The lines:
demo/PrintTask.cxx
demo/MCAnalysisTask.cxx
demo/ClusterAnalysisTask.cxx
and
../tpc/tpcreco/TpcPlanarRecoHit.cxx
have been added by myself. The first three tasks have been developed by myself, the first two compiled well with automake and cmake. The third task is extremely similar to the second task just using another root file as input, and includes some minor modifications on variable names which are in no relation with the produced errors.
The last line was necessary to resolve the dynamic link error:
dlopen error: /home/knucl/FAIRroot/PANDAroot/cbuild/lib/librecotasks.so: undefined symbol: _ZTI16TpcPlanarRecoHit
Load Error: Failed to load Dynamic link library /home/knucl/FAIRroot/PANDAroot/cbuild/lib/librecotasks.so
Maybe this is related to the problem at hand?
|
|
|
|