Comme le titre l'indique j'ai des problemes avec l'utilisation du module
Scalar::Util 'dualvar'.
Lorsque que je cherche a utiliser le module Scalar::Util 'dualvar' j'ai le message suivant :
Ok cela signifie qu'il faut que j'installe une version plus recente de Scalar::Util qui supporte 'dualvar' ...PERL> use Scalar::Util 'dualvar'
is only avaliable with the XS version at (eval 2) line 1
BEGIN failed--compilation aborted at (eval 2) line 2.
Le probleme est que j'ai fait l'installation de cette nouvelle version !!!
Mais que perl ne semble pas aller chercher le "bon" module c-a-d le nouveau.
Lorsque je fait un perl -V j'ai le message suivant :
Une de mes questions y a t'il possibilité de savoir qu'elle module perl va chercher. Car le module que je veux utiliser ce situe la :@INC:
/share/supported/lib/perl5/5.8.5
/share/supported/perl_modules/bioperl-semi-live/i386-linux-thread-multi
/share/supported/perl_modules/bioperl-semi-live
/share/supported/perl_modules/lab
/share/supported/perl_modules/DBI-1.43/i386-linux-thread-multi/DBI
/share/supported/perl_modules/GD-2.15/i386-linux-thread-multi
/share/supported/apps/ogmp/lib/perl/ogmp
/share/supported/perl_modules/IO-String-1.07
/share/supported/perl_modules/IO
/share/supported/perl_modules/i386-linux-thread-multi
/share/supported/perl_modules/DBD-Pg-1.43
/usr/lib/perl5/5.8.3/i386-linux-thread-multi
/usr/lib/perl5/5.8.3
/usr/lib/perl5/site_perl/5.8.3/i386-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.3
/usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.3/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.3
/usr/lib/perl5/vendor_perl/5.8.2/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.2
/usr/lib/perl5/vendor_perl/5.8.1/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.1
/usr/lib/perl5/vendor_perl/5.8.0
/usr/lib/perl5/vendor_perl/5.6.1
/usr/lib/perl5/vendor_perl
/usr/lib/perl5/5.8.3
Lorsque je fait cela :
use lib "/usr/lib/perl5/5.8.3/Scalar 'dualvar'"
perl semble être d'accord avec moi et ne pose pas de probleme seulement je ne suis pas sur que ca fonctionne.
OK en admettant que cela fonctionne, mon but réel n'est pas d'utiliser Scalar::Util 'dualvar' mais IO::Socket::SSL
Je teste donc le code suivant :
Donc il n'est pas d'accord avec moi a cause de la ligne 30 de /usr/lib/perl5/vendor_perl/5.8.0/IO/Socket/SSL.pmPERL> use lib "/usr/lib/perl5/5.8.3/Scalar 'dualvar'"
PERL> use IO::Socket::SSL
is only avaliable with the XS version at /usr/lib/perl5/vendor_perl/5.8.0/IO/Socket/SSL.pm line 30
BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/5.8.0/IO/Socket/SSL.pm line 30.
Compilation failed in require at (eval 5) line 2.
BEGIN failed--compilation aborted at (eval 5) line 2.
Donc je regarde :
la ligne 30 de SSL.pm :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 # non-XS Versions of Scalar::Util will fail BEGIN{ eval { use Scalar::Util 'dualvar'; dualvar(0,'') }; die "You need the XS Version of Scalar::Util for dualvar() support" if $@; }
Ok je me dit que c'est le probleme de Scalar::Util 'dualvar'....
Je remplace donc le code precedent par
Bah oui on c'est jamais d'ici a ce que ca fonstionne !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 # non-XS Versions of Scalar::Util will fail BEGIN{ eval { use lib "/usr/lib/perl5/5.8.3/Scalar 'dualvar'"; dualvar(0,'') }; die "You need the XS Version of Scalar::Util for dualvar() support" if $@; }
Bah non malheuresement ca fonctionne pas![]()
J'ai le message suivant d'erreur :
Donc voila je ne sais pas trop comment m'en sortir....PERL> use IO::Socket::SSL
You need the XS Version of Scalar::Util for dualvar() support at /usr/lib/perl5/vendor_perl/5.8.0/IO/Socket/SSL.pm line 31.
BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/5.8.0/IO/Socket/SSL.pm line 33.
Compilation failed in require at (eval 2) line 2.
BEGIN failed--compilation aborted at (eval 2) line 2.
Merci a ce qui son arrivé à ce niveau du message.
Loula
Partager