Package: libselinux1-dev
Version: 2.0.59-1
Severity: normal

libselinux.pc does not set exec_prefix and this prevents packages that
depend on libselinux1-dev from cross-building correctly, resulting in
missing symbols.

Variable 'exec_prefix' not defined in
'/usr/arm-linux-gnu/lib/pkgconfig/libselinux.pc'
Variable 'exec_prefix' not defined in
'/usr/arm-linux-gnu/lib/pkgconfig/libselinux.pc'

dpkg-cross prepares /usr/arm-linux-gnu/lib/pkgconfig/libselinux.pc
from the libselinux.pc file in libselinux1-dev:

$ diff -u /usr/lib/pkgconfig/libselinux.pc 
/usr/arm-linux-gnu/lib/pkgconfig/libselinux.pc 
--- /usr/lib/pkgconfig/libselinux.pc    2008-03-18 05:24:50.000000000 +0000
+++ /usr/arm-linux-gnu/lib/pkgconfig/libselinux.pc      2008-03-26 
22:48:21.000000000 +0000
@@ -1,5 +1,5 @@
-prefix=/usr
-libdir=/usr/lib
+prefix=/usr/arm-linux-gnu
+libdir=${exec_prefix}/lib
 includedir=/usr/include
 
 Name: libselinux

(This is the standard method of changing the prefix for pkg-config).

The problem is that, unlike the other pkgconfig files, there is no exec_prefix 
defined in the libselinux.pc file.

e.g.

$ cat /usr/lib/pkgconfig/qof.pc 

prefix=/usr
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

$ cat /usr/lib/pkgconfig/libselinux.pc 
prefix=/usr
libdir=/usr/lib
includedir=/usr/include

libselinux.pc needs to define a *variable* exec_prefix:

exec_prefix=${prefix}

This can then be inherited in the cross-builds.

Currently, this causes a build failure in e2fsprogs:

../lib/libblkid.so: undefined reference to `dm_log_init'
../lib/libblkid.so: undefined reference to `dm_task_run'
../lib/libblkid.so: undefined reference to `dm_task_create'
../lib/libblkid.so: undefined reference to `dm_task_get_deps'
../lib/libblkid.so: undefined reference to `dm_task_destroy'
../lib/libblkid.so: undefined reference to `dm_task_get_names'
../lib/libblkid.so: undefined reference to `dm_task_set_name'
../lib/libblkid.so: undefined reference to `dm_task_get_info'
collect2: ld returned 1 exit status

The failure to retrieve data from libselinux.pc in a cross-build
situation causes DEVMAPPER_LIBS to be empty (because pkg-config failed)




-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.25-2-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages libselinux1-dev depends on:
ii  libc6                         2.7-12     GNU C Library: Shared libraries
ii  libselinux1                   2.0.59-1   SELinux shared libraries
ii  libsepol1-dev                 2.0.25-2   Security Enhanced Linux policy lib

libselinux1-dev recommends no packages.

-- no debconf information



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to