You are not logged in.

#1 2008-09-21 14:09:55

chochem
Member
From: Denmark
Registered: 2008-03-02
Posts: 176
Website

xmlstarlet and header files confusion

I'm trying to make a package out of xmlstarlet. Just running configure and then make has me running into this error:

ad /usr/lib/libxml2.a -lz -lm -lpthread -ldl -L/usr/lib   
/usr/lib/libexslt.a(crypto.o): In function `exsltCryptoGcryptInit':
crypto.c:(.text+0x15c): undefined reference to `gcry_check_version'
/usr/lib/libexslt.a(crypto.o): In function `exsltCryptoRc4DecryptFunction':
crypto.c:(.text+0x2d4): undefined reference to `gcry_cipher_open'
crypto.c:(.text+0x2fe): undefined reference to `gcry_cipher_ctl'
crypto.c:(.text+0x327): undefined reference to `gcry_cipher_decrypt'
crypto.c:(.text+0x333): undefined reference to `gcry_strerror'
crypto.c:(.text+0x36f): undefined reference to `gcry_cipher_close'
crypto.c:(.text+0x47c): undefined reference to `gcry_strerror'
crypto.c:(.text+0x4bc): undefined reference to `gcry_strerror'
/usr/lib/libexslt.a(crypto.o): In function `exsltCryptoRc4EncryptFunction':
crypto.c:(.text+0x60f): undefined reference to `gcry_cipher_open'
crypto.c:(.text+0x639): undefined reference to `gcry_cipher_ctl'
crypto.c:(.text+0x668): undefined reference to `gcry_cipher_encrypt'
crypto.c:(.text+0x674): undefined reference to `gcry_strerror'
crypto.c:(.text+0x6b0): undefined reference to `gcry_cipher_close'
crypto.c:(.text+0x814): undefined reference to `gcry_strerror'
crypto.c:(.text+0x854): undefined reference to `gcry_strerror'
/usr/lib/libexslt.a(crypto.o): In function `exsltCryptoSha1Function':
crypto.c:(.text+0x90c): undefined reference to `gcry_md_hash_buffer'
/usr/lib/libexslt.a(crypto.o): In function `exsltCryptoMd5Function':
crypto.c:(.text+0xa0c): undefined reference to `gcry_md_hash_buffer'
/usr/lib/libexslt.a(crypto.o): In function `exsltCryptoMd4Function':
crypto.c:(.text+0xb0c): undefined reference to `gcry_md_hash_buffer'
collect2: ld returned 1 exit status
make[2]: *** [xml] Error 1
make[2]: Leaving directory `/tmp/xmlstarlet-1.0.1/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/tmp/xmlstarlet-1.0.1'
make: *** [all-recursive-am] Error 2

Now, I don't know how to interpret that error, but the Soureforge page does contain the following advice which I figured might be pertinent:

Make sure that libxml2 and libxslt header files matches (by version) with libraries you are linking. The versions of include files can be found in ${include_prefix}/libxml2/libxml/xmlversion.h and ${include_prefix}/libxslt/xsltconfig.h

Using find I came up with the files

/usr/include/libxslt/xsltconfig.h
/usr/include/libxml2/libxml/xmlversion.h

and digging into them made it clear that libxml was version 2.6.32 and libxslt was 1.1.24. But I don't knwo how to match that? Or if this is even remotely relevant to the error message, I'm seeing?

Offline

#2 2008-09-21 15:25:47

foutrelis
Developer/TU
From: Athens, Greece
Registered: 2008-07-28
Posts: 675
Website

Re: xmlstarlet and header files confusion

The problem seems to be that it's trying to link statically with libxml and libxslt.

As per comment #9 on that bug report, try configuring with:

LIBXSLT_LIBS="-lxslt -lexslt -lz -lm -lpthread" LIBXML_LIBS="-lxml2 -lz" ./configure

Last edited by foutrelis (2008-09-21 15:27:17)

Offline

#3 2008-09-21 17:16:02

chochem
Member
From: Denmark
Registered: 2008-03-02
Posts: 176
Website

Re: xmlstarlet and header files confusion

thanks foutrelis - that seems to have done it smile

I'll be posting the PKGBUILD shortly.

Offline

#4 2008-09-21 17:30:01

chochem
Member
From: Denmark
Registered: 2008-03-02
Posts: 176
Website

Re: xmlstarlet and header files confusion

bugger... I just submitted it but I can't find any way to submit my .install file alongside it - any hints?

Offline

#5 2008-09-21 17:40:16

foutrelis
Developer/TU
From: Athens, Greece
Registered: 2008-07-28
Posts: 675
Website

Re: xmlstarlet and header files confusion

chochem wrote:

bugger... I just submitted it but I can't find any way to submit my .install file alongside it - any hints?

Just include it in your package and resubmit it (the new package will replace the old one). Also, MIT is not a standard license so you need to store a copy of it in /usr/share/licenses/<package name>/ (read the wiki for more information on this).

Offline

#6 2008-09-21 18:39:38

chochem
Member
From: Denmark
Registered: 2008-03-02
Posts: 176
Website

Re: xmlstarlet and header files confusion

Updated it. Thanks again.

Offline

Board footer

Powered by FluxBB