Yum won't update because of newer libstdc++ library. How do I fix this? - centos

Whenever I try to update my system via "sudo yum update", I get this error:
Transaction Check Error:
package libstdc++-4.3.2-7.i386 (which is newer than libstdc++-4.1.2-51.el5.x86_64) is already installed
I'm not sure how I got in this state, but I'm pretty sure that whatever I've done has been through yum.
Here's what "yum list" gives me for that library:
libstdc++.x86_64 4.1.2-50.el5 installed
libstdc++.i386 4.3.2-7 installed
libstdc++-devel.x86_64 4.1.2-50.el5 installed
Notice how the i386 version is different than the .x86_64 version. That's really strange.
I'm running CentOS 5.6 64 bit.
What should I do?

You can use the lazy man's method. For now use --skip-broken so other stuff will update. And eventually your repo version of libstdc++ will catchup to what's on your box.

Related

error with yum update

I'm trying to do yum update on my centos 7 server but i'm getting the following error:
Error: Multilib version problems found. This often means that the root
cause is something else and multilib version checking is just
pointing out that there is a problem. Eg.:
1. You have an upgrade for grub2-tools which is missing some
dependency that another package requires. Yum is trying to
solve this by installing an older version of grub2-tools of the
different architecture. If you exclude the bad architecture
yum will tell you what the root cause is (which package
requires what). You can try redoing the upgrade with
--exclude grub2-tools.otherarch ... this should give you an error
message showing the root cause of the problem.
2. You have multiple architectures of grub2-tools installed, but
yum can only see an upgrade for one of those architectures.
If you don't want/need both architectures anymore then you
can remove the one with the missing update and everything
will work.
3. You have duplicate versions of grub2-tools installed already.
You can use "yum check" to get yum show these errors.
...you can also use --setopt=protected_multilib=false to remove
this checking, however this is almost never the correct thing to
do as something else is very likely to go wrong (often causing
much more problems).
Protected multilib versions: 1:grub2-tools-2.02-0.64.el7.centos.x86_64 != 1:grub2-tools-2.02-0.44.el7.centos.x86_64
Can someone help me solve this?
I encountered the same problem, due to abnormal stop of yum update process.
I solve by removing grub2-tools and then re-install it, skipping the multilib check.
Specifically here's what I did:
[CAUTION! Use at your own risk ]
yum remove grub2-tools
yum install grub2 --setopt=protected_multilib=false
yum clean all
yum update
I manually download a higher version of grub2-tools (the 2.02-0.64) from
https://www.rpmfind.net/linux/rpm2html/search.php?query=grub2-tools&submit=Search+...&system=&arch=
And then I've manually installed it
rpm -ivh grub2-tools-2.02-0.64.el7.centos.x86_64.rpm
The process failed by dependencies, as it needed grub2-common at least same version (2.02-0.64), so I manually download also, and manually install bot
rpm -ivh grub2-common-2.02-0.64.el7.centos.noarch.rpm
rpm -ivh grub2-tools-2.02-0.64.el7.centos.x86_64.rpm
So the problem seems resolved.

Cannot update kernel-devel in CentOS 6.5

First of all I want to note that I am booting CentOS from a flash drive (if it matters).
Now I am trying to install Nvidia drivers for my GPU but the problem is that I must update kernel-devel first. I did the following:
yum update
yum install kernel-devel kernel-headers gcc make
yum -y upgrade kernel kernel-devel
After that I checked which kernel I am using:
uname -r
Which gave me this: 2.6.32-431.el6.x86_64
Then I did: rpm -q kernel-devel , with the following result: kernel-devel-2.6.32-504.el6.x86_64
I tried to upgrade again, but it said "No Packages marked for Update
"
When I tried to install the kernel again, it said that I already have installed the latest version:
Package kernel-devel-2.6.32-504.el6.x86_64 already installed and latest version
Package kernel-headers-2.6.32-504.el6.x86_64 already installed and latest version
Package gcc-4.4.7-11.el6.x86_64 already installed and latest version
Package 1:make-3.81-20.el6.x86_64 already installed and latest version
Nothing to do
I am confused and I don't know how to make the lates kernel active, so I can install my Nvidia drivers.
Usually which kernel to use is selected via grub at boot time. If you have both installed its most likely that grub is still starting the older kernel.
You can look at /etc/grub.conf to make sure "default" is set to what you would expect. Default is 0 keyed off the "Title" entry.
Did you reboot? most of the time the latest kernel is set to default in grub.conf and a reboot is all you need.
Also https://serverfault.com/a/623755 might be the answer.

Uninstalling Perl Error: Cannot remove due to the following packages that depend on it

I'm trying to upgrade my version of Perl from 5.14 up to 5.20.
When I run the perl 5.20 upgrade sudo pkg update system/runtime/perl#5.20 I get this error:
pkg update: No matching version of system/runtime/perl can be installed:
Reject: pkg://ms.system.com/system/runtime/perl#5.20.0,5.11-0.151006:20140604T182727Z
Reason: This version is excluded by installed incorporation pkg://perl.system.com/omniti/incorporation/perl-514-incorporation#5.14,5.11-0.151002:20120725T211507Z
Thus I'm trying to uninstall the current 5.14 version first with sudo pkg uninstall system/incorporation/perl-514-incorporation and got:
Creating Planpkg uninstall: Cannot remove 'pkg://perl.omniti.com/omniti/incorporation/perl-514-incorporation#5.14,5.11-0.151002:20120725T211507Z' due to the following packages that depend on it:
// A list of dependent packages
Any idae on how to get pass this?
I strongly recommend that you don't attempt to upgrade your system perl. A lot of miscellaneous stuff in your OS depends on it and upgrading it to a new major version will entail breaking a lot of stuff. Consider also that this upgrade will require rebuilding every CPAN module with XS dependencies as well.
The better solution is to use perlbrew to install perl-5.20.0 locally in your home directory. You can then use that to work with newer perls without touching your OS perl.

GLIBC_2.7 not found

I am getting the following error when trying to run several executables:
/lib/libc.so.6: version `GLIBC_2.7' not found (required by .tools/bridge/bridge)
I have recently upgraded from CentOS 5.3 to 5.7 (I am required to run these tools on CentOS 5, so I can't upgrade to 6).
I recompiled the whole code but this error still appears.
Has anyone encountered this type of error?
Thanks,
Claudiu
The error means that you built .tools/bridge/bridge on a system with glibc-2.7 (or later), and are trying to run it on a system that has glibc-2.6 or earlier.
Linux (and most UNIXes) does not support "build on later, run on earlier"; only the reverse scenario is supported.
See also this answer.
The 'glibc' is not the latest version, and you can try to update glibc package.
yum install glibc
or
yum install glibc-2.7

Installing php-devel-5.1.6-27.el5_5.3.x86_64

I'm working on a 64 bit centos 5.5 (Final) server
When I try to install pear it gives a dependency error
php-devel-5.1.6-27.el5_5.3.x86_64 from base has depsolving problems
--> Missing Dependency: php = 5.1.6-27.el5_5.3 is needed by package php-devel-5.1.6-27.el5_5.3.x86_64 (base)
So I try "yum install php-common-5.1.6-27.el5_5.3" it says that this package is already installed
Package matching php-common-5.1.6-27.el5_5.3.x86_64 already installed. Checking for update.
Nothing to do
I don't know what to do anymore
Can anyone give me a tip?
It's driving me crazy
when I try yum remove php-common-5.1.6-27.el5_5.3.x86_64 it gives me the following
Package(s) php-common-5.1.6-27.el5_5.3.x86_64 available, but not installed.
I don't understand what's wrong with yum
Try removing PHP and Pear, then try this from scratch as if your OS was new. It may help. Pear's a pain sometimes...
# yum install php
# yum install php-pear
# pear channel-update pear.php.net
# pear upgrade-all
Good luck!!
to refresh your system, you might try
yum reinstall php-common; yum install php-devel