John Oliver wrote:
> On Thu, Mar 22, 2007 at 12:28:59PM -0700, Gregory K. Ruiz-Ade wrote:
>> As to the error you're having:
>>
>>> That resulted in:
>>>
>>> Checking pre-requisite packages ...
>>>
>>> Red Hat Enterprise Linux version is: 4
>>>
>>> error: Failed dependencies:
>>>        libgcc >= 3.4.6-3.1 is needed by (installed)  
>>> gcc-3.4.6-3.1.i386
>>>        libgcc_s.so.1(GCC_4.2.0) is needed by (installed)
>>> libstdc++-3.4.6-3.1.i386
>> Well, yes, of course it would error out.  You're installing an older  
>> libgcc than what is installed, and RPM is telling you that if you  
>> install the older version, you'll replace the newer version, and gcc  
>> requires the newer version, so it won't install the older version.
> 
> Yes, I know... :-)
> 
>> The fact that you're doing:
>>
>> if [ something ]; then
>>      rpm -Uh $package1 && rpm -Uh $package2
>> fi
>>
>> is why no additional packages are being installed after the first one  
>> fails.  The "&&" notation means "if the first one was successful, do  
>> the next one".  Specifically, if the first command gives a return  
>> code of 0 (successfull), keep going.  If this is not the behavior you  
>> want, then pull the "&&" notation off the end of your RPM lines.
>>
>> Why are you trying to install an older version than what's already  
>> installed, though?
> 
> The application being installed depends on the existence of libgcc,
> compat-libstdc++, and zlib  So, the installer was written to rpm -Uh
> them, with the theory that if they're already there, great, and if
> they're not, then they will be.
> 
> The older version is almost certainly what comes with the base RHEL4,
> whichever Update level they had to work with.
> 
> Like I said, I considered updating the package with the newer libgcc,
> but then I would also have to include the RPMs for every conceivable
> package which might depend on libgcc, which I do not want to do.
> 
> Right now, my problem is that, in my elif case, when the RPM
> installation for libgcc fails, it doesn't just go on to try to install
> compat-libstdc++ and zlib... it appears to dump out of the elif case
> entirely.  I'm looking for a way for the script to handle this a little
> more gracefully, hopefully without having to test for the existence and
> version level of each RPM dependancy.
> 

It appears that you  didn't grasp the significance of what Greg said
about the '&&' separating your commands.

If you want to:
  try A, and then if that works try B, and then if that works try C
  use
    A &&
    B &&
    C
if you want to:
  try A, and then (always) try B, and then (always) try C
  use
    A
    B
    C

Regards,
..jim


-- 
KPLUG-List@kernel-panic.org
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-list

Reply via email to