Symptoms
After running OA 5.5 update precheck following error appears in /var/log/precheck-report-<report_date>.log
:
Following hosts have libstdc++ or libgcc rpms older than 4.1.2-54. POA 5.5 will not work in such environments.
branding.provider.tld (5): libgcc version is 52, libstdc++ version is 52
Cause
Shared container or hardware node based on CentOS/RHEL 5 installed libgcc or libstdc++ is old (version < 4.1.2-54)
Container:
[root@vz47 ~]# vzpkg list -O 1002
centos-5-x86_642012-01-11 18:52:30
[root@vz47 ~]# vzctl exec 1002 rpm -qa |egrep 'libgcc|libstdc++'
libstdc++-4.1.2-51.el5
libstdc++-4.1.2-51.el5
libgcc-4.1.2-51.el5
libgcc-4.1.2-51.el5
Where 1002 is example of target container ID.
Hardware node:
[root@branding ~]# rpm -qa |egrep 'libgcc|libstdc++'
libstdc++-4.1.2-52.el5
libstdc++-4.1.2-52.el5
libgcc-4.1.2-52.el5
libgcc-4.1.2-52.el5
Resolution
RPMs libgcc and libstdc++ should be updated on these hosts.
Container:
vzpkg install 1002 -p libgcc libstdc++
If the package is already installed, use the following instead:
vzpkg update 1002 -p libgcc libstdc++
In some cases the vzpkg update
command would be not able to find required version for package. Because it checks on http://vault.centos.org/
for an older version, while it should check versions in all folders. Please correct this by adding list of repos by commands:
echo http://vault.centos.org/5.{0,1,2,3,4,5,6,7,8,9}/{os,updates}/x86_64 | tr ' ' '\n' >> /vz/template/centos/5/x86_64/config/os/default/repositories
echo http://vault.centos.org/5.{0,1,2,3,4,5,6,7,8,9}/{os,updates}/i386 | tr ' ' '\n' >> /vz/template/centos/5/x86/config/os/default/repositories
And update metadata:
vzpkg update metadata centos-5-x86_64 -r
Hardware node:
yum install -y libgcc libstdc++
Please note that is necessary to install and configure yum on every linux shared node.
- In order to update packages inside VM, yum utility will be used to update installed packages. If any dependency issue will arise during updating liggcc and libstdc++ packages, it is required to remove the package which have dependency issues and update the liggcc and libstdc++ packages and re-install the previously removed packages.