ChrisC
ChrisC

Reputation: 932

Building libxml2-2.9.2 on OS X Yosemite, xCode 6

I have an xcode project which uses xmppframework.

the KissXML module of this framework needs libxml2, according to https://github.com/robbiehanson/KissXML/wiki/GettingStarted.

I followed these instructions, and downloaded libxml2 from ftp://xmlsoft.org/libxml2/. Specifically, I downloaded and extracted LATEST_LIBXML2, which turns out to be libxml2-2.9.2.

I then added the relevant header search path to my xcode project, and

-l "lxml2"

to my linker flags.

However, when I build my project, it gives the following linker error:

ld: library not found for -llxml2 clang: error: linker command failed with exit code 1 (use -v to see invocation)

I suspect this is because I need to build libxml2 myself, in order to get the library binary. However, I can't find specific instructions for doing this on OS X Yosemite, xcode 6.

Does anyone have any instructions on building libxml2-2.9.2 on OS X Yosemite, Xcode 6, so that I can link to it in my project?

Alternatively, if someone can provide a binary for libxml2-2.9.2, that might also work. I did find http://www.explain.com.au/oss/libxml2xslt.html#id2658905, but this guy only seems to offer binaries for older versions of libxml2, not the current version. Thanks!

Best regards,

Chris

Upvotes: 1

Views: 847

Answers (2)

Anya Shenanigans
Anya Shenanigans

Reputation: 94574

Well firstly, the library is called libxml2, so the link should be -lxml2 and not -llxml2.

Secondly, there is already a libxml2 built-in to OSX/iOS, and you can actually reference that library in the link libraries section for the project. You generally don't need to build the library unless you really want newer features of the newer version.

In the General tab of the project, use the Linked frameworks and Libraries to add a reference to libxml2.dylib.

The instructions on the page you reference are using the version of libxml2 that is available on OSX/iOS already. You do not need to download libxml2 to get it to work.

The location that's mentioned /usr/include/libxml2 on the page will work for you also if you install the command line developer tools - at a terminal prompt do xcode-select --install.

Upvotes: 2

Tuan
Tuan

Reputation: 2363

I have built LibXML2 (latest version 2.9.2) on Solaris SPARC, Linux and Windows. I have never use MacOS (poor =)) ).

Here's my brief instruction. You can try the similar way.

cd /opt/mydir/libxml2
mkdir linux-gcc3
gunzib -c libxml2-2.9.2.tar.gz | tar xvf –
cd libxml2-2.9.2
./configure --prefix=/opt/mydir/libxml2/linux-gcc3 --enable-static --disable-shared 2>&1 | tee conf.log
 ## 64 bit
 ## ./configure CC="cc -m64" --prefix=/opt/mydir/libxml2/linux-gcc3 --enable-static --disable-shared 2>&1 | tee conf.log
 make 2>&1 | tee make.log
 make install

Upvotes: 1

Related Questions