control: severity -1 grave
control: tag -1 + patch

On 2015-10-16 18:17, Max Kellermann wrote:
> Package: libxslt1-dev
> Version: 1.1.28-2+b2
> 
> Various programs fail to link unless they just happen to specify
> "-lm":
> 
>  /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libxslt.so: error: 
> undefined reference to 'pow'
>  /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libxslt.so: error: 
> undefined reference to 'floor'
>  /usr/lib/gcc/x86_64-linux-gnu/5/../../../x86_64-linux-gnu/libxslt.so: error: 
> undefined reference to 'fmod'

The problem is that libxslt.so is using symbols from libm.so.6 without
being linked with it. This causes two issues:
- The above build failure.
- The symbols are not correctly versioned. This means the latest version
  of the symbols will always be used. This will break if later the glibc
  provide the symbol in a different version.

Both of this issues clearly deserve a severity grave. You will find
attached a patch to drop in debian/patches that fixes the issue.

Aurelien

PS: it would be nice if you can also pass --parallel to the "dh $@
call", that will make the package to build a bit faster.

-- 
Aurelien Jarno                          GPG: 4096R/1DDD8C9B
[email protected]                 http://www.aurel32.net
Description: Link libxslt with libm
Bug-Debian: https://bugs.debian.org/801989
Last-Update: 2016-08-14

--- libxslt-1.1.28.orig/libxslt/Makefile.am
+++ libxslt-1.1.28/libxslt/Makefile.am
@@ -60,7 +60,7 @@ else
 LIBXSLT_VERSION_SCRIPT =
 endif
 
-libxslt_la_LIBADD = $(LIBXML_LIBS) $(EXTRA_LIBS)
+libxslt_la_LIBADD = $(LIBXML_LIBS) $(M_LIBS) $(EXTRA_LIBS)
 libxslt_la_LDFLAGS =					\
 		$(WIN32_EXTRA_LDFLAGS)			\
 		$(LIBXSLT_VERSION_SCRIPT)		\

Attachment: signature.asc
Description: PGP signature

Reply via email to