Opened 10 years ago

Last modified 4 years ago

#45685 closed defect

cmake fails because of XML linking error (expat issue?) — at Version 4

Reported by: jpsdotcom@… Owned by: css@…
Priority: Normal Milestone:
Component: ports Version: 2.3.2
Keywords: yosemite Cc:
Port: cmake

Description (last modified by neverpanic (Clemens Lang))

Am using OS X Yosemite & XCode 6.1

from main.log after "port install cmake" fails:
:info:build Linking CXX executable ../bin/ccmake
:info:build [ 88%] ld: warning: ignoring file /Library/Frameworks/expat.framework/expat, file was built for i386 which is not the architecture being linked (x86_64): /Library/Frameworks/expat.framework/expat
:info:build Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmParseGTMCoverage.cxx.o
:info:build Undefined symbols for architecture x86_64:
:info:build   "_XML_ErrorString", referenced from:
:info:build       cmXMLParser::ReportXmlParseError() in libCMakeLib.a(cmXMLParser.cxx.o)
:info:build   "_XML_GetCurrentColumnNumber", referenced from:
:info:build       cmXMLParser::ReportXmlParseError() in libCMakeLib.a(cmXMLParser.cxx.o)
:info:build   "_XML_GetCurrentLineNumber", referenced from:
:info:build       cmXMLParser::ReportXmlParseError() in libCMakeLib.a(cmXMLParser.cxx.o)
:info:build   "_XML_GetErrorCode", referenced from:
:info:build       cmXMLParser::ReportXmlParseError() in libCMakeLib.a(cmXMLParser.cxx.o)
:info:build   "_XML_Parse", referenced from:
:info:build       cmXMLParser::CleanupParser() in libCMakeLib.a(cmXMLParser.cxx.o)
:info:build       cmXMLParser::ParseBuffer(char const*, unsigned long) in libCMakeLib.a(cmXMLParser.cxx.o)
:info:build   "_XML_ParserCreate", referenced from:
:info:build       cmXMLParser::InitializeParser() in libCMakeLib.a(cmXMLParser.cxx.o)
:info:build   "_XML_ParserFree", referenced from:
:info:build       cmXMLParser::CleanupParser() in libCMakeLib.a(cmXMLParser.cxx.o)
:info:build   "_XML_SetCharacterDataHandler", referenced from:
:info:build       cmXMLParser::InitializeParser() in libCMakeLib.a(cmXMLParser.cxx.o)
:info:build   "_XML_SetElementHandler", referenced from:
:info:build       cmXMLParser::InitializeParser() in libCMakeLib.a(cmXMLParser.cxx.o)
:info:build   "_XML_SetUserData", referenced from:
:info:build       cmXMLParser::InitializeParser() in libCMakeLib.a(cmXMLParser.cxx.o)
:info:build ld: symbol(s) not found for architecture x86_64
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)
:info:build make[2]: *** [bin/ccmake] Error 1
:info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_cmake/cmake/work/cmake-3.0.2'
:info:build make[1]: *** [Source/CMakeFiles/ccmake.dir/all] Error 2

Change History (4)

comment:1 Changed 10 years ago by jpsdotcom@…

I didn't realize how bad the formatting would be, so here is the snip from main.log, again:

:info:build Linking CXX executable ../bin/ccmake
:info:build [ 88%] ld: warning: ignoring file /Library/Frameworks/expat.framework/expat, file was built for i386 which is not the architecture being linked (x86_64): /Library/Frameworks/expat.framework/expat
:info:build Building CXX object Source/CMakeFiles/CTestLib.dir/CTest/cmParseGTMCoverage.cxx.o
:info:build Undefined symbols for architecture x86_64:
:info:build   "_XML_ErrorString", referenced from:
:info:build       cmXMLParser::ReportXmlParseError() in libCMakeLib.a(cmXMLParser.cxx.o)
:info:build   "_XML_GetCurrentColumnNumber", referenced from:
:info:build       cmXMLParser::ReportXmlParseError() in libCMakeLib.a(cmXMLParser.cxx.o)
:info:build   "_XML_GetCurrentLineNumber", referenced from:
:info:build       cmXMLParser::ReportXmlParseError() in libCMakeLib.a(cmXMLParser.cxx.o)
:info:build   "_XML_GetErrorCode", referenced from:
:info:build       cmXMLParser::ReportXmlParseError() in libCMakeLib.a(cmXMLParser.cxx.o)
:info:build   "_XML_Parse", referenced from:
:info:build       cmXMLParser::CleanupParser() in libCMakeLib.a(cmXMLParser.cxx.o)
:info:build       cmXMLParser::ParseBuffer(char const*, unsigned long) in libCMakeLib.a(cmXMLParser.cxx.o)
:info:build   "_XML_ParserCreate", referenced from:
:info:build       cmXMLParser::InitializeParser() in libCMakeLib.a(cmXMLParser.cxx.o)
:info:build   "_XML_ParserFree", referenced from:
:info:build       cmXMLParser::CleanupParser() in libCMakeLib.a(cmXMLParser.cxx.o)
:info:build   "_XML_SetCharacterDataHandler", referenced from:
:info:build       cmXMLParser::InitializeParser() in libCMakeLib.a(cmXMLParser.cxx.o)
:info:build   "_XML_SetElementHandler", referenced from:
:info:build       cmXMLParser::InitializeParser() in libCMakeLib.a(cmXMLParser.cxx.o)
:info:build   "_XML_SetUserData", referenced from:
:info:build       cmXMLParser::InitializeParser() in libCMakeLib.a(cmXMLParser.cxx.o)
:info:build ld: symbol(s) not found for architecture x86_64
:info:build clang: error: linker command failed with exit code 1 (use -v to see invocation)
:info:build make[2]: *** [bin/ccmake] Error 1
:info:build make[2]: Leaving directory `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_devel_cmake/cmake/work/cmake-3.0.2'
:info:build make[1]: *** [Source/CMakeFiles/ccmake.dir/all] Error 2

comment:2 Changed 10 years ago by arnaud.fribault@…

Hi,

I'm running into the same problem.

What I did :

"expat" dependency seems to be the culprit : it doesn't contain a x86_64 slice as expected. Expat version is 2.0.0.

I'm running Yosemite with Xcode6.1 (latest command line tools installed) on a 3,4 GHz Intel Core i7.

Thx

Arnaud F.

comment:3 Changed 10 years ago by eborisch (Eric A. Borisch)

Attach the config/build log. It appears to be grabbing the wrong expat.

comment:4 Changed 10 years ago by neverpanic (Clemens Lang)

Description: modified (diff)
Keywords: cmake removed
Owner: changed from macports-tickets@… to css@…
Port: cmake added

Please use WikiFormatting when posting in trac, and fill in the port field when reporting bugs against ports. Please also Cc the maintainer, if any.

As per the wiki:FAQ#buildfails, please also try sudo port clean cmake followed by sudo port -t install cmake (which will hide your bogus copy of expat in /Library/Frameworks from cmake's build system at the cost of performance).

Last edited 10 years ago by neverpanic (Clemens Lang) (previous) (diff)
Note: See TracTickets for help on using tickets.