I seem to running into the following bug when attempting to perform a yum update: http://bugs.centos.org/view.php?id=5322
I have been skipping perl to move on. However, I am unable to update perl to the latest i386 release due to what appears to be a mistake in the centOS repo.
The CentOS mirrors have the following: http://mirrors.kernel.org/centos/5/os/i386/CentOS/perl-5.8.8-32.el5_6.3.i386... http://mirrors.kernel.org/centos/5/os/x86_64/CentOS/perl-5.8.8-32.el5_6.3.x8...
http://mirrors.kernel.org/centos/5/updates/i386/RPMS/perl-5.8.8-32.el5_7.6.i... http://mirrors.kernel.org/centos/5/updates/x86_64/RPMS/perl-5.8.8-32.el5_7.6...
*http://mirrors.kernel.org/centos/5/extras/x86_64/RPMS/perl-5.8.8-32.el5_6.3.... ???
When I run a "yum list perl" or "yum update perl.i386" all I see is 5.8.8-32.el5_6.3 in the extras repo. It seems like this file shouldn't even exist. If I disable the repo my yum finds nothing for the i386 release of perl, even though the RPM is present in the updates directory.
Could a maintainer of the repository please put some emphasis on this 2 month old bug?
Thanks, --Blake
Blake Hudson wrote:
I seem to running into the following bug when attempting to perform a yum update: http://bugs.centos.org/view.php?id=5322
I have been skipping perl to move on. However, I am unable to update perl to the latest i386 release due to what appears to be a mistake in the centOS repo.
The CentOS mirrors have the following: http://mirrors.kernel.org/centos/5/os/i386/CentOS/perl-5.8.8-32.el5_6.3.i386... http://mirrors.kernel.org/centos/5/os/x86_64/CentOS/perl-5.8.8-32.el5_6.3.x8...
http://mirrors.kernel.org/centos/5/updates/i386/RPMS/perl-5.8.8-32.el5_7.6.i... http://mirrors.kernel.org/centos/5/updates/x86_64/RPMS/perl-5.8.8-32.el5_7.6...
*http://mirrors.kernel.org/centos/5/extras/x86_64/RPMS/perl-5.8.8-32.el5_6.3.... ???
why do you think there's a problem? if you have an x86_64 system, you are expected to use x86_64 perl, and that's what you have in the os and updates dir for that arch, with the newer version in updates. Same if you have an i386 system.
Apparently centos extras provides the i386 package for people who want that on an x86_64 system, although the version provided is the older one.
When I run a "yum list perl" or "yum update perl.i386" all I see is 5.8.8-32.el5_6.3 in the extras repo. It seems like this file shouldn't even exist. If I disable the repo my yum finds nothing for the i386 release of perl, even though the RPM is present in the updates directory.
it's not in x86_64 and I bet that's what your arch is. so yum doesn't look in the i386 path. Everything is normal.
The only possible "bug" is that extras could carry the latest i386 package.
Could a maintainer of the repository please put some emphasis on this 2 month old bug?
Nicolas Thierry-Mieg wrote the following on 2/13/2012 9:11 PM:
why do you think there's a problem? if you have an x86_64 system, you are expected to use x86_64 perl, and that's what you have in the os and updates dir for that arch, with the newer version in updates. Same if you have an i386 system. Apparently centos extras provides the i386 package for people who want that on an x86_64 system, although the version provided is the older one. ...
The only possible "bug" is that extras could carry the latest i386 package.
I have dozens of x86_64 systems. On none of them did I manually install the i386 perl package. However, they all seem to have it installed.
It seems that in many cases CentOS installs both an i386 and an x86_64 package when only the base package is requested, so I have thought nothing of it. install.log shows that the x86_64bit package was the only one initially installed, yum indicates that the i386 package was installed later (looks like during a yum update, possibly a dependency).
Is this a past mistake in the repo that is only rearing its head when there is a mismatch between the x86_64 version in the update repo and the i386 version in the extra repo? Should there even exist a version in the extra repo? If so, it seems it should certainly be updated.
--Blake
Blake Hudson wrote:
Nicolas Thierry-Mieg wrote the following on 2/13/2012 9:11 PM:
why do you think there's a problem? if you have an x86_64 system, you are expected to use x86_64 perl, and that's what you have in the os and updates dir for that arch, with the newer version in updates. Same if you have an i386 system. Apparently centos extras provides the i386 package for people who want that on an x86_64 system, although the version provided is the older one. ...
The only possible "bug" is that extras could carry the latest i386 package.
I have dozens of x86_64 systems. On none of them did I manually install the i386 perl package. However, they all seem to have it installed.
It seems that in many cases CentOS installs both an i386 and an x86_64 package when only the base package is requested, so I have thought nothing of it. install.log shows that the x86_64bit package was the only one initially installed, yum indicates that the i386 package was installed later (looks like during a yum update, possibly a dependency).
Is this a past mistake in the repo that is only rearing its head when there is a mismatch between the x86_64 version in the update repo and the i386 version in the extra repo? Should there even exist a version in the extra repo? If so, it seems it should certainly be updated.
yes it should be udpated. I was just pointing out that the i386 version you have installed must have come from extras, since your x86_64 system cannot see the i386 versions available in the base+updates i386 repos that you showed in your original post. It seemed you were wondering why these versions were not being installed.
Nicolas Thierry-Mieg wrote:
Blake Hudson wrote:
Nicolas Thierry-Mieg wrote the following on 2/13/2012 9:11 PM:
why do you think there's a problem? if you have an x86_64 system, you are expected to use x86_64 perl, and that's what you have in the os and updates dir for that arch, with the newer version in updates. Same if you have an i386 system. Apparently centos extras provides the i386 package for people who want that on an x86_64 system, although the version provided is the older one. ...
The only possible "bug" is that extras could carry the latest i386 package.
I have dozens of x86_64 systems. On none of them did I manually install the i386 perl package. However, they all seem to have it installed.
It seems that in many cases CentOS installs both an i386 and an x86_64 package when only the base package is requested, so I have thought nothing of it. install.log shows that the x86_64bit package was the only one initially installed, yum indicates that the i386 package was installed later (looks like during a yum update, possibly a dependency).
Is this a past mistake in the repo that is only rearing its head when there is a mismatch between the x86_64 version in the update repo and the i386 version in the extra repo? Should there even exist a version in the extra repo? If so, it seems it should certainly be updated.
yes it should be udpated. I was just pointing out that the i386 version you have installed must have come from extras, since your x86_64 system cannot see the i386 versions available in the base+updates i386 repos that you showed in your original post. It seemed you were wondering why these versions were not being installed.
BTW: why do you need 32bit perl? Since the package exists and you have it installed, I guess there must be use-cases... but perl being interpreted, I'm curious as to what they could be.
On 02/14/12 3:59 PM, Nicolas Thierry-Mieg wrote:
BTW: why do you need 32bit perl? Since the package exists and you have it installed, I guess there must be use-cases... but perl being interpreted, I'm curious as to what they could be.
usually in my experience, the requirement for 32 bit perl on an otherwise 64bit system stems from a perl plugin that has to be linked to a 32 bit external program which isn't available in 64bit.
Nicolas Thierry-Mieg wrote the following on 2/14/2012 5:59 PM:
BTW: why do you need 32bit perl? Since the package exists and you have it installed, I guess there must be use-cases... but perl being interpreted, I'm curious as to what they could be.
I did not install it intentionally. I attempted to remove it via yum and yum cited no dependencies, so it doesn't appear to have been necessary. My guess is that it was accidentally listed as a requirement for another RPM package that was installed or updated on the system at one point. As Johnny pointed out, these are older C5 installs, and the configuration of the repo and some packages might have changed with time. The i386 perl package was likely never necessary for the function of the system. However, it's installation should not have caused any problems.
Nicolas Thierry-Mieg wrote the following on 2/14/2012 5:54 PM:
yes it should be udpated. I was just pointing out that the i386 version you have installed must have come from extras, since your x86_64 system cannot see the i386 versions available in the base+updates i386 repos that you showed in your original post. It seemed you were wondering why these versions were not being installed.
Yes I was a bit confused as to that point, although it was secondary to my main concern. I did not realize that the x86_64 system could not see the i386 repo. I figured that there being a plethora of both i386 and x86_64 packages installed, the 64bit systems must be able to see both. I see now how it's setup. Thanks.
On 02/14/2012 12:59 PM, Blake Hudson wrote:
Nicolas Thierry-Mieg wrote the following on 2/13/2012 9:11 PM:
why do you think there's a problem? if you have an x86_64 system, you are expected to use x86_64 perl, and that's what you have in the os and updates dir for that arch, with the newer version in updates. Same if you have an i386 system. Apparently centos extras provides the i386 package for people who want that on an x86_64 system, although the version provided is the older one. ... The only possible "bug" is that extras could carry the latest i386 package.
I have dozens of x86_64 systems. On none of them did I manually install the i386 perl package. However, they all seem to have it installed.
It seems that in many cases CentOS installs both an i386 and an x86_64 package when only the base package is requested, so I have thought nothing of it. install.log shows that the x86_64bit package was the only one initially installed, yum indicates that the i386 package was installed later (looks like during a yum update, possibly a dependency).
Is this a past mistake in the repo that is only rearing its head when there is a mismatch between the x86_64 version in the update repo and the i386 version in the extra repo? Should there even exist a version in the extra repo? If so, it seems it should certainly be updated.
--Blake
This may come as a shock to many people on the list ... but by default on CentOS-5.x (and also CentOS-4.x or 3.x), when you do an x86_64 install it also installs many i[3,6]86 packages. This is not the default behavior in CentOS-6.x (it installs only x86_64 by default).
This is the default behavior in RHEL and so it is also the default behavior in CentOS.
Anaconda and yum both install these i[3,6]86 packages and update them by default for c5 and earlier.
If you wanted to have only 64-bit packages installed, then you would just add this line to your .rpmmacros file to be able to see which packages are i[3,6]86 and which are x86_64:
%_query_all_fmt %%{name}-%%{version}-%%{release}.%%{arch}
Before you add that, you will get this: ================== rpm -q glibc
glibc-2.5-65.el5_7.1 glibc-2.5-65.el5_7.1
================= Afterwards:
rpm -q glibc
glibc-2.5-65.el5_7.1.i686 glibc-2.5-65.el5_7.1.x86_64
=================
Now you can remove all the i[3,6]86 packages if you want ...
=================
Specifically for perl ... at one time, RHEL had perl.i386 in their x86_64 tree and it was removed ... we did the same thing in CentOS (if you look at the 5.7 tree, there is no i386 perl).
If you installed at an earlier time and upgraded, it is possible that you have an i386 perl (CentOS-5.1 had it there, it was taken out in 5.2). Is it possible that these machines were 5.1 installs and updated?
So, you have 2 choices ... you can try to remove the perl with this command:
rpm -e perl.i386
If you have nothing that specifically requires that arch of perl, that will remove it.
OR
We did add the i386 version of perl to the x86_64 c5 extras before for this same reason before ... and I see no negative to doing it again with the latest version of perl.i386 ... but unless you really need it, I would recommend removing it.
I am adding the i386 version of perl to x86_64 extras for c5 now ... it will go out to the mirrors soon.