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

Re: Building dual-arch RPMs[Solved, sort of]



On Mon, 6 Mar 2006, Ralph Smith wrote:

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.

Meant to get back and update this thread...

I added this directive to the spec file, and I was able to build the 32-bit RPM (which is really enough for me for now), although I had to turn off building the Java and Ruby bindings (which I don't need for now anyway).

Thanks.


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.




--
		Matthew Saltzman

Clemson University Math Sciences
mjs AT clemson DOT edu
http://www.math.clemson.edu/~mjs


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