cross compiling on x86_64

Jonathan Berry berryja at gmail.com
Wed Feb 28 03:06:07 UTC 2007


On 2/27/07, Philippe A. <futhark77 at gmail.com> wrote:
[snip]
> Well when you install FC x86_64 you get all these 32 bit libs installed. If
> you rpm -qa you get a lot of lib packages in double. One is 32 bit, one is
> 64 bit.
>
> rpm -qa --queryformat
> "%{name}-%{version}-%{release}.%{arch}\n"
>
> zlib-1.2.3-3.i386
> zlib-1.2.3-3.x86_64

Yes, but that doesn't mean you have all the libs you need, necessarily.

> So that obviously mean they have been compiled. Since I cannot find a
> separate SRPM for 32 bit and 64 bit, I have to assume the same was used.

Yes, there is only one SRPM.  Remember you are wanting to compile
32-bit on a 64-bit system.  By default, it wants to build 64-bit.  A
32-bit system, on the other hand, wants to build 32-bit by default.
In actuality, though, I believe mock is used for building packages.

[snip]
> I don't see how mock can help solve this issue. It seems to be oriented
> towards spec file verification.

It can be used for that, but I don't see how you got that to be the
main purpose.

>  http://fedoraproject.org/wiki/Extras/MockTricks

I guess you missed this part:
"In addition. if building i386 packages on x86_64, prepend setarch
i386 to the mock command line:
setarch i386 mock -r <configfile> package-1.2-3.src.rpm"

And the <configfile> will be an i386 one (installed in /etc/mock/ when
you install it).  This looks like what I remember doing last time I
tinkered with it.

> I keep looking. If anyone else got a suggestion, thanks for letting me know!
>
> If you think about it, it would be insane to package a distro with different
> sets of rpms. So there has to be a solution that's not so crazy. Maybe
> recompiling gcc? I seem to have seen some hints to that effect but haven't
> investigated further yet.

I'll say it again: check out mock :-).  "yum install mock"

Jonathan




More information about the fedora-list mailing list