[CMake] Re: XML/expat link error

Brad King brad.king at kitware.com
Fri May 26 15:25:49 EDT 2006


Doug Henry wrote:
> actually, I have found if I change the following entry (add expat to the 
> linker flags) in cmxmlrpc/CMakeLists.txt this problem goes away:
> 
> TARGET_LINK_LIBRARIES(xrtest cmXMLRPC cmexpat expat ${CMAKE_DL_LIBS})

 From where is that other "expat" library coming?  I bet the build of 
cmXMLRPC is accidentally using system expat headers instead of cmexpat 
headers.  The include directory order in Utilities/cmxmlrpc may need 
fixing.  In that directory's CMakeLists.txt file change the lines

INCLUDE_DIRECTORIES(
   "${CMAKE_CURRENT_SOURCE_DIR}"
   "${CMAKE_CURRENT_BINARY_DIR}"
   ${CMAKE_EXPAT_INCLUDES}
   ${CMAKE_CURL_INCLUDES}
   )

to

INCLUDE_DIRECTORIES(BEFORE
   ${CMAKE_CURL_INCLUDES}
   ${CMAKE_EXPAT_INCLUDES}
   "${CMAKE_CURRENT_SOURCE_DIR}"
   "${CMAKE_CURRENT_BINARY_DIR}"
   )

and try bootstrapping again with a fresh tree.

-Brad

> On 5/26/06, *Doug Henry* <develop at brilligent.com 
> <mailto:develop at brilligent.com>> wrote:
> 
>     I receive the errors below when building versions 2.2.3 and 2.4.2. 
>     It looks like the cmexpat library is not linking in when cmXMLRPC
>     library is used.  I have ./Utilities/cmexpat/libcmexpat.a so it did
>     build, not sure what would cause this.
> 
>     [TOOLS cmake-2.4.2]$ make
>     Linking C executable ../../bin/xrtest
>     /mnt/tools/RPM/TMP/cmake-2.4.2/Utilities/cmxmlrpc/libcmXMLRPC.a(xmlrpc_expat.o):
>     In function `xml_parse':
>     xmlrpc_expat.c:(.text+0x848): undefined reference to `XML_ParserCreate'
>     xmlrpc_expat.c:(.text+0x862): undefined reference to `XML_SetUserData'
>     xmlrpc_expat.c:(.text+0x87c): undefined reference to
>     `XML_SetElementHandler'
>     xmlrpc_expat.c:(.text+0x88d): undefined reference to
>     `XML_SetCharacterDataHandler'
>     xmlrpc_expat.c:(.text+0x8a6): undefined reference to `XML_Parse'
>     xmlrpc_expat.c:(.text+0x8d8): undefined reference to `XML_ParserFree'
>     xmlrpc_expat.c:(.text+0x947): undefined reference to `XML_GetErrorCode'
>     xmlrpc_expat.c:(.text+0x94f): undefined reference to `XML_ErrorString'
>     xmlrpc_expat.c:(.text+0x96c): undefined reference to `XML_GetErrorCode'
>     xmlrpc_expat.c:(.text+0x974): undefined reference to `XML_ErrorString'
>     collect2: ld returned 1 exit status
>     make[2]: *** [bin/xrtest] Error 1
>     make[1]: *** [Utilities/cmxmlrpc/CMakeFiles/xrtest.dir/all] Error 2
> 
> 
> 
> ------------------------------------------------------------------------
> 
> _______________________________________________
> CMake mailing list
> CMake at cmake.org
> http://www.cmake.org/mailman/listinfo/cmake



More information about the CMake mailing list