Bug#511025: 32-bit binaries distributed on 64-bit platforms
- Subject: Bug#511025: 32-bit binaries distributed on 64-bit platforms
- From: sds@gnu.org (Sam Steingold)
- Date: Tue, 06 Jan 2009 14:49:30 -0500
- Message-id: <[🔎] 4963B5CA.60001@gnu.org>
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
Reply to: