generating 32-bit RPM's
Wolfgang S. Rupprecht
wolfgang+gnus20050915 at dailyplanet.dontspam.wsrcc.com
Thu Sep 15 19:17:35 UTC 2005
Joshua Jensen <joshua at iwsp.com> writes:
> On Fri, Sep 09, 2005 at 11:52:20AM -0500, Jonathan Berry wrote:
>>
>> I don't know about the "almost no RPMs do." Almost all RPMs are built
>> for multiple architectures.
>
> You don't need multiple %ifarch statements to build a package for both
> arches... so long as you are building them *natively on those
> platforms*. You need nothing special to get gcc to assume 64bits on a
> 64 bit platform. You need lots of special considerations though to
> recompile for a platform that *isn't* native. I've worked with a ton of
> packages (even recompiled every single RPM in RHEL3), and besides
> openssl, the kernel, and the glibc packages, there is nothing there to
> support --target.
>
>> > have to have a *cross compiler* installed on your x86_64 platform. I
>> > don't know that -m32 does all that you need.
>>
>> But, 32-bit and 64-bit are both x86. It's not like he's trying to
>> compile for SPARC or PowerPC here, which *would* need a
>> cross-compiler. See below.
>
> No they aren't. A 32 bit binary is very very different than a 64bit
> one. Sure, the machine code from IA32 looks more similar to x86-64 code
> than say 64bit PPC, but it isn't the same and they should be considered
> completely seperate archs.
[ Sorry for the late reply. I was off camping for a few days. -wsr ]
I see now I wasn't very clear in my question. Sorry about that.
I am writing my own simple helloworld.spcc file and trying to build a
helloworld-0.1-1.i386.rpm and helloworld-0.1-1.x86_64.rpm RPM for both
architectures while running on a machine with x86_64 installed.
I was hoping that "rpmbuild --target i386" would take care of all the
"behind the scenes" work of throwing the right compiler and linker
switches and modifying whatever else needed a bit of tweaking. I am
getting the impression that it isn't that simple and I need to throw
all those switches myself from inside the *.spec file. I guess I need
to look at openssl and glibc to see what they do. Is there a better
rpm spec file to use as a model?
-wolfgang
--
Wolfgang S. Rupprecht http://www.wsrcc.com/wolfgang/
More information about the amd64-list
mailing list