GNOME Bugzilla – Bug 645617
libxslt dist tarball contains instantiated libexslt/exsltconfig.h file
Last modified: 2016-04-29 16:10:29 UTC
I am building libxslt outside of the source tree, with crypto support disabled. Unfortunately, this would fail with libtool: link: gcc -pedantic -pipe -fno-common -W -Wall -Wcast-align -Wformat=2 -Wpointer-arith -Wundef -Waggregate-return -Wcast-qual -Wmissing-declarations -Wnested-externs -Wstrict-prototypes -march=opteron -O3 --param inline-unit-growth=400 --param large-function-growth=4000 --param max-inline-insns-single=2000 -Wall -o xsltproc xsltproc.o ../libxslt/.libs/libxslt.a -L/tg/freeport/arch/linux64/lib ../libexslt/.libs/libexslt.a /home/cport/tmp/libxslt-build/libxslt/.libs/libxslt.a /tg/freeport/arch/linux64/lib/libxml2.a -ldl -lm ../libexslt/.libs/libexslt.a(exslt.o)(.text+0xf): In function `exsltRegisterAll': : undefined reference to `exsltCryptoRegister' collect2: ld returned 1 exit status make[2]: *** [xsltproc] Error 1 make[2]: Leaving directory `/home/cport/tmp/libxslt-build/xsltproc' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/cport/tmp/libxslt-build' make: *** [all] Error 2 The reason for this is that the source tarball contains an instantiated config file libexslt/exsltconfig.h (alongside the exsltconfig.h.in template), which happens to enable crypto support. exsltconfig.h needs to be removed from the tarball. More specifically, libexslt/Makefile.am needs to be tweaked so that this file (as opposed to the template) is not distributed.
Subscribing. I'm also compiling libxslt-1.1.26, but for qnx and I'm configuring libxslt with following command: ./libxslt-1.1.26/configure --without-crypto and getting same error as in description. To compile libxslt succesfully I need to remove exsltconfig.h file from libexslt subfolder. Then everything compiles OK.
Fixed with the following commit: https://git.gnome.org/browse/libxslt/commit/?id=96f591885609af13eb3bf42fa8c38a642d93d8e2