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.
regards,
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).