How to package code compiled with 'gcc -m32'?
Richard W.M. Jones
rjones at redhat.com
Tue Oct 7 13:35:18 UTC 2008
I've got a nasty program I'm trying to package for Fedora. To cut a
very long story short, this C/C++ mixed program started out on Windows
and makes lots of 32 bit assumptions. So it's compiled with 'gcc -m32'.
Expressing the build requirements so it can build on a 64 bit platform
is proving troublesome. (It builds fine on i386).
First problem is that it uses <gnu/stubs.h> which includes
<gnu/stubs-[WORDSIZE].h> (ie. <gnu/stubs-32.h>). That file isn't in
glibc-devel.x86_64, but only in glibc-devel.i386.
I've expressed that with a file dependency which breaks Fedora
packaging guidelines:
BuildRequires: /usr/include/gnu/stubs-32.h
The second and much larger problem is that the code uses wxGTK-devel,
and (because it's being compiled with gcc -m32) it has to have the 32
bit version.
This should work (on x86-64 at least, not ppc64):
BuildRequires: wxGTK-devel.i386
but in fact even with the latest version of rpmbuild in Rawhide it
doesn't work. So I have to write:
BuildRequires: wxGTK-devel
which doesn't express the dependency correctly, or:
BuildRequires: /usr/lib/libwx_baseu-2.8.so
which doesn't work on platforms which don't have the lib/lib64 split.
Any ideas? I'm sure others must have hit this problem before ...
Rich.
--
Richard Jones, Emerging Technologies, Red Hat http://et.redhat.com/~rjones
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://et.redhat.com/~rjones/virt-top
More information about the fedora-devel-list
mailing list