Bug#511025: 32-bit binaries distributed on 64-bit platforms

Sam Steingold sds at gnu.org
Tue Jan 6 19:49:30 UTC 2009


Package: libsigsegv-dev
Version: 2.5-2

on dual-arch systems, specifically, on sparc (but possibly others), 
libsigsegv.so is distributed in a 32-bit variant, not 64-bit variant:
/usr/lib/libsigsegv.so.0.0.0: ELF 32-bit MSB shared object, SPARC32PLUS, V8+ 
Required, version 1 (SYSV), dynamically linked, stripped

this makes the library useless for 64-bit applications because configure cannot 
find it (it looks in /usr/lib64).
moreover, even if it did find the library, it is dubious that it would work 
properly.

Suggested resolution:
the bottom line is that the files /usr/lib64/libsigsegv.* are missing.
thus I see 3 ways to solve the problem:

1. build the libsigsegv-dev package like this:
./configure && make && make check && make install && make distclean && 
./configure CC='gcc -m64' && make && make check && make install
i.e., include both 32-bit libraries and 64-bit libraries in one package.

2. build the libsigsegv-dev package like this:
./configure CC='gcc -m64' && make && make check && make install
i.e., replace the 32-bit libraries with the 64-bit libraries.

3. replace libsigsegv-dev with 2 packages: libsigsegv-dev32 and libsigsegv-dev64.

my preference is [2].
specifically, if the architecture has /usr/lib64, then build the package with
./configure CC='gcc -m64' && make && make check && make install
otherwise
/configure && make && make check && make install





More information about the pkg-common-lisp-devel mailing list