Building a 32bit RPM on 64bit Linux: Wrong dependencies auto-generated

Philipp Münzel mail at
Thu Jul 29 10:05:26 UTC 2010

Hi folks,

I'm unsure whether this is the right place for posting this question, 
but I have searched the web for days now and was unable to come up with 
a solution.

This is the problem: I made a SPEC file for building an application in 
32bit mode on a 64bit Linux. I got around all the stuff regarding 
compiler flags, 32bit libraries and so on.
The RPM generated ends up in the i586 folder and it has i586 in its 
name. When I unpack it using rpm2cpio it has a 32bit application inside. 
When I ldd the application, it says it links to the 32bit libraries. 
Everything as it should be. But when I try to install this rpm on a 
32bit Linux, I get unsatisfied depenedencies to lib64's like libgcc64 
and so on. When I try to install with --nodeps and --force it says "this 
RPM is for x86_64" architecture.
Again, when I unpack it manually, it has 32bit software linking to 32bit 
libs inside.

I didn't specify any dependencies in the spec manually, because I rely 
on dependency auto-generation by ldd (ldd correctly points to the 32bit 
libraries, as mentioned).

I'm out of ideas now.
Any help is greatly appreciated.

Philipp Münzel

More information about the Rpm-list mailing list