Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iPhone libxml2 undefined symbols (with gdata, kissxml, touchxml, etc.)

I'm trying to use any one of the libxml based 3rd party XML parsers, but I can't because I think I have a libxml2 problem of some sort

I set my other linker flags to -lxml2

and header search paths to /usr/include/libxml2

but I still get a ton of undefined symbols when I try to compile. The errors below are the result of trying to compile TouchXML.

Undefined symbols:
  "_xmlDocDumpFormatMemory", referenced from:
      -[CXMLDocument description] in CXMLDocument.o
  "_xmlXPathNewContext", referenced from:
      -[CXMLNode nodesForXPath:error:] in CXMLNode.o
      -[CXMLNode(CXMLNode_NamespaceExtensions) nodesForXPath:namespaceMappings:error:] in CXMLNode_XPathExtensions.o
  "_xmlOutputBufferFlush", referenced from:
      -[CXMLNode XMLStringWithOptions:] in CXMLNode.o
  "_xmlNodeListGetString", referenced from:
      -[CXMLNode stringValue] in CXMLNode.o
  "_xmlFree", referenced from:
      _xmlFree$non_lazy_ptr in CXMLDocument.o
      _xmlFree$non_lazy_ptr in CXMLNode.o
     (maybe you meant: _xmlFree$non_lazy_ptr)
  "_xmlXPathFreeContext", referenced from:
      -[CXMLNode nodesForXPath:error:] in CXMLNode.o
      -[CXMLNode(CXMLNode_NamespaceExtensions) nodesForXPath:namespaceMappings:error:] in CXMLNode_XPathExtensions.o
  "_xmlNodeDumpOutput", referenced from:
      -[CXMLNode XMLStringWithOptions:] in CXMLNode.o
  "_xmlAddChild", referenced from:
      -[CXMLDocument(CXMLDocument_CreationExtensions) addChild:] in CXMLDocument_CreationExtensions.o
      -[CXMLElement(CXMLElement_CreationExtensions) addChild:] in CXMLElement_CreationExtensions.o
      -[CXMLElement(CXMLElement_CreationExtensions) setStringValue:] in CXMLElement_CreationExtensions.o
  "_xmlDocSetRootElement", referenced from:
      +[CXMLNode(CXMLNode_CreationExtensions) documentWithRootElement:] in CXMLNode_CreationExtensions.o
  "_xmlFreeNode", referenced from:
      -[CXMLNode dealloc] in CXMLNode.o
  "_xmlXPathEvalExpression", referenced from:
      -[CXMLNode nodesForXPath:error:] in CXMLNode.o
      -[CXMLNode(CXMLNode_NamespaceExtensions) nodesForXPath:namespaceMappings:error:] in CXMLNode_XPathExtensions.o
  "_xmlStrcmp", referenced from:
      -[CXMLElement elementsForName:] in CXMLElement.o
      -[CXMLElement attributeForName:] in CXMLElement.o
  "_xmlParseDoc", referenced from:
      -[CXMLDocument initWithXMLString:options:error:] in CXMLDocument.o
  "_xmlCopyNode", referenced from:
      -[CXMLNode copyWithZone:] in CXMLNode.o
  "_xmlOutputBufferClose", referenced from:
      -[CXMLNode XMLStringWithOptions:] in CXMLNode.o
  "_xmlAddPrevSibling", referenced from:
      -[CXMLDocument(CXMLDocument_CreationExtensions) insertChild:atIndex:] in CXMLDocument_CreationExtensions.o
  "_xmlDocDumpMemory", referenced from:
      -[CXMLDocument XMLDataWithOptions:] in CXMLDocument.o
  "_xmlNewDoc", referenced from:
      +[CXMLNode(CXMLNode_CreationExtensions) document] in CXMLNode_CreationExtensions.o
      +[CXMLNode(CXMLNode_CreationExtensions) documentWithRootElement:] in CXMLNode_CreationExtensions.o
  "_xmlNewText", referenced from:
      -[CXMLElement(CXMLElement_CreationExtensions) setStringValue:] in CXMLElement_CreationExtensions.o
  "_xmlXPathFreeObject", referenced from:
      -[CXMLNode nodesForXPath:error:] in CXMLNode.o
      -[CXMLNode(CXMLNode_NamespaceExtensions) nodesForXPath:namespaceMappings:error:] in CXMLNode_XPathExtensions.o
  "_xmlGetLastError", referenced from:
      -[CXMLDocument initWithXMLString:options:error:] in CXMLDocument.o
  "_xmlNewPI", referenced from:
      +[CXMLNode(CXMLNode_CreationExtensions) processingInstructionWithName:stringValue:] in CXMLNode_CreationExtensions.o
  "_xmlSetNs", referenced from:
      -[CXMLElement(CXMLElement_CreationExtensions) addNamespace:] in CXMLElement_CreationExtensions.o
  "_xmlReadMemory", referenced from:
      -[CXMLDocument initWithData:encoding:options:error:] in CXMLDocument.o
  "_xmlNewNs", referenced from:
      +[CXMLNode(CXMLNode_CreationExtensions) elementWithName:URI:] in CXMLNode_CreationExtensions.o
      +[CXMLNode(CXMLNode_CreationExtensions) namespaceWithName:stringValue:] in CXMLNode_CreationExtensions.o
  "_xmlResetLastError", referenced from:
      -[CXMLDocument initWithXMLString:options:error:] in CXMLDocument.o
  "_xmlOutputBufferCreateIO", referenced from:
      -[CXMLNode XMLStringWithOptions:] in CXMLNode.o
  "_xmlNewNode", referenced from:
      +[CXMLNode(CXMLNode_CreationExtensions) elementWithName:] in CXMLNode_CreationExtensions.o
      +[CXMLNode(CXMLNode_CreationExtensions) elementWithName:URI:] in CXMLNode_CreationExtensions.o
      +[CXMLNode(CXMLNode_CreationExtensions) elementWithName:stringValue:] in CXMLNode_CreationExtensions.o
  "_xmlDocGetRootElement", referenced from:
      -[CXMLDocument rootElement] in CXMLDocument.o
  "_xmlXPathRegisterNs", referenced from:
      -[CXMLNode(CXMLNode_NamespaceExtensions) nodesForXPath:namespaceMappings:error:] in CXMLNode_XPathExtensions.o
  "_xmlFreeDoc", referenced from:
      -[CXMLDocument dealloc] in CXMLDocument.o
ld: symbol(s) not found
like image 605
dougalg Avatar asked Nov 07 '11 05:11

dougalg


1 Answers

I had this same problem. It went away when I linked the binary with the library.

Go to Target -> Build Phases -> Link Binary with Library, click the plus sign and add "libxml2.dylib"

enter image description here

like image 111
LuisCien Avatar answered Oct 08 '22 19:10

LuisCien