Re: XERCES not found
Posted: Thu Jul 16, 2015 12:57 pm
Have you checked the 'advanced' checkbox? And typed 'Xerces' in the Search field?
Open-source point cloud editing software
https://danielgm.net/cc/forum/
Thank you for your answer. I clicked now the advanced option and now I can see the Xerces_INCLUDE_DIR in the 'Ungrouped entries' group, but only this Xerces_INCLUDE_DIR and the XERCES_ROOT. Putting the correct path in Xerces_INCLUDE_DIR and also in XERCES_ROOT (and also if I doesn't put it) I obtain the same error:daniel wrote:Have you checked the 'advanced' checkbox? And typed 'Xerces' in the Search field?
Code: Select all
CMake Error at contrib/E57Support.cmake:36 (message):
Unable to find Xerces library. Please make XERCES_ROOT point to the root
of Xerces directory.
Call Stack (most recent call first):
contrib/AllSupport.cmake:8 (include)
CMakeLists.txt:68 (include)
I interpret the XERCES_ROOT option as for example the LIBE57_INSTALL_DIR, i.e., as the path to the xserces installation. For example, I've installed my libe57 in /opt/e57 and the configuration runs OK for /apt/e57 being the value of LIBE57_INSTALL_DIR. I've installed my xerces in /opt/xercesc, so I've put this path in XERCES_ROOT and /opt/xercesc/include/ in Xerces_INCLUDE_DIRdaniel wrote:I guess you'll have to find where this 'XERCES_ROOT' variable is defined and how it is used...
Code: Select all
# Find Xerces
# we use libE57 own Xerces find module
set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/contrib/cmake/Modules/" )
set( Xerces_USE_STATIC_LIBS ON )
find_package( Xerces QUIET )
if ( NOT Xerces_FOUND )
set( XERCES_ROOT CACHE PATH "Location of the Xerces library" )
message( FATAL_ERROR "Unable to find Xerces library. Please make XERCES_ROOT point to the root of Xerces directory." )
else()
include_directories( ${Xerces_INCLUDE_DIR} ${Boost_INCLUDE_DIR} )
endif()
Code: Select all
set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/contrib/cmake/Modules/" )
Code: Select all
# Find Xerces
# we use libE57 own Xerces find module
set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/contrib/cmake/Modules/" )
set( Xerces_USE_STATIC_LIBS ON )
find_package( Xerces QUIET )
# if ( NOT Xerces_FOUND )
# set( XERCES_ROOT CACHE PATH "Location of the Xerces library" )
# message( FATAL_ERROR "Unable to find Xerces library. Please make XERCES_ROOT point to the root of Xerces directory." )
# else()
include_directories( ${Xerces_INCLUDE_DIR} ${Boost_INCLUDE_DIR} )
# endif()
Code: Select all
# if( NOT $ENV{XERCES_ROOT} STREQUAL "" )
set(XERCES_ROOT "/opr/xercesc/")
# endif()
Code: Select all
CMake Warning (dev) at contrib/E57Support.cmake:57 (target_link_libraries):
Link library type specifier "debug" is followed by specifier "optimized"
instead of a library name. The first specifier will be ignored.
Call Stack (most recent call first):
contrib/AllSupport.cmake:33 (target_link_LIBE57)
ccViewer/CMakeLists.txt:96 (target_link_contrib)
This warning is for project developers. Use -Wno-dev to suppress it.
Code: Select all
[ 25%] Building CXX object libs/qCC_io/CMakeFiles/QCC_IO_LIB.dir/E57Filter.cpp.o
/home/topo/Desktop/trunk-2.6.1/libs/qCC_io/E57Filter.cpp:26:31: fatal error: E57/E57Foundation.h: No existe el fichero o el directorio
#include <E57/E57Foundation.h>
^
compilation terminated.
Code: Select all
[ 20%] Building CXX object libs/qCC_io/CMakeFiles/QCC_IO_LIB.dir/E57Filter.cpp.o
In file included from /home/topo/Desktop/trunk-2.6.1/libs/qCC_io/E57Filter.cpp:23:0:
/home/topo/Desktop/trunk-2.6.1/libs/qCC_io/E57Header.h:4:27: fatal error: E57Foundation.h: No existe el fichero o el directorio
#include <E57Foundation.h>
^
Code: Select all
#include <E57Foundation.h>
Code: Select all
#include <e57/E57Foundation.h>
Code: Select all
[ 23%] Building CXX object libs/qCC_io/CMakeFiles/QCC_IO_LIB.dir/moc_AsciiOpenDlg.cxx.o
make[2]: *** No rule to make target '/opt/e57/lib/E57RefImpl.lib', needed by 'libs/qCC_io/libQCC_IO_LIB.so'. Alto.
CMakeFiles/Makefile2:436: recipe for target 'libs/qCC_io/CMakeFiles/QCC_IO_LIB.dir/all' failed
Code: Select all
# if( NOT $ENV{XERCES_ROOT} STREQUAL "" )
# set(XERCES_ROOT "/opr/xercesc/")
set(Xerces_INCLUDE_DIR "/usr/include")
set(Xerces_LIBRARY_DEBUG "/usr/lib/x86_64-linux-gnu/libxerces-c.a")
set(Xerces_LIBRARY_RELEASE "/usr/lib/x86_64-linux-gnu/libxerces-c.a")
# set(Xerces_INCLUDE_DIR "/opr/xercesc/include/")
# endif()
Code: Select all
[ 19%] Built target QCC_DB_LIB
Linking CXX shared library libQCC_IO_LIB.so
/usr/bin/ld: /opt/e57/lib/libE57RefImpl.a(E57Foundation.cpp.o): no se puede usar la reubicación R_X86_64_32 contra `.rodata' cuando se hace un objeto compartido; recompile con -fPIC
/opt/e57/lib/libE57RefImpl.a: error adding symbols: Valor erróneo
collect2: error: ld returned 1 exit status
libs/qCC_io/CMakeFiles/QCC_IO_LIB.dir/build.make:1196: recipe for target 'libs/qCC_io/libQCC_IO_LIB.so' failed
Can be CC compiled as static?jgpallero wrote:In the E57 compilation, only a static library was created, and I can't find (if it exists) the option to create a shared one