[OFFTOPIC] Re: SPUG:Compiling source of a package: How To?

Adam Monsen adamm at wazamatta.com
Fri Jun 27 10:28:33 CDT 2003


Hello!

This is a package management issue, so sorry if I drift offtopic in my 
response.

Joe Devlin wrote:
> I am trying to install a perl module XML::LibXML which requires the
> the updated version of libxml2.
> 
> I tried to update to the latestest version with the 'rpm -U' command.
> 
> so tried this:
>     rpm -U
> ftp://rpmfind.net/linux/rawhide/1.0/i386/RedHat/RPMS/libxml2-2.5.7-3.i386.rpm

You went to the right place (rpmfind.net) but 'rawhide' is Redhat's 
development tree. These packages often break dependencies by requiring 
other rawhide-specific RPMs.

Find the 'libxml2' module appropriate for your exact architecture 
(Mandrake, Redhat 9, Redhat 8.0, etc.) at your distro's site or rpmfind.net.

> and found
>     error: failed dependencies:
>         libc.so.6(GLIBC_2.3)   is needed by libxml2-2.5.7-3
>         libpthread.so.0(GLIBC_2.3.2)   is needed by libxml2-2.5.7-3
>         libxml2 = 2.4.23 is needed by libxml2-devel-2.4.23-91
> 
> I googled for error messages like this and found that I should try compiling
> the source.

You probably don't have to compile this package from source, but see 
below for how to do it.

> so I made a wild guess and tried this:
>    rpm -bb
> ftp://rpmfind.net/linux/rawhide/1.0/SRPMS/SRPMS/libxml2-2.5.7-3.src.rpm
> 
> and got the response:
>    File
> ftp://rpmfind.net/linux/rawhide/1.0/SRPMS/SRPMS/libxml2-2.5.7-3.src.rpm does
>    not appear to be a specfile.
> 
> My question is, how do I compile the source for libxml2
> (for that matter, any package)?

If you have the src.rpm, you can do

   rpm --rebuild libxml2-2.5.7-3.src.rpm

or

   rpmbuild --rebuild libxml2-2.5.7-3.src.rpm

if you have a newer version of Redhat GNU/Linux (like 8.0 or 9). 
Tarballs usually include an INSTALL or README file explaining how to 
compile them.

I'd check out http://www.rpm.org to get an overview and tips on managing 
RPMs.

I'd also recommend apt4rpm, a wrapper for rpm that finds and installs 
dependencies automatically. It *greatly* simplifies package management. 
http://apt4rpm.sourceforge.net/ is the home page, http://freshrpms.net/ 
has Redhat 7.3, 8.0, and 9-specific apt binaries built that point to the 
correct files.

Good luck!

-- 
Adam Monsen




More information about the spug-list mailing list