J'ai fais un package debian d'un script perl. Quand j'installe ce
package sur une autre machine, il ne retrouve pas une d=E9pendance alors
que je l'ai inclue dans mon package et que les fichiers se retrouvent
bien sur cette machine.
D'o=F9 peux venir le probleme ? les droits sur les fichiers me semblent
ok...
L'installation du package ne donne aucune erreur :
sudo dpkg -i script.deb
Message d'erreur =E0 l'ex=E9cution du script :
Can't locate loadable object for module Gtk2::MozEmbed in @INC (@INC
contains: /etc/perl /usr/local/lib/perl/5.8.7
/usr/local/share/perl/5.8.7 /usr/lib/perl5 /usr/share/perl5
/usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl
/usr/local/lib/perl/5.8.4 /usr/local/share/perl/5.8.4 .) at iris-gtk.pl
line 5
Compilation failed in require at script.pl line 5.
BEGIN failed--compilation aborted at script.pl line 5.
Or :
ls -l /usr/local/lib/perl/5.8.4/Gtk2/
total 8
drwxr-xr-x 3 root root 4096 2006-11-22 17:40 MozEmbed
-rwxr-xr-x 1 root root 1630 2006-11-22 17:39 MozEmbed.pm
Message d'erreur à l'exécution du script : Can't locate loadable object for module Gtk2::MozEmbed in @INC
Or : ls -l /usr/local/lib/perl/5.8.4/Gtk2/ -rwxr-xr-x 1 root root 1630 2006-11-22 17:39 MozEmbed.pm
Ce n'est pas le module qu'il cherche, c'est la librairie que le module tente de charger. Un truc en .so donc, pas en .pm.
-- So many women; so little nerve.
Math
Ce n'est pas le module qu'il cherche, c'est la librairie que le module tente de charger. Un truc en .so donc, pas en .pm.
Ah, ok... J'imagine qu'il s'agit de gtkmozembed.so Je viens d'essayer de l'inclure dans mon package .deb, au même niveau que mon script perl
Quand je lis : in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.7 /usr/local/share/perl/5.8.7 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl /usr/local/lib/perl/5.8.4 /usr/local/share/perl/5.8.4 .)
j'en déduis qu'il devrait chercher dans le répertoire "." (juste avant la fin de la parenthese). Or, cela ne fonctionne toujours pas, même message d'erreur.
Faut-t-il que je le place autre part ?
Ce n'est pas le module qu'il cherche, c'est la librairie que le module
tente de charger. Un truc en .so donc, pas en .pm.
Ah, ok...
J'imagine qu'il s'agit de gtkmozembed.so
Je viens d'essayer de l'inclure dans mon package .deb, au même niveau
que mon script perl
Quand je lis :
in @INC (@INC
contains: /etc/perl /usr/local/lib/perl/5.8.7
/usr/local/share/perl/5.8.7 /usr/lib/perl5 /usr/share/perl5
/usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl
/usr/local/lib/perl/5.8.4 /usr/local/share/perl/5.8.4 .)
j'en déduis qu'il devrait chercher dans le répertoire "." (juste
avant la fin de la parenthese).
Or, cela ne fonctionne toujours pas, même message d'erreur.
Ce n'est pas le module qu'il cherche, c'est la librairie que le module tente de charger. Un truc en .so donc, pas en .pm.
Ah, ok... J'imagine qu'il s'agit de gtkmozembed.so Je viens d'essayer de l'inclure dans mon package .deb, au même niveau que mon script perl
Quand je lis : in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.7 /usr/local/share/perl/5.8.7 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl /usr/local/lib/perl/5.8.4 /usr/local/share/perl/5.8.4 .)
j'en déduis qu'il devrait chercher dans le répertoire "." (juste avant la fin de la parenthese). Or, cela ne fonctionne toujours pas, même message d'erreur.
Faut-t-il que je le place autre part ?
Jogo
Sur fr.comp.lang.perl, Math disait :
J'imagine qu'il s'agit de gtkmozembed.so Je viens d'essayer de l'inclure dans mon package .deb, au même niveau que mon script perl
Amha ce n'est pas comme cela qu'il faut faire. Essaie plutôt d'utiliser les options -l et/ou -a de pp pour lier statiquement ces librairies. Utilise ldd pour vérifier que toutes les librairies dynamiques de ton exécutable sont sur la machine "destinataire".
-- Halaud, enhoiré ! Le GCU passe encore mais le GNU, jamais. -+- BL in Guide du Neuneu Usenet : A l'infu de fon flein gré.-+-
Sur fr.comp.lang.perl, Math disait :
J'imagine qu'il s'agit de gtkmozembed.so
Je viens d'essayer de l'inclure dans mon package .deb, au même niveau
que mon script perl
Amha ce n'est pas comme cela qu'il faut faire. Essaie plutôt d'utiliser
les options -l et/ou -a de pp pour lier statiquement ces librairies.
Utilise ldd pour vérifier que toutes les librairies dynamiques de ton
exécutable sont sur la machine "destinataire".
--
Halaud, enhoiré ! Le GCU passe encore mais le GNU, jamais.
-+- BL in Guide du Neuneu Usenet : A l'infu de fon flein gré.-+-
J'imagine qu'il s'agit de gtkmozembed.so Je viens d'essayer de l'inclure dans mon package .deb, au même niveau que mon script perl
Amha ce n'est pas comme cela qu'il faut faire. Essaie plutôt d'utiliser les options -l et/ou -a de pp pour lier statiquement ces librairies. Utilise ldd pour vérifier que toutes les librairies dynamiques de ton exécutable sont sur la machine "destinataire".
-- Halaud, enhoiré ! Le GCU passe encore mais le GNU, jamais. -+- BL in Guide du Neuneu Usenet : A l'infu de fon flein gré.-+-
Math
Bon, merci beaucoup, cela fonctionne maintenant, en fait, ce n'était pas gtkmozembed.so qu'il fallait inclure, mais c'était : mozembed.so
Donc je n'ai plus d'erreur à ce niveau. Par contre, l'application plante au démarrage. C'est une appli Gtk2, donc je vois apparaitre une fenetre, enfin le cadre simplement.. puis un message d'erreur générique : "Erreur de l'application, vous pouvez informer les développeurs, etc..."
Et aucun message dans la console... Je soupçonne une incompatibilité au niveau de la version de Gtk... une autre idée ?
Bon, merci beaucoup, cela fonctionne maintenant, en fait, ce n'était
pas gtkmozembed.so qu'il fallait inclure, mais c'était : mozembed.so
Donc je n'ai plus d'erreur à ce niveau. Par contre, l'application
plante au démarrage.
C'est une appli Gtk2, donc je vois apparaitre une fenetre, enfin le
cadre simplement.. puis un message d'erreur générique :
"Erreur de l'application, vous pouvez informer les développeurs,
etc..."
Et aucun message dans la console...
Je soupçonne une incompatibilité au niveau de la version de Gtk...
une autre idée ?
Bon, merci beaucoup, cela fonctionne maintenant, en fait, ce n'était pas gtkmozembed.so qu'il fallait inclure, mais c'était : mozembed.so
Donc je n'ai plus d'erreur à ce niveau. Par contre, l'application plante au démarrage. C'est une appli Gtk2, donc je vois apparaitre une fenetre, enfin le cadre simplement.. puis un message d'erreur générique : "Erreur de l'application, vous pouvez informer les développeurs, etc..."
Et aucun message dans la console... Je soupçonne une incompatibilité au niveau de la version de Gtk... une autre idée ?