Compiling x86 rpms on x86_64
Gene C.
czar at czarc.net
Thu Feb 5 09:09:25 UTC 2004
On Wednesday 04 February 2004 19:01, Mark wrote:
> I am finding some interesting problems trying to rebuild mozilla-1.6-0.i386
> on my x86_64 system. It seems that even if I tell it "rpmbuild -ba
> --target=i386 mozilla.spec", it still builds the 64Bit version. What am I
> missing?
>
> I have already specifically set ${_libdir) to /usr/lib.
I am not sure what you problem is but, from my experience, it is likely that
mozilla is not being compiled with -m32 or -m64 specified. Without this
specification, gcc will default to produce 32 bit code on a 32 bit OS and 64
bit code on a 64 bit OS. To compile for 32 bits, you will need to add -m32
to all compiles.
Now, this is likely not the end of your problems. As I found out rebuilding
the gcc package, you will also need the i386 versions of some devel packages
(such as glibc-devel).
I would suggest that it is more reliable (less aggravation) to compile your 32
bit applications on a 32 bit OS. Assuming that the needed runtime libraries
are installed (e.g., glibc i686), you will then be able to install the
package on your 64 bit OS.
While FC1 x86_64 has some support for running 32 bit applications and the 64
bit gcc will compile 32 bit applications, it does not currently (and likely
never will) have a 32 bit development environment that is very meaningful.
Now just how extensive the 32 bit runtime and development capabilities should
be for the x86_64 version of Fedora Core is something that should be
discussed.
While SUSE for the x86_64 does have more extensive runtime (and development?)
support for 32 bit applications, it also requires two DVDs for the full
binary+source distribution ... double the size of Fedora Core or other Red
Hat distributions. Right now, the decision for Fedora Core appears to be for
a minimal 32 bit capability ... enough to support the Fedora Core
applications which currently are not (cannot be) ported to 64 bits.
The situation is further complicated by the difficulty of installing ix86
packages post system installation ... while the libraries are put in separate
directory trees (/usr/lib and /usr/lib64), binary executables are put into a
single directory (e.g., /usr/bin) and some library packages have executable
files (e.g., openssl).
--
Gene
More information about the fedora-test-list
mailing list