RedHat 8.0 dependency issue with Squeak-vm-3.4-gamma1.i386.RPM
ian.piumarta at inria.fr
Thu Feb 13 04:11:21 UTC 2003
On Wed, 12 Feb 2003, Ned Konz wrote:
> [very reasonable theories about solving...]
> On Wednesday 12 February 2003 04:09 pm, Chris Becker wrote:
> [horror stories about...]
> > unresolved dependencies:
> > libX11.so libXext.so libm.so
> > ... but the entire Xfree86 package *is* installed.
I hope Ned's solution works. Otherwise see point (1) below for instant
relief. Otherwise I think the culprit (before and after the fact) is RPM.
The problemn (after the fact) is that (AFAIK) RPM looks at the package
database to figure out what's installed (not at the files that actually
exist on the system -- I've used this with great effect to remove many
megabytes of useless junk from my systems while leaving RPM under the
impression that the Omni printer drivers are still there, for the benefit
of painlessly installing ghostscript and friends.)
The problem (before the fact) is that the implicit dependencies
("helpfully" generated by RPM with no prompting whatsoever from myself)
are so ridiculously over-specified that I am unable to satisfy them on any
machine other than the one on which I built the package. So instead I
tried manually specifying the real dependencies (i.e., just the three
libraries in question -- I take the liberty of assuming that libc is
present) but that causes some versions of RPM to complain because the
dependencies are under-specified (no version numbers). I think if you
look at the "provides" info for the packages owning libm and XFree86-libs
on a RedHat system you'll find they are versioned (and/or represented
under the "blanket" name of the package in which they are provided), and
that's what RPM will try to use to satisfy dependencies when installing.
Three possible solutions come to mind:
(1) you tell RPM to install with `--nodeps'
(2) I remove absolutely all dependencies from the binary RPM (although
I have a feeling I tried this and managed nothing more than to incur
the wrath of rpmbuild by giving it an empty list of explicit
(3) somebody figures the magic "Requires:" line to specify semi-automatic
dependencies for the above three libs (only) so that my current
version numbers get plugged into the dependency list in the RPM.
(This will only help on RedHat if their versions happen to coincide
precisely with the one's on the build host, which is running Debian
(1) is the solution I've been using when installing binaries on RedHat.
(2) is probably overkill, although I don't think it would actually do much
harm considering which parts of those libs are actually used. (3) is
proving to be beyond my current technological ability (as defined by the
Maximum RPM docs to which I have access). Short of editing the rpmbuild
scripts (a non-solution to which I really don't want to have to resort) so
that they do the right thing (in the context of the current problem) I'm
at a loss. Helpful hints from RPM experts would be muchly appreciated.
More information about the Squeak-dev