On 28/07/16 15:20, Norbert Lange wrote:
> Package: coreutils
> Version: 8.25-2
> Severity: normal
> 
> Dear Maintainer,
> 
> I am trying to use stdbuf tool on a 32bit Binary, this will result
> in a failure:
> 
> ERROR: ld.so: object '/usr/lib/x86_64-linux-gnu/coreutils/libstdbuf.so' from 
> LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS64): ignored.
> 
> To make this work seemlessly, 
> LD_PRELOAD would need to be used with the plain library libstdbuf.so
> and the library would need to be installed in the proper locations
> for 64 and 32bit.
> 
> Likely this would mean using a seperate binary package for the library to
> allow co-installing both?

Notes on this upstream at http://bugs.gnu.org/8960

Stuff I noted previously...

You can't install coreutils 32 bit and 64 bit together,
so to support this the libs would need to be separated out to a separate 
package.
I.E. one would have a coreutils package that depended on
coreutils-lib.i686 and coreutils-lib.x86_64, which would
install to /usr/lib{,64}/coreutils/libstbuf.so respectively.
Then you would have the flexibility to set both LD_PRELOAD_{32,64}

Currently we don't support separate (per arch) libs because of:
http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=e23f1795
So we'd have to revert that essentially as automake
is too restrictive here and may support the orig var in newer versions?

We might also have to adjust setting of PKGLIBEXECDIR at build time?

Is this complexity worth it? How often does 64 bit coreutils
need to control buffering for 32 bit programs?
We've not been asked for that flexibility at present.

Reply via email to