On Mon, 12 Jul 2004, Post, Mark K wrote:

> I don't know what "traditional method" you're talking about that did
> dependency checking.

Ranga, are you referring simply to autoconf?  Sure, the packager of
Product A should be making sure that the configure script ends up checking
for all of the pre-requisites Product A has (Product B, Library C, sane
gcc, etc).  This is not true dependency checking, however; because it
occurs only at the time of Product A's build, there is nothing stopping
you from subsequently updating Product B or Library C to a version that
will not work for Product A, or removing Product B or Library C
completely.

These are the kinds of issues that package managers like RPM try to avoid.
Mixing RPMs and source-builds will create the kind of woe that Mark is
referring to (you think you've got dependency problems *now*).

A common complaint among those who experiment with mixing RPMs and
source-builds goes like this: "Please help me, I am trying to install
foojit-1.2.3-s390.rpm, and it says that libpants.so.1 is not installed,
but it is, because I built the pants library from source and installed it,
why is RPM lying?"  :)

If you really want to build things from source on an RPM-based distro
(usually this would be because you want a version later than that which
your distributor uses), build an RPM instead of installing directly from
the source.  In locating or writing a .spec file (the file that determines
how the RPM is built), try to get one from the distro you're working with,
for a version of the product as close to the version you're building as
possible.  I've had a bit of luck building things for S/390 just by using
the SRPM from development versions (Red Hat's rawhide, for instance), or a
spec file from an Intel version of the package (again with Red Hat, before
RHEL 3 came along and packages from RHL 7.2 were getting woefully out of
date, I built later versions of things like Zebra by using SRPMs from RHL
8 or 9 or RHEL 2.1).

Give it a go, RPM is not really very scary.  By doing this you get the
version of the package you want, built locally with dependencies that you
manage, and still get RPM's dependency checking (as long as you define the
right dependencies in your spec file and don't just remove everything so
that the package will install, which defeats the purpose).  It comes at a
cost though;  I doubt SUSE or Red Hat will support you for packages you
built yourself.

Which leads to the other alternative: Mark's suggestion to try another
distro.  There's a bit of variety around now that Slackware and Gentoo
have joined Debian in the mix (since Tao is built from RHEL3's SRPMs, it
won't relieve RPM-grief).


Cheers,
Vic Cross

----------------------------------------------------------------------
For LINUX-390 subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: INFO LINUX-390 or visit
http://www.marist.edu/htbin/wlvindex?LINUX-390

Reply via email to