Hi Louis,

If their install script will handle everything (presumably by getting
working versions of the packages from /tmp/extrarpms), then you should not
need to rebuild any of the packages. My suggestion of recompiling is only
necessary if you need those packages, you cannot upgrade them, and your
install script does not handle the situation.

However if you do need (or want) to rebuild any of the packages, then there
are several locations you can look for the source package:

1) If you have ALL the CDs for the release of RedHat you are using, then
there should be at least one CD with a "/SRPMS" directory in it. In that
directory there will be a source package for each built package, named
<package>-<version>.src.rpm.

2) If your source CD is out of date, or you don't have it, then you can get
the source RPM from RedHat (or preferably from one of their mirrors). I use
"mirror.pacific.net.au", and the source file for dump is in
"/linux/redhat/redhat/linux/updates/7.1/en/os/SRPMS". To find your nearest
mirror site, go to http://www.redhat.com/download/mirror.html

3) If you want a later version than RedHat have released, or you want an RPM
for a package that RedHat don't distribute, then you can search for it on
http://rpmfind.net/.  Just enter the package name (no version number or
other information is required), and you will be shown a summary page
detailing where you can get different packages for different architectures
and distributions. There are usually two links on each line - the link on
the left will give more information on what the package is, the link on the
right will let you download the package. For my case (I run RedHat 7.1), I
can see a line describing:

      dump-0.4b25-1.71.0.i386.html Programs for backing up and restoring
filesystems. RedHat-7.1 Updates for i386 dump-0.4b25-1.71.0.i386.rpm


The right link will let me download the executables that make up this
package, however to get to the source package, I click on the left link,
which brings up a page describing the package, and giving me a link to the
Source RPM.

As I mentioned earlier, RPMFind allows you to find later versions that have
been packaged by other people or for other distributions. You do need to be
aware that different distributions may put files in different locations, or
use different groups to store the metadata. This is not normally a problem,
however it can confuse someone (and on rare occasions other programs) when
an expected file is in the "wrong" directory.

Regards, Andrew

----- Original Message -----
From: "LS" <[EMAIL PROTECTED]>
To: "'Andrew Monkhouse'" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>
Sent: Tuesday, March 18, 2003 10:45 PM
Subject: RE: [SLUG] rpm to deal with dependencies !!


> Hi Andrew:
>
> I have read this detailed analysis
> and I understand a bit better how to handle
> rpms.
>
> However I just spent some time reading the
> upgrade manual provided by Ensim (probably
> should have done that first before upgrading).
>
> In there thay talk about some of the dependency
> rpm errors that may be encountered and how to handle
> them for their software upgrade to go smoothly.
>
> I saw the one with the readline problem, and their
> solution is to load the versions of those that will
> work with the later version of readline their install
> script will use in the /tmp/extrarpms directory and their
> upgrade script will take care of the rest.
>
> There are other scenarios they talk about which I
> will probably encounter and how to deal with them.
>
> I just have one question from option 4).
> I can't see how to get the current version of say
> Mqsql, dump for the version of readline I am installing.
>
> You state recompiling. Their install script will take
> care of everything so long as I load the version it wants
> for readline they want installed. So how do I find this
> out ?
>
> Cheers
>
> Louis.
>
> > -----Original Message-----
> > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> > On Behalf Of Andrew Monkhouse
> > Sent: Monday, 17 March 2003 10:06
> > To: [EMAIL PROTECTED]
> > Cc: Louis Selvon
> > Subject: Re: [SLUG] rpm to deal with dependencies !!
> >
> >
> > > 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#post124
> > > 109=
> > >
> > >
> > > 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
> >
>
>
>
-- 
SLUG - Sydney Linux User's Group - http://slug.org.au/
More Info: http://lists.slug.org.au/listinfo/slug

Reply via email to