Hi,
At present I'm setting up several CentOS (4 and 4.4) machines, and in the process of installing the several updates that are automatically mentioned by up2date as being available, I'm running into a package conflict.
More particular, when trying to install several of the C compiler related packages (like gcc, cpp, etc.) I get the error message: "Test install failed because of package conflicts: The following packages were added to your selection to satisfy dependencies: (name) libtool (version) 1.5.6 (release) 4.EL4.c4.4 package libtool-1.5.6-4.EL4.1.c4.4 is already installed"
Now.... this seems to be somewhat of what we call over here a "chicken-and-egg-problem", IOW, in order to resolve it libtool should be added, yet when adding it, libtool is already installed and causes the conflict; so which to solve first :P
Can anyone let me know how I can manually solve this problem (note that libtool was not offered as a selectable package, but rather is enforced when trying to install e.g. gcc)?
Tnx in advance, and cheers, Olafo
On 4/2/07, Olaf Greve o.greve@axis.nl wrote:
At present I'm setting up several CentOS (4 and 4.4) machines, and in the process of installing the several updates that are automatically mentioned by up2date as being available, I'm running into a package conflict.
This sort of thing is common on multi-arch systems. Is this an x86_64 box?
More particular, when trying to install several of the C compiler related packages (like gcc, cpp, etc.) I get the error message: "Test install failed because of package conflicts: The following packages were added to your selection to satisfy dependencies: (name) libtool (version) 1.5.6 (release) 4.EL4.c4.4 package libtool-1.5.6-4.EL4.1.c4.4 is already installed"
After answering the above question, is the package it's trying to install here for x86 or x86_64?
Now.... this seems to be somewhat of what we call over here a "chicken-and-egg-problem", IOW, in order to resolve it libtool should be added, yet when adding it, libtool is already installed and causes the conflict; so which to solve first :P
Can anyone let me know how I can manually solve this problem (note that libtool was not offered as a selectable package, but rather is enforced when trying to install e.g. gcc)?
Multi-arch systems get interesting when you start installing development tools. Can you provide us a wee bit more detail as to what system you're running, which version of centos, and any extra repositories you might have enabled (rpmforge, atrpms).
Hi,
Thanks for thinking along with me, down below I've tried to answer your questions as well as possible:
This sort of thing is common on multi-arch systems. Is this an
x86_64 box?
No, it is a regular i386 (x86) based installation. Also, I have not manually hacked any software channels or so such that it would include x86_64 stuff, so I would hope that CentOS would never present me with x86_64 packages for this particular machine.
After answering the above question, is the package it's trying to install here for x86 or x86_64?
All packages list the architecture as 'i386', so no x86_64 packages there...
Multi-arch systems get interesting when you start installing development tools. Can you provide us a wee bit more detail as to what system you're running, which version of centos, and any extra repositories you might have enabled (rpmforge, atrpms).
Alright, when looking at the kernels in GRUB, the oldest one is: CentOS 4.0 (2.6.9-5.0.3.EL) ...and the most recent one, being the one that is actually booted into, is: CentOS (2.6.9-42.0.10.EL)
When the machine boots it mentions: "Red Hat nash version 4.2.1.8"
The channels listed in up2date are: "centos4-Base", "centos4- Updates", "centos4-Extras", "centos4-addons", and in the 'Channel information' pane, the following base location is listed for all channels: "http://mirror.centos.org/centos/4/<channel>/i386", with <channel> being (respectively): 'os', 'updates', 'extras' and 'addons'.
Back when first installing this machine, I *think* I chose the 'complete installation' type, and I am about 100% certain that I did not manually add any additional repositories...
I hope the above information is sufficient... Also, please pardon my ignorance somewhat, I'm not quite as proficient in Linuxes as in FreeBSD, so some things are somewhat new to me, and hence perhaps the provided information may not be exactly what you're looking for... :P
Cheers! Olafo
have you tried using yum as root in the shell?
aka:
yum install gcc cpp <whatever else you want>
Olaf Greve wrote:
Hi,
At present I'm setting up several CentOS (4 and 4.4) machines, and in the process of installing the several updates that are automatically mentioned by up2date as being available, I'm running into a package conflict.
More particular, when trying to install several of the C compiler related packages (like gcc, cpp, etc.) I get the error message: "Test install failed because of package conflicts: The following packages were added to your selection to satisfy dependencies: (name) libtool (version) 1.5.6 (release) 4.EL4.c4.4 package libtool-1.5.6-4.EL4.1.c4.4 is already installed"
Now.... this seems to be somewhat of what we call over here a "chicken-and-egg-problem", IOW, in order to resolve it libtool should be added, yet when adding it, libtool is already installed and causes the conflict; so which to solve first :P
Can anyone let me know how I can manually solve this problem (note that libtool was not offered as a selectable package, but rather is enforced when trying to install e.g. gcc)?
Tnx in advance, and cheers, Olafo _______________________________________________ CentOS mailing list CentOS@centos.org http://lists.centos.org/mailman/listinfo/centos
Hi,
have you tried using yum as root in the shell? aka: yum install gcc cpp <whatever else you want>
I had not, but I did so just now, and this does yield some interesting results. When doing exactly the above, i.e. "yum install gcc cpp", at first it comes a long way, until it hits the point where it tries to install libobjc, which results in the following output:
---> Downloading header for libobjc to pack into transaction set. libobjc-3.4.6-3.1.i386.rp 100% |=========================| 33 kB 00:00 ---> Package libobjc.i386 0:3.4.6-3.1 set to be updated --> Running transaction check --> Processing Dependency: gcc = 3.4.5 for package: libtool --> Finished Dependency Resolution Error: Missing Dependency: gcc = 3.4.5 is needed by package libtool
Hah, again the dreaded libtool dependency....
Subsequently executing: "yum install libtool", results in: Setting up Install Process Setting up repositories Reading repository metadata in from local files Parsing package install arguments Nothing to do
Doing a "yum update libtool" or "yum upgrade libtool" doesn't do any magic either.
Nowwww, when checking the man pages, I do notice several ways of cleaning yum's cache (like "yum clean packages" etc., and also a way to remove packages "yum remove libtool"), but I am not certain doing this is the best of ideas...
So... is there perhaps any way I can force re-install libtool, or otherwise fix the conflicting dependencies (as a comparison, I am looking for something like FreeBSDs ports mechanism where one can most of the time nicely perform a "make", "make deinstall", "make reinstall" sequence to get rid of similar dependency issues)?
Cheers and tnx, Olafo
On 4/2/07, Olaf Greve o.greve@axis.nl wrote:
I had not, but I did so just now, and this does yield some interesting results. When doing exactly the above, i.e. "yum install gcc cpp", at first it comes a long way, until it hits the point where it tries to install libobjc, which results in the following output:
---> Downloading header for libobjc to pack into transaction set.
libobjc is only installed as a dependency if you're installing the gcc-objc package, not just plain gcc. Are you telling us what you're really doing? If libtool requires gcc and libtool is already on your system, then you must also already have gcc. So why aren't you using "yum update gcc" rather than "yum install gcc"?
Have you tried simply "yum upgrade" (with no specific packages listed) to bring the entire system up to date? If not, why not?
As a last resort I'd suggest that you try removing libtool entirely (rpm -e libtool), then installing whatever gcc packages you are after, and then try re-installing libtool.
libobjc-3.4.6-3.1.i386.rp 100% |=========================| 33 kB 00:00 ---> Package libobjc.i386 0:3.4.6-3.1 set to be updated --> Running transaction check --> Processing Dependency: gcc = 3.4.5 for package: libtool --> Finished Dependency Resolution Error: Missing Dependency: gcc = 3.4.5 is needed by package libtool
It does seem a little odd that libtool has a specific "gcc = 3.4.5" dependency ... however, on my CentOS 4.4 box it reports "gcc = 3.4.3" and I didn't have any trouble updating gcc:
% rpm -q libtool libtool-1.5.6-4.EL4.1.c4.4 % rpm -qR libtool /bin/sh /bin/sh /bin/sh /sbin/install-info autoconf automake gcc = 3.4.3 libtool-libs = 1.5.6-4.EL4.1.c4.4 m4 mktemp perl rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 % rpm -q gcc gcc-3.4.6-3.1
Hi,
Firstly: I solved the problem. For those who find it interesting to see where the issue resided, and how it was solved, I have posted the details down below.
libobjc is only installed as a dependency if you're installing the gcc-objc package, not just plain gcc. Are you telling us what you're really doing?
Yep.
If libtool requires gcc and libtool is already on your system, then
you
must also already have gcc. So why aren't you using "yum update gcc" rather than "yum install gcc"?
Have you tried simply "yum upgrade" (with no specific packages listed) to bring the entire system up to date? If not, why not?
Been there, done that. This results in (for "yum update" and "yum update gcc"):
---> Package gcc-objc.i386 0:3.4.6-3.1 set to be updated ---> Downloading header for gcc4-c++ to pack into transaction set. gcc4-c%2B%2B-4.1.0-18.EL4 100% |=========================| 32 kB 00:00 ---> Package gcc4-c++.i386 0:4.1.0-18.EL4.3 set to be updated --> Running transaction check --> Processing Dependency: gcc = 3.4.5 for package: libtool --> Finished Dependency Resolution Error: Missing Dependency: gcc = 3.4.5 is needed by package libtool
As a last resort I'd suggest that you try removing libtool entirely (rpm -e libtool), then installing whatever gcc packages you are after, and then try re-installing libtool.
Yes. I agree in resorting to the last resort, so I tried that, and this resulted in the message: "error: "libtool" specifies multiple packages"
But wait! Now there we have a really good clue as to what is going on!!! Multiple packages does not sound like a desirable situation!!
Sooooo, trying to use yum instead shows something highly interesting:
yum remove libtool Setting up Remove Process Resolving Dependencies --> Populating transaction set with selected packages. Please wait. ---> Package libtool.i386 0:1.5.6-4.EL4.1.c4.3 set to be erased ---> Package libtool.i386 0:1.5.6-4.EL4.1.c4.4 set to be erased --> Running transaction check
Dependencies Resolved
======================================================================== ===== Package Arch Version Repository Size ======================================================================== ===== Removing: libtool i386 1.5.6-4.EL4.1.c4.3 installed 2.3 M libtool i386 1.5.6-4.EL4.1.c4.4 installed 2.3 M
Transaction Summary ======================================================================== ===== Install 0 Package(s) Update 0 Package(s) Remove 2 Package(s) Total download size: 0
There ya go! No idea how both versions could have gotten installed, but this is definitely way off.
I removed both packages, and afterwards a "yum update gcc" worked fine, then I ran "yum update" and that finished without any problems too. Finally, I ran "yum install libtool", and that worked smoothly too (it installed the "c4.4" version mentioned above).
All swell now, and tnx everybody for your help! :)
Cheerz, Olafo