Sur un système 64 bits (slackware-current à jour) qui dispose du
nécessaire pour faire fonctionner des applications 32 bits, j'essaye
de faire tourner une application 32 bits mais celle ci refuse de
fonctionner à cause d'n problème de dépendence sur lequel je m'arrache
les cheveux depuis plusieurs jours.
Si je fais un simple ldd sur l'application, j'ai ce message qui
apparait :
$ ldd application
./application: /usr/lib/libcurl.so.4: no version information available
(required by ./application)
Le même message apparaît que je tente un LD_PRELOAD ou que je positionne
un LD_LIBRARY_PATH sur le répertoire contenant les librairies 32 bits
(/usr/lib)
$ LD_PRELOAD=/usr/lib/libcurl.so.4.2.0 ldd application
ERROR: ld.so: object '/usr/lib/libcurl.so.4.2.0' from LD_PRELOAD cannot be preloaded: ignored.
ERROR: ld.so: object '/usr/lib/libcurl.so.4.2.0' from LD_PRELOAD cannot be preloaded: ignored.
./application: /usr/lib/libcurl.so.4.2.0: no version information available (required by ./application)
Les autres libraries 32 bits ne semblent pas poser de problèmes et sont
vues normalement par ldd.
ldconfig voit bien les deux versions de libcurl et semble faire
correctement la différence.
J'ai lu que ce message d'erreur était souvent du à une différence de
version entre la libraires attendue par le binaire et celle du système
(binaire > système) mais celame semble étrange.
Je n'ai pas le code source de cette application mais j'ai le developpeur
(qui ne comprend pas vraiement l'origine du problème) à portée d'IRC.
Si une bonne âme arrivait à m'orienter dans ma compréhension de ce bins,
elle en serait remerciée.
A votre bon coeur.
--
@+
Doug - Linux user #307925 - Slackware64 roulaize ;-)
[ Plus ou moins avec une chance de peut-être ]
Je n'ai pas le code source de cette application mais j'ai le developpeur (qui ne comprend pas vraiement l'origine du problème) à portée d'IRC.
Bah demande lui de t'envoyer son libcurl.so.4 à lui...
Désolé de ne pas pouvoir répondre sur le fond, le ld.so gnu s'est rempli de features emmerdantes, incompréhensibles et pas documentées, ces dernières années.
Doug713705 :
Je n'ai pas le code source de cette application mais j'ai le developpeur
(qui ne comprend pas vraiement l'origine du problème) à portée d'IRC.
Bah demande lui de t'envoyer son libcurl.so.4 à lui...
Désolé de ne pas pouvoir répondre sur le fond, le ld.so gnu s'est
rempli de features emmerdantes, incompréhensibles et pas documentées, ces
dernières années.
Je n'ai pas le code source de cette application mais j'ai le developpeur (qui ne comprend pas vraiement l'origine du problème) à portée d'IRC.
Bah demande lui de t'envoyer son libcurl.so.4 à lui...
Désolé de ne pas pouvoir répondre sur le fond, le ld.so gnu s'est rempli de features emmerdantes, incompréhensibles et pas documentées, ces dernières années.
appzer0
On 06/03/2010 23:20, Doug713705 wrote:
Les autres libraries 32 bits ne semblent pas poser de problèmes et sont vues normalement par ldd.
ldconfig voit bien les deux versions de libcurl et semble faire correctement la différence.
J'ai lu que ce message d'erreur était souvent du à une différence de version entre la libraires attendue par le binaire et celle du système (binaire> système) mais celame semble étrange.
Hmm je dis peut-être n'importe quoi mais ta libcurl.so.4 pointe-t-elle vers une libcurl.so.4.quelquechose ?
J'ai lu que ce message d'erreur était souvent du à une différence de
version entre la libraires attendue par le binaire et celle du système
(binaire> système) mais celame semble étrange.
Hmm je dis peut-être n'importe quoi mais ta libcurl.so.4 pointe-t-elle
vers une libcurl.so.4.quelquechose ?
J'ai lu que ce message d'erreur était souvent du à une différence de version entre la libraires attendue par le binaire et celle du système (binaire> système) mais celame semble étrange.
Hmm je dis peut-être n'importe quoi mais ta libcurl.so.4 pointe-t-elle vers une libcurl.so.4.quelquechose ?
Oui, pas de problème là dessus. J'ai désinstallé, réinstallé, surinstallé tout ce que qui touche de prêt ou de loin à libcurl.
D'ailleurs ma version de libcurl est plus récente (4.2.0) que la tienne ;-) mais j'ai également essayé la 4.1.1 sans succès. -- @+ Doug - Linux user #307925 - Slackware64 roulaize ;-) [ Plus ou moins avec une chance de peut-être ]
Dans fr.comp.os.linux.configuration appzer0 nous expliquait:
Hmm je dis peut-être n'importe quoi mais ta libcurl.so.4 pointe-t-elle
vers une libcurl.so.4.quelquechose ?
Oui, pas de problème là dessus.
J'ai désinstallé, réinstallé, surinstallé tout ce que qui touche de prêt
ou de loin à libcurl.
D'ailleurs ma version de libcurl est plus récente (4.2.0) que la tienne
;-) mais j'ai également essayé la 4.1.1 sans succès.
--
@+
Doug - Linux user #307925 - Slackware64 roulaize ;-)
[ Plus ou moins avec une chance de peut-être ]
Oui, pas de problème là dessus. J'ai désinstallé, réinstallé, surinstallé tout ce que qui touche de prêt ou de loin à libcurl.
D'ailleurs ma version de libcurl est plus récente (4.2.0) que la tienne ;-) mais j'ai également essayé la 4.1.1 sans succès. -- @+ Doug - Linux user #307925 - Slackware64 roulaize ;-) [ Plus ou moins avec une chance de peut-être ]
Doug713705
Dans fr.comp.os.linux.configuration Luc Habert nous expliquait:
Je n'ai pas le code source de cette application mais j'ai le developpeur (qui ne comprend pas vraiement l'origine du problème) à portée d'IRC.
Bah demande lui de t'envoyer son libcurl.so.4 à lui...
Je ne suis pas contre mais j'aimerai aussi comprendre le pourquoi de la chose.
-- @+ Doug - Linux user #307925 - Slackware64 roulaize ;-) [ Plus ou moins avec une chance de peut-être ]
Dans fr.comp.os.linux.configuration Luc Habert nous expliquait:
Je n'ai pas le code source de cette application mais j'ai le developpeur
(qui ne comprend pas vraiement l'origine du problème) à portée d'IRC.
Bah demande lui de t'envoyer son libcurl.so.4 à lui...
Je ne suis pas contre mais j'aimerai aussi comprendre le pourquoi de la
chose.
--
@+
Doug - Linux user #307925 - Slackware64 roulaize ;-)
[ Plus ou moins avec une chance de peut-être ]
Là où ça devient drole c'est que je n'ai pas de section "version definitions", ce qui semble correspondre au message d'erreur initial (no version information available).
Pour info : - l'application en question est compilée au départ sur Ubuntu 9.10 (équivalent debian testing ?). - Le problème est le même sur une slackware 32 bits pure (de toutes façons, les paquets 32 bits pour une slack multiib sont bêtement ceux de la slack 32 bits).
J'ose soumettre 4 hypothèses à ta sagacité : - La version debian/ubuntu est patchée au point que ça ne correspond en rien à un autre système (même pas j'y crois trop mais mon anti-debianisme primaire refait surface dans ces moments là ;-) ) - Les options de compilation de la version debian/ubuntu sont suffisement différentes de celle de la slackware pour que ça mette un bazar pas possible (probable mais bon, ça me paraît gros). - Un bug chez Slackware ? C'est vrai, pourquoi je n'ai pas d'informations de version sur libcurl ? - Les 3 en même temps !!!
Merci pour ton aide. -- @+ Doug - Linux user #307925 - Slackware64 roulaize ;-) [ Plus ou moins avec une chance de peut-être ]
Dans fr.comp.os.linux.configuration Nicolas George nous expliquait:
Merci pour les explications.
Des dépendances sur des versions précises de bibliothèques. Dont en
particulier :
required from libcurl.so.4:
0x044a42e3 0x00 07 CURL_OPENSSL_3
Ca j'avais vu et je subdore que c'est par là que ça pèche.
Si je fais objdump -p sur ma libcurl.so.4 (Debian Testing à jour),
j'obtiens, entre autres :
Là où ça devient drole c'est que je n'ai pas de section "version
definitions", ce qui semble correspondre au message d'erreur initial (no
version information available).
Pour info :
- l'application en question est compilée au départ sur Ubuntu
9.10 (équivalent debian testing ?).
- Le problème est le même sur une slackware 32 bits pure (de toutes
façons, les paquets 32 bits pour une slack multiib sont bêtement ceux de
la slack 32 bits).
J'ose soumettre 4 hypothèses à ta sagacité :
- La version debian/ubuntu est patchée au point que ça ne correspond en
rien à un autre système (même pas j'y crois trop mais mon
anti-debianisme primaire refait surface dans ces moments là ;-) )
- Les options de compilation de la version debian/ubuntu sont
suffisement différentes de celle de la slackware pour que ça mette un
bazar pas possible (probable mais bon, ça me paraît gros).
- Un bug chez Slackware ? C'est vrai, pourquoi je n'ai pas
d'informations de version sur libcurl ?
- Les 3 en même temps !!!
Merci pour ton aide.
--
@+
Doug - Linux user #307925 - Slackware64 roulaize ;-)
[ Plus ou moins avec une chance de peut-être ]
Là où ça devient drole c'est que je n'ai pas de section "version definitions", ce qui semble correspondre au message d'erreur initial (no version information available).
Pour info : - l'application en question est compilée au départ sur Ubuntu 9.10 (équivalent debian testing ?). - Le problème est le même sur une slackware 32 bits pure (de toutes façons, les paquets 32 bits pour une slack multiib sont bêtement ceux de la slack 32 bits).
J'ose soumettre 4 hypothèses à ta sagacité : - La version debian/ubuntu est patchée au point que ça ne correspond en rien à un autre système (même pas j'y crois trop mais mon anti-debianisme primaire refait surface dans ces moments là ;-) ) - Les options de compilation de la version debian/ubuntu sont suffisement différentes de celle de la slackware pour que ça mette un bazar pas possible (probable mais bon, ça me paraît gros). - Un bug chez Slackware ? C'est vrai, pourquoi je n'ai pas d'informations de version sur libcurl ? - Les 3 en même temps !!!
Merci pour ton aide. -- @+ Doug - Linux user #307925 - Slackware64 roulaize ;-) [ Plus ou moins avec une chance de peut-être ]
Nicolas George
Doug713705 wrote in message <hn0rhe$2dua$:
Là où ça devient drole c'est que je n'ai pas de section "version definitions", ce qui semble correspondre au message d'erreur initial (no version information available).
- La version debian/ubuntu est patchée au point que ça ne correspond en rien à un autre système
Le symbol versionning est effectivement un patch Debian.
Sans, tu aurais fait tourner ton programme avec une libcurl compilée avec des options incompatible (GnuTLS au lieu d'OpenSSL) et donc risqué des segfaults implévisibles.
Doug713705 wrote in message <hn0rhe$2dua$1@talisker.lacave.net>:
Là où ça devient drole c'est que je n'ai pas de section "version
definitions", ce qui semble correspondre au message d'erreur initial (no
version information available).
- La version debian/ubuntu est patchée au point que ça ne correspond en
rien à un autre système
Le symbol versionning est effectivement un patch Debian.
Sans, tu aurais fait tourner ton programme avec une libcurl compilée avec
des options incompatible (GnuTLS au lieu d'OpenSSL) et donc risqué des
segfaults implévisibles.
Là où ça devient drole c'est que je n'ai pas de section "version definitions", ce qui semble correspondre au message d'erreur initial (no version information available).
- La version debian/ubuntu est patchée au point que ça ne correspond en rien à un autre système
Le symbol versionning est effectivement un patch Debian.
Sans, tu aurais fait tourner ton programme avec une libcurl compilée avec des options incompatible (GnuTLS au lieu d'OpenSSL) et donc risqué des segfaults implévisibles.
Doug713705
Dans fr.comp.os.linux.configuration Nicolas George nous expliquait:
Là où ça devient drole c'est que je n'ai pas de section "version definitions", ce qui semble correspondre au message d'erreur initial (no version information available).
- La version debian/ubuntu est patchée au point que ça ne correspond en rien à un autre système
Le symbol versionning est effectivement un patch Debian.
Sans, tu aurais fait tourner ton programme avec une libcurl compilée avec des options incompatible (GnuTLS au lieu d'OpenSSL) et donc risqué des segfaults imprévisibles.
Rhââ, et on peut se sortir de là avec élégance ou suis-je condamné à récupérer une libcurl ubuntu et probablement toutes ses dépendences ?
Dois-je signaler à l'auteur de l'application qu'il serait plus sage de compiler sur une autre machine équipée d'un autre système que Debian ?
Ca me parait complètement fou, windows-like même (!) mais je garde encore l'espoir de t'avoir mal compris.
-- @+ Doug - Linux user #307925 - Slackware64 roulaize ;-) [ Plus ou moins avec une chance de peut-être ]
Dans fr.comp.os.linux.configuration Nicolas George nous expliquait:
Là où ça devient drole c'est que je n'ai pas de section "version
definitions", ce qui semble correspondre au message d'erreur initial (no
version information available).
- La version debian/ubuntu est patchée au point que ça ne correspond en
rien à un autre système
Le symbol versionning est effectivement un patch Debian.
Sans, tu aurais fait tourner ton programme avec une libcurl compilée avec
des options incompatible (GnuTLS au lieu d'OpenSSL) et donc risqué des
segfaults imprévisibles.
Rhââ, et on peut se sortir de là avec élégance ou suis-je condamné à
récupérer une libcurl ubuntu et probablement toutes ses dépendences ?
Dois-je signaler à l'auteur de l'application qu'il serait plus sage de
compiler sur une autre machine équipée d'un autre système que Debian ?
Ca me parait complètement fou, windows-like même (!) mais je garde
encore l'espoir de t'avoir mal compris.
--
@+
Doug - Linux user #307925 - Slackware64 roulaize ;-)
[ Plus ou moins avec une chance de peut-être ]
Dans fr.comp.os.linux.configuration Nicolas George nous expliquait:
Là où ça devient drole c'est que je n'ai pas de section "version definitions", ce qui semble correspondre au message d'erreur initial (no version information available).
- La version debian/ubuntu est patchée au point que ça ne correspond en rien à un autre système
Le symbol versionning est effectivement un patch Debian.
Sans, tu aurais fait tourner ton programme avec une libcurl compilée avec des options incompatible (GnuTLS au lieu d'OpenSSL) et donc risqué des segfaults imprévisibles.
Rhââ, et on peut se sortir de là avec élégance ou suis-je condamné à récupérer une libcurl ubuntu et probablement toutes ses dépendences ?
Dois-je signaler à l'auteur de l'application qu'il serait plus sage de compiler sur une autre machine équipée d'un autre système que Debian ?
Ca me parait complètement fou, windows-like même (!) mais je garde encore l'espoir de t'avoir mal compris.
-- @+ Doug - Linux user #307925 - Slackware64 roulaize ;-) [ Plus ou moins avec une chance de peut-être ]