[GD] Librairie GD sous perl qui ne fonctionne pas si gcc n'est pas la

Librairie GD sous perl qui ne fonctionne pas si gcc n'est pas la [GD] - Logiciels - Linux et OS Alternatifs

Marsh Posté le 29-07-2004 à 13:22:28    

Je suis sous AIX
 
j'ai installé les trucs suivant dans l'ordre suivant pour faire fonctionner la librairie perl GD::Graph
 
zlib 1.2.1
libpng 1.2.5
gd 2.0.26
Module perl GD::Text::Align et GD::Graph par CPAN
 
le problème, c'est que si je désinstalle gcc de la machine, ou que je tente d'utiliser ce module sur une autre machine qui ne possède pas GCC, j'ai l'erreur suivante:
 


Can't load '/dfs/system/prod/aix/rs_aix433/bin/perl/5.8.3/lib/site_perl/5.8.3/aix/auto/GD/GD.so' for module GD: A file or directory in the path name does not exist. at /dfs/system/prod/aix/rs_aix433/bin/perl/5.8.3/lib/5.8.3/aix/DynaLoader.pm line 229.
 at /dfs/system/prod/aix/rs_aix433/bin/perl/5.8.3/lib/site_perl/5.8.3/GD/Graph.pm line 38
Compilation failed in require at /dfs/system/prod/aix/rs_aix433/bin/perl/5.8.3/lib/site_perl/5.8.3/GD/Graph.pm line 38.
BEGIN failed--compilation aborted at /dfs/system/prod/aix/rs_aix433/bin/perl/5.8.3/lib/site_perl/5.8.3/GD/Graph.pm line 38.
Compilation failed in require at -e line 1.
BEGIN failed--compilation aborted at -e line 1.


 
alors que le fichier .so existe bel et bien

Reply

Marsh Posté le 29-07-2004 à 13:22:28   

Reply

Marsh Posté le 29-07-2004 à 13:50:53    

si c'est comme pour solaris, c'est normal, avec gcc vient la libgcc1 dont les programmes compilés avec gcc dépendent. Donc, si ton gd.so a été compilé avec gcc, il doit avoir besoin de libgcc1. tente un ldd /dfs/system/prod/aix/rs_aix433/bin/perl/5.8.3/lib/site_perl/5.8.3/aix/auto/GD/GD.so


---------------
Two thousand years of misery, of torture in my name, hypocrisy made paramount, paranoia the law, my name is called religion, sadistic, sacred whore.
Reply

Marsh Posté le 29-07-2004 à 13:56:25    

tu voulais surement dire ld et non ldd
 


yaberge2@info1 ==> ld /dfs/system/prod/aix/rs_aix433/bin/perl/5.8.3/lib/site_perl/5.8.3/aix/auto/GD/GD.so
ld: 0711-327 WARNING: Entry point not found: __start
ld: 0711-244 ERROR: No csects or exported symbols have been saved.


 
 
j'ai pourtant plein d'autre .so dans mes libs de perl, et ceux-ci fonctionne tjrs si ya plus aucun compilateur sur la machine
 
je vais retenté de compilé gd avec Ibmcxx alors, ou sinon de compiler le tout en static et non en shared, ca pourrait passer selon toi?

Reply

Marsh Posté le 29-07-2004 à 18:02:05    

non, ldd, pour savoir de quoi depend tobn binaire ou ton .so. Sous linux et solaris c'est ldd, par contre c'est sur que sous aix jene sais pas
 
Exemple:
 
ldd /lib/libsm_32.so
        libsocket.so.1 =>        /usr/lib/libsocket.so.1
        libnsl.so.1 =>   /usr/lib/libnsl.so.1
        libc.so.1 =>     /usr/lib/libc.so.1
        libdl.so.1 =>    /usr/lib/libdl.so.1
        libmp.so.2 =>    /usr/lib/libmp.so.2
        /usr/platform/SUNW,Sun-Fire-V440/lib/libc_psr.so.1
 
tes autres so ont été compilé avec quel compilo ? celui d'idm ou gcc ?


---------------
Two thousand years of misery, of torture in my name, hypocrisy made paramount, paranoia the law, my name is called religion, sadistic, sacred whore.
Reply

Marsh Posté le 29-07-2004 à 19:20:27    

ldd ca semble pas exister sous AIX
certains avec gcc et d'autres avec ibmcxx, mais j'ai qu'une seule machine avec ibmcxx et ca fonctionne sur plus de 40 serveurs
 
jvais chercher un peu voir si ya un équivalent à ldd sous aix

Reply

Marsh Posté le 29-07-2004 à 19:50:10    


yaberge2@info1 ==> ldd /dfs/system/prod/aix/rs_aix433/bin/perl/5.8.3/lib/site_perl/5.8.3/aix/auto/GD/GD.so
/usr/lib/libpthreads.a(shr_comm.o)
/usr/lib/libpthreads.a(shr.o)
/usr/lib/libpthreads_compat.a(shr.o)
/lib/libIM.a(shr.o)
/lib/libX11.a(shr4.o)
/usr/local/lib/libXpm.a(shr.o)
/usr/lib/libiconv.a(shr4.o)
/usr/local/lib/libgcc_s.a(shr.o)
/dfs/system/prod/aix/rs_aix433/lib/libgd.a(libgd.so.2)
/usr/lib/libcrypt.a(shr.o)
/usr/lib/libc.a(shr.o)
/dfs/system/prod/aix/rs_aix433/bin/perl/5.8.3/lib/site_perl/5.8.3/aix/auto/GD/GD.so


 
effectivement ya un truc de gcc dans les dépendances
 
bon bin me reste plus qu'à trouver comment le compiler pour que cette dépendance disparaisse

Reply

Marsh Posté le 30-07-2004 à 08:22:54    

ou alors tu déploies masivement ce .so car je ne sais pas si tu peux inclure statituqement seulement cette lib


---------------
Two thousand years of misery, of torture in my name, hypocrisy made paramount, paranoia the law, my name is called religion, sadistic, sacred whore.
Reply

Marsh Posté le 30-07-2004 à 09:35:06    

Bibliothèque, pas librairie.

Reply

Marsh Posté le 30-07-2004 à 12:10:42    

the_fireball a écrit :

ou alors tu déploies masivement ce .so car je ne sais pas si tu peux inclure statituqement seulement cette lib


 
ouarf, j'essais d'éviter au vu le nombre de serveur qu'on a, qu'on devrait l'include dans l'image, etc...
 
j'ai bien trouvé comment le compiler en statique, mais ca me fait un gdperl et la compile foire, c'est pas non plus ce que je cherche :D

Reply

Marsh Posté le 30-07-2004 à 15:36:08    

axey a écrit :

Bibliothèque, pas librairie.


 
on s'en branle

Reply

Marsh Posté le 30-07-2004 à 15:36:08   

Reply

Marsh Posté le 30-07-2004 à 21:37:27    

jai tenté d'ajouté un -static-libgcc dans le makefile mais ca semble pas fonctionner

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed