You are not logged in.
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
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
thanks foutrelis - that seems to have done it
I'll be posting the PKGBUILD shortly.
Offline
bugger... I just submitted it but I can't find any way to submit my .install file alongside it - any hints?
Offline
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
Updated it. Thanks again.
Offline