• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Dependency hell. This is ridicuylous

Red Squirrel

No Lifer
A dependency depends on... ITSELF. WTF?

Code:
[root@appdev mysql++]# yum install mysql-devel
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: mirror.csclub.uwaterloo.ca
 * centosplus: centos.mirror.netelligent.ca
 * extras: centos.mirror.rafal.ca
 * updates: centos.mirror.rafal.ca
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mysql-devel.x86_64 0:5.1.73-3.el6_5 will be installed
--> Processing Dependency: mysql = 5.1.73-3.el6_5 for package: mysql-devel-5.1.73-3.el6_5.x86_64
--> Finished Dependency Resolution
Error: Package: mysql-devel-5.1.73-3.el6_5.x86_64 (base)
           Requires: mysql = 5.1.73-3.el6_5
           Installed: mysql-5.5.38-1.el6.remi.x86_64 (@remi)
               mysql = 5.5.38-1.el6.remi
           Available: mysql-5.1.73-3.el6_5.x86_64 (base)
               mysql = 5.1.73-3.el6_5
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
[root@appdev mysql++]# 
[root@appdev mysql++]# 
[root@appdev mysql++]# yum install mysql-devel --skip-broken
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
 * base: mirror.csclub.uwaterloo.ca
 * centosplus: centos.mirror.netelligent.ca
 * extras: centos.mirror.rafal.ca
 * updates: centos.mirror.rafal.ca
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mysql-devel.x86_64 0:5.1.73-3.el6_5 will be installed
--> Processing Dependency: mysql = 5.1.73-3.el6_5 for package: mysql-devel-5.1.73-3.el6_5.x86_64

Packages skipped because of dependency problems:
    mysql-devel-5.1.73-3.el6_5.x86_64 from base
[root@appdev mysql++]#

So let me get this straight, mysql-devel needs to be installed so I can install... mysql-devel. What in the world? They seriously need to fix this bull crap.

Is there any way around this? OS is CentOS 6.5. I'm trying to get Mysql++ to work. I think I'm just going to rewrite my program to write queries to a php file and execute them through php and then get the result, or write my own mysql connector. It's ridiculous how hard they make this.
 
I am not familiar with Yum. Does Yum say mysql-devel.x86_64 0:5.1.73-3.el6_5 is compatible with mysql-5.1.73-3.el6_5 but is not compatible with your installation of mysql-5.5.38-1.el6.remi.x86_64? Do you want to regress mysql to the compatible 5.1.73-3.el6_5 version?
 
If mysql is not already installed it must be installed first.
I believe mysql-devel is just development header files and libraries.
 
Another 'not familiar with Yum' voice here, but agreed, it looks as if you've installed a non-standard version of the base mysql package, while the version mysql-dev from your main repository requires an older version.

A quick google returns a ServerFault question, which suggests

yum --enablerepo=remi,remi-test install mysql-devel

may get you what you need.
 
Yeah mysql is installed. I have whatever comes with CentOs, so nothing really non standard.

The command:

yum --enablerepo=remi,remi-test install mysql-devel

Did work though, thanks! Though, it also installed mysql... does this mean I will have two mysqls? This could get problematic. Everything seems to be ok though... all my databases are still there.
 
Error: Package: mysql-devel-5.1.73-3.el6_5.x86_64 (base)
Requires: mysql = 5.1.73-3.el6_5
Installed: mysql-5.5.38-1.el6.remi.x86_64 (@remi)
mysql = 5.5.38-1.el6.remi
Available: mysql-5.1.73-3.el6_5.x86_64 (base)
mysql = 5.1.73-3.el6_5

Notice the parenthesis... (base) and (@remi). Those are the repos. CentOS has a few repos that they maintain for their code. When you installed mysql, you installed it from (@remi). More than likely, this was because you needed a newer version than what came with the version of CentOS you're on.

When CentOS and RedHat are packaged, they come with base versions: Example.... mysql 5.1 or 5.5.... When CentOS goes from version 6 to 6.1 to 6.2 to 6.5, etc the package versions provided with those versions change. So you'll go from mysql 5 to 5.1 to 5.5... The versions of php, apache, ssl, just about everything will change.....whatever's available and stable at the time. The only thing the repos then do is maintain THOSE @release versions for security patches and bug fixes. As you run yum update, you'll get the security patches, but will stay on the same major/minor version.

So....for your mysql 5.5 installation. If you did the install yourself, you installed it from the (@remi) repo by following a guide somewhere....or you installed an application that required a newer mysql version than what (base) provided....

I rarely have dependency issues with yum that can't be worked through. The old days of using straight rpm got a little scary when dealing with vendor software that relied on antiquated packages that weren't provided in the base RedHat repos. Mostly, it was to provide backwards compatibility to some old core Unix systems... The worst part was having to document the packages and their dependencies in a way that I could reinstall them in the future if I ever needed to. Things have been much better since RedHat/CentOS 5. Most vendors have adopted support for RedHat and rely on prepackaged standards.
 
Last edited:
So is best bet to disable all other repositories then? It sounds like this can be a pretty big screw up. Did not even know there was more than one.
 
One can live with RPM/YUM (and die by "did not know"). Well, that implies that not knowing the Debian way is a form of slow, gruesome death ...


Yes, the use of third-party repositories requires the "know what you are doing" and keeping them disabled by default is usually a good thing. Depends on what they provide.

RedHat/CentOS 6 includes mysql 5.1.

Software Collections (SCL) from RedHat (available for CentOS as "scl" repo; not part of base) has mysql55 and mariadb55 that can be co-installed with the base mysql-5.1. The SCL is relatively new.
 
Back
Top