p2 / Redland-ObjC

Objective-C wrapper for the Redland RDF libraries
Other
20 stars 11 forks source link

Linking fails for simulator: "Undefined symbols for architecture i386 ... _xsltApplyStylesheetUser" #9

Closed mrcroc closed 10 years ago

mrcroc commented 10 years ago

I am using the latest code base for Redland-ObjC in an Xcode 5 project on OS X 10.9 following setup instructions in README.md. cross-compile.py succeeds, i.e. it compiles raptor / rasqal / redland also for Sim: i386.

If I build the project for running on a device, this succeeds. However, if try building it for running on an iOS device simulator, this fails with the following error (excerpt):

Undefined symbols for architecture i386:
  "_xsltApplyStylesheetUser", referenced from:
      _raptor_grddl_run_grddl_transform_doc in libredland-ios.a(raptor_grddl.o)
  "_xsltCleanupGlobals", referenced from:
      _raptor_terminate_parser_grddl_common in libredland-ios.a(raptor_grddl.o)

Is this a matter of the linker not picking up (the correct version of) libxslt from OS X? Am I supposed to do anything special here?

p2 commented 10 years ago

Trying to compile this myself it now fails once more at -lxml2 for me, dammit. I tried updating the Redland libraries to the latest versions released just before christmas but I'm getting a new linker error there, so right now I'm stuck as well. :(

mrcroc commented 10 years ago

Noticed meanwhile that _xsltApplyStylesheetUser is apparently defined in /usr/lib/libxslt.dylib.

Hope there is a solution, as this currently prevents me from running unit tests inside the project. (In any case, thanks for your reliably prompt follow-up.)

tiptop-labs commented 10 years ago

In my case I had another brew installed version of libxml2 that interfered. brew unlinking it and then rebuilding everything from scratch apparently resolved the situation.

p2 commented 10 years ago

Ah yes, that was issue #7 ; thanks for the reminder!