[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: Building dual-arch RPMs



> From: Matthew Saltzman <mjs ces clemson edu>

> Are there any tips for building 64-bit and 32-bit RPMs?  I tried to build 
> Dag's clearsilver-0.10.1 RPM for PPC, but my ppc64 system seems unhappy 
> doing that.  If I build for --target ppc, it ends with an error:
> 
>      RPM build errors:
>          File not found by glob: /home/mjs/src/rpmbuild/tmp/clearsilver-0.10.1-1.rf-root/usr/lib64/python*/site-packages/neo_cgi.so
> 

For some reason the target option of rpmbuild does not correctly set
all of the rpm macros correctly.  I have found that some packages like
this can be built (on an x86_64 system for i386 target, presumably
similar to your case) if a line

%define _lib lib

is inserted near the top of the spec file.  (_lib is set to lib64
on 64-bit systems even when building 32-bit.) That should fix the
particular error you found for "target ppc".  Perhaps an RPM guru
can tell us (and redhat) where this really should be set.

More generally, if you try to build a 32-bit package that links to
shared libraries, you may find that they seem to be missing even
though the appropriate package is installed. The problem here is
that ldconfig fails to construct all the needed links for the 32-bit
subsystem.  One can manually do things like

ln -s /usr/lib/libbz2.so.1 /usr/lib/libbz2.so

for the libraries one needs.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]