> Date: Sun, 16 Mar 2003 16:24:08 +1100
> From: Louis Selvon <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Subject: [SLUG] rpm to deal with dependencies !!
>
> Hi Sluggers:
>
> Does anyone how do I invoke rpm to install packages and deal with
> dependencies.
>
> The patch I am installing for my server has downloaded all the necessary =
> rpms.
> However when I ran their installer script the logs are showing rpm depend=
> ency
> errors. A sample log is shown below:
>
> ##################################################
>
> WEBppliance 3.1.3-4.
> Installer version 1.0-17.
> Installer error log:
> Sun Mar 16 15:30:27 EST 2003
> 03/16/03 15:31:34 : error: failed dependencies:  =
>
> libreadline.so.4.1 is needed by dump-0.4b21-3  =
>
> libreadline.so.4.1 is needed by mysql-3.23.54a-3.71  =
>
> libreadline.so.4.1 is needed by python-1.5.2-43.71  =
>
>
> ##################################################
>
> libreadline.so.4.1 is from their downloaded package
> readline-devel-4.2-2.i386.rpm .
>
> How do I get this install to go without having to worry about rpm depende=
> ncies
> ?? =
>
>
> If anyone needs to know how my problem originated from the beginning plea=
> se
> review this post
>
> http://forum.rackshack.net/showthread.php?s=3D&postid=3D124109#post124109=
>
>
> I am user learner there.
>
> Cheers
>
> Louis.

Hi Louis,

Your error message is telling you that you already have the following
packages installed which depend on version 4.1 of readline:

    dump-0.4b21-3
    mysql-3.23.54a-3.71
    python-1.5.2-43.71

Listed below are some options to fix this problem.


1) Do you need these three packages?

To find out what a package does, use

    rpm -qi <packagename>

You may find that you don't need these particular packages. If you don't
need them, you can remove them from your system, then install readline
without problems.

If you don't need them today, but feel you might need them in the future,
uninstall them then refer to option 4 below.

***

2) Upgrade these packages. The versions you list appear to be the latest for
RedHat 7.x, however there are later releases. Try looking on rpm.net for
later versions:

    dump-0.4b28-4.i386.rpm
    python-2.2.1-17.i386.rpm

These are the latest RedHat 8.0 releases. There are even later releases,
however they may not fit into a RedHat system. If you do use the RedHat 8
releases, you should probably check that they put the files in the same
places as per the RedHat 7.x releases. For example, in RedHat version 7, the
dump program itself is stored in /sbin/dump.  If this location changed in
RedHat version 8 (I am not saying it did, just giving an example), then any
scripts that rely on the location of the dump program would fail.

The latest RedHat (any release) of MySQL is 3.23.54. There is a later
version of MySQL, however you would have to get the generic version that
MySQL themselves packaged:

    MySQL-4.0.1-2.i386.rpm

This may cause havoc if you already have data in the MySQL database, or if
you upgrade to this release, put data into it, then later try to go back to
the RedHat endorsed RPMs. A better way may be to recompile version 3.23.54
for the version of readline that you are installing (see item 4).

Normally when you do an upgrade, you get a circular problem with version
numbers. You cannot upgrade readline because dump requires the old version.
You may not be able to upgrade dump because the newer version may require
the newer version of readline. Catch-22. To get around this, you list all
the packages in the one upgrade statement:

    rpm -Uvh readline-4.3-3.i386.rpm  dump-0.4b28-4.i386.rpm
MySQL-4.0.1-2.i386.html python-2.2.1-17.i386.rpm

Note: do not do a "rpm -U *.rpm". The -U option does an install if a package
is not already installed.

***

3) You can force rpm to ignore the dependency by giving the --no-deps option
in your install command. Since you are only doing a minor upgrade of
readline, this _MAY_ work, however it is generally not a good idea. You
would certainly have to test dump, mysql and python after doing the upgrade.

***

4) Possibly the best option is for you to recompile the current (for your
system) versions of the "dump", "mysql" and "python" rpms for the version of
readline you are trying to install. That is:

    install the latest version of readline (either by removing the other
three packages or by forcing the upgrade)

    recompile each of the other 3 packages:

        rpm --rebuild dump-0.4b21-3.src.rpm

    install (or upgrade) the rebuilt version. If you forced the upgrade of
readline while leaving the other packages on your system, then you will need
to tell rpm to upgrade an already installed package. Ie:

        rpm -Uvh --replacepkgs /usr/src/redhat/BUILD/i386/dump-0.4b21-3.rpm

***

No matter which of these you try, if you have data in your MySQL database,
then make sure you have a good backup.

I strongly recommend that you try this all on a test machine before doing it
on your live machine.

Regards, Andrew
-- 
SLUG - Sydney Linux User's Group - http://slug.org.au/
More Info: http://lists.slug.org.au/listinfo/slug

Reply via email to