Lib im System finden...

P

pc-nico

Tripel-As
Hallo Leute,

ich versuche gerade eine rpm in ein CentOS 5.2 zu installieren....
Dabei bekomme ich folgende Fehlermeldung:

Code:
rpm -i dbf2mysql-1.10e-1.i386.rpm
error: Failed dependencies:
        libmysqlclient.so.10 is needed by dbf2mysql-1.10e-1.i386

Soweit ich rausgefunden habe, gehört diese Lib zu den mysqlclients...

Das Paket gibt es aber in CentOS nicht, yum listet mir aber mysql als Paket auf...
Ich denke die Clients sind dort auch mit drin...

Kann es vllt ein Versionskonflikt sein? Ich wollt jetzt rausfinden ob die Lib libmysqlclient.so.
vllt in einer anderen Version auf meinem System liegt, aber
wie bekomme ich das raus, ohne ein find über das komplette System laufen
zu lassen?

danke
 
Hast du irgendein "locate" Paket installiert? Dann einfach mal
Code:
$ locate libmysqlclient.so
/usr/lib/mysql/libmysqlclient.so
/usr/lib/mysql/libmysqlclient.so.15
/usr/lib/mysql/libmysqlclient.so.15.0.0

Ein find über das ganze System ist normalerweise nicht nötig; ein
Code:
$ find /lib /usr/lib -name libmysqlclient.so.*
sollte normalerweise schon reichen.

Und - last not least - kannst du natürlich auch aus der RPM-DB einiges rausholen, z.B. etwa so:
Code:
$ rpm -qla | grep libmysqlclient.so
/usr/lib/mysql/libmysqlclient.so
/usr/lib/mysql/libmysqlclient.so.15
/usr/lib/mysql/libmysqlclient.so.15.0.0

Zur Ergänzung: bei Red Hat, auf dem Centos ja basiert, enthält das "mysql" Paket diese Library:
Code:
$ rpm -q --qf="%{NAME}\t%{SUMMARY}\n" mysql
mysql   MySQL client programs and shared libraries.
Das sollte also wirklich das Paket sein, das du benötigst. (Der Server ist in einem separaten Paket "mysql-server" enthalten.)

Gruss
 
Zuletzt bearbeitet:
Hey super, das hat mir weiter geholten....

es ist wohl so wie ich vermutet habe... in meinem System gibt es die Version
/usr/lib/mysql/libmysqlclient.so.15

das Programm welches ich installieren will braucht aber die /usr/lib/mysql/libmysqlclient.so.10....

Gibt es eine möglichkeit das Programm trotzdem zu installieren? Kann ich die
benötigte Lib irgendwie bereitstellen? Wohl ehr nicht oder?
 
kannst mal versuchen einfach einen symlink
ln -s /usr/lib/mysql/libmysqlclient.so.15 /usr/lib/mysql/libmysqlclient.so.10

währe dreckig .... aber eine schnelle lösung die funktionieren könnte


natürlich nur falls die alte version nicht mehr im repo vorhanden ist
 
Nette Idee... hat leider nicht funktioniert....

Code:
[root@server lib]# ln -s /usr/lib/mysql/libmysqlclient.so.15 /usr/lib/mysql/libmysqlclient.so.10
[root@server lib]# rpm -i /root/nh/dbf2mysql-1.10e-1.i386.rpm
error: Failed dependencies:
        libmysqlclient.so.10 is needed by dbf2mysql-1.10e-1.i386
[root@server lib]# ls -lrt /usr/lib/mysql/libmysqlclient*
-rwxr-xr-x 1 root root 1453308 May 26  2008 /usr/lib/mysql/libmysqlclient.so.15.0.0
-rwxr-xr-x 1 root root 1462820 May 26  2008 /usr/lib/mysql/libmysqlclient_r.so.15.0.0
lrwxrwxrwx 1 root root      24 Feb 17  2009 /usr/lib/mysql/libmysqlclient.so.15 -> libmysqlclient.so.15.0.0
lrwxrwxrwx 1 root root      26 Feb 17  2009 /usr/lib/mysql/libmysqlclient_r.so.15 -> libmysqlclient_r.so.15.0.0
lrwxrwxrwx 1 root root      35 Jan 20 11:20 /usr/lib/mysql/libmysqlclient.so.10 -> /usr/lib/mysql/libmysqlclient.so.15

Die alte Version werde ich wohl nicht mehr finden... hab inzwischen
raus gefunden das die gesuchte Lib zu den Mysql-Clients der Version 3.x gehört...
Und ich kann wohl nicht die Clients der aktuelle (benötigten) Version 5.x
mit denen der 3.x mischen oder?
 
nein das würde ich nicht machen .... eine andere (was ich persönlich nicht machen würde) währe die alte version als source runter laden und in /usr/local/irgendwo hin compelieren und für das Programm diese dann verwenden.... besser währe natürlich ein pfad der nicht in PATH steht.

Du kannst dann mit
LD_PRELOAD=/usr/local/irgendwo/libmysqlclient.so.10 && <proggiaufruf>


aber alles sehr dreckig :>
 
ich habe es jetzt ebenso "dreckig" gelöst... Statt das Programm ordentlich zu installieren, habe ich die ausführbare Binaries einfach vom alten Server kopiert und
siehe da es läuft problemlos....
 

Ähnliche Themen

rpm mittels yum

OpenSuse 12.3 / Tiefschlaf funktioniert nicht

Fehlende Bibliotheken

rtld(Gnu_Hash) is needed

RPMs neuinstallieren

Zurück
Oben