Bonjour a tous ...
Je suis nouveau ici ... comme dans perl ...
mais j'ai besoin d'un petit coup de main ... j'ai ecrit un script qui
utilise un module nommé Win32::Perms et je voudrais en faire un exe avec
PAR. Lorsque que je fais pp -o mon.exe mon.pl j'obtient un exe qui
plante lamentablement en me disant :
Can't locate loadacle object for module Win32::Perms in @INC (@INC
contains: CODE(0xb97eec) CODE(0xc8a99c) .) at ../blib/lib/PAR/Heavy.pm
line 78
Compilation failed in require at script/mon.pl line 10
Bien sur si je lance mon script avec perl mon.pl tout se passe bien ... :-(
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
jl_morel
Dans l'article <4034b2ef$0$29951$, a dit...
... j'ai ecrit un script qui utilise un module nommé Win32::Perms et je voudrais en faire un exe avec PAR. Lorsque que je fais pp -o mon.exe mon.pl j'obtient un exe qui plante lamentablement en me disant : Can't locate loadacle object for module Win32::Perms in @INC (@INC contains: CODE(0xb97eec) CODE(0xc8a99c) .) at ../blib/lib/PAR/Heavy.pm line 78 Compilation failed in require at script/mon.pl line 10
Bien sur si je lance mon script avec perl mon.pl tout se passe bien ... :-(
Je crois bien que vous avez trouvé incidemment un bug (mineur) de PAR.
Le problème provient du fait qu'il n'arrive pas à charger la DLL Perms.dll associée à Perms.pm
Elle est bien contenue dans l'exécutable (il suffit de compiler le script avec l'option verbose (-v 5) pour faire afficher tous les modules inclus).
C'est la fonction bootstrap du module DynaLoader qui échoue. L'auteur du module Win32::Perms, Dave Roth, est un original : il a nommé sa dll Perms.DLL et non pas Perms.dll comme tout le monde !
Quand vous lancez votre script normalement, l'existence du fichier est testée, donc pas de problème avec les majuscules. Quand c'est l'exécutable compilé par pp qui tourne, le fichier Perms.dll est cherché dans la table de tous les fichiers inclus, laquelle table contient Perms.DLL qui ne correspond pas, d'où l'échec.
La solution est donc simple : vous allez avec l'explorateur dans le répertoire qui contient la DLL, typiquement C:perlsitelibautoWin32Perms et vous renommez le fichier Perms.DLL en Perms.dll
(si le fichier est protégé en écriture : un clic droit sur le nom du fichier > Propriétés > vous décochez l'attribut lecture seule)
Vous recompilez votre exécutable et ça devrait rouler tout seul.
-- J-L.M.
Dans l'article <4034b2ef$0$29951$626a14ce@news.free.fr>, lasconic@hotmail.com
a dit...
... j'ai ecrit un script qui
utilise un module nommé Win32::Perms et je voudrais en faire un exe avec
PAR. Lorsque que je fais pp -o mon.exe mon.pl j'obtient un exe qui
plante lamentablement en me disant :
Can't locate loadacle object for module Win32::Perms in @INC (@INC
contains: CODE(0xb97eec) CODE(0xc8a99c) .) at ../blib/lib/PAR/Heavy.pm
line 78
Compilation failed in require at script/mon.pl line 10
Bien sur si je lance mon script avec perl mon.pl tout se passe bien ... :-(
Je crois bien que vous avez trouvé incidemment un bug (mineur) de PAR.
Le problème provient du fait qu'il n'arrive pas à charger la DLL Perms.dll
associée à Perms.pm
Elle est bien contenue dans l'exécutable (il suffit de compiler le script
avec l'option verbose (-v 5) pour faire afficher tous les modules inclus).
C'est la fonction bootstrap du module DynaLoader qui échoue. L'auteur du
module Win32::Perms, Dave Roth, est un original : il a nommé sa dll
Perms.DLL et non pas Perms.dll comme tout le monde !
Quand vous lancez votre script normalement, l'existence du fichier est
testée, donc pas de problème avec les majuscules. Quand c'est l'exécutable
compilé par pp qui tourne, le fichier Perms.dll est cherché dans la table
de tous les fichiers inclus, laquelle table contient Perms.DLL qui ne
correspond pas, d'où l'échec.
La solution est donc simple : vous allez avec l'explorateur dans le
répertoire qui contient la DLL, typiquement
C:perlsitelibautoWin32Perms
et vous renommez le fichier Perms.DLL en Perms.dll
(si le fichier est protégé en écriture : un clic droit sur le nom du
fichier > Propriétés > vous décochez l'attribut lecture seule)
Vous recompilez votre exécutable et ça devrait rouler tout seul.
... j'ai ecrit un script qui utilise un module nommé Win32::Perms et je voudrais en faire un exe avec PAR. Lorsque que je fais pp -o mon.exe mon.pl j'obtient un exe qui plante lamentablement en me disant : Can't locate loadacle object for module Win32::Perms in @INC (@INC contains: CODE(0xb97eec) CODE(0xc8a99c) .) at ../blib/lib/PAR/Heavy.pm line 78 Compilation failed in require at script/mon.pl line 10
Bien sur si je lance mon script avec perl mon.pl tout se passe bien ... :-(
Je crois bien que vous avez trouvé incidemment un bug (mineur) de PAR.
Le problème provient du fait qu'il n'arrive pas à charger la DLL Perms.dll associée à Perms.pm
Elle est bien contenue dans l'exécutable (il suffit de compiler le script avec l'option verbose (-v 5) pour faire afficher tous les modules inclus).
C'est la fonction bootstrap du module DynaLoader qui échoue. L'auteur du module Win32::Perms, Dave Roth, est un original : il a nommé sa dll Perms.DLL et non pas Perms.dll comme tout le monde !
Quand vous lancez votre script normalement, l'existence du fichier est testée, donc pas de problème avec les majuscules. Quand c'est l'exécutable compilé par pp qui tourne, le fichier Perms.dll est cherché dans la table de tous les fichiers inclus, laquelle table contient Perms.DLL qui ne correspond pas, d'où l'échec.
La solution est donc simple : vous allez avec l'explorateur dans le répertoire qui contient la DLL, typiquement C:perlsitelibautoWin32Perms et vous renommez le fichier Perms.DLL en Perms.dll
(si le fichier est protégé en écriture : un clic droit sur le nom du fichier > Propriétés > vous décochez l'attribut lecture seule)
Vous recompilez votre exécutable et ça devrait rouler tout seul.
-- J-L.M.
lasconic
Jean-Louis MOREL wrote:
Dans l'article <4034b2ef$0$29951$, a dit...
... j'ai ecrit un script qui utilise un module nommé Win32::Perms et je voudrais en faire un exe avec PAR. Lorsque que je fais pp -o mon.exe mon.pl j'obtient un exe qui plante lamentablement en me disant : Can't locate loadacle object for module Win32::Perms in @INC (@INC contains: CODE(0xb97eec) CODE(0xc8a99c) .) at ../blib/lib/PAR/Heavy.pm line 78 Compilation failed in require at script/mon.pl line 10
Bien sur si je lance mon script avec perl mon.pl tout se passe bien ... :-(
Je crois bien que vous avez trouvé incidemment un bug (mineur) de PAR.
Le problème provient du fait qu'il n'arrive pas à charger la DLL Perms.dll associée à Perms.pm
Elle est bien contenue dans l'exécutable (il suffit de compiler le script avec l'option verbose (-v 5) pour faire afficher tous les modules inclus).
C'est la fonction bootstrap du module DynaLoader qui échoue. L'auteur du module Win32::Perms, Dave Roth, est un original : il a nommé sa dll Perms.DLL et non pas Perms.dll comme tout le monde !
Quand vous lancez votre script normalement, l'existence du fichier est testée, donc pas de problème avec les majuscules. Quand c'est l'exécutable compilé par pp qui tourne, le fichier Perms.dll est cherché dans la table de tous les fichiers inclus, laquelle table contient Perms.DLL qui ne correspond pas, d'où l'échec.
La solution est donc simple : vous allez avec l'explorateur dans le répertoire qui contient la DLL, typiquement C:perlsitelibautoWin32Perms et vous renommez le fichier Perms.DLL en Perms.dll
(si le fichier est protégé en écriture : un clic droit sur le nom du fichier > Propriétés > vous décochez l'attribut lecture seule)
Vous recompilez votre exécutable et ça devrait rouler tout seul.
Bien vu ! ! ! MERCI BEAUCOUP ! ! ! Tout fonctionne !
Merci! Lasconic
Jean-Louis MOREL wrote:
Dans l'article <4034b2ef$0$29951$626a14ce@news.free.fr>, lasconic@hotmail.com
a dit...
... j'ai ecrit un script qui
utilise un module nommé Win32::Perms et je voudrais en faire un exe avec
PAR. Lorsque que je fais pp -o mon.exe mon.pl j'obtient un exe qui
plante lamentablement en me disant :
Can't locate loadacle object for module Win32::Perms in @INC (@INC
contains: CODE(0xb97eec) CODE(0xc8a99c) .) at ../blib/lib/PAR/Heavy.pm
line 78
Compilation failed in require at script/mon.pl line 10
Bien sur si je lance mon script avec perl mon.pl tout se passe bien ... :-(
Je crois bien que vous avez trouvé incidemment un bug (mineur) de PAR.
Le problème provient du fait qu'il n'arrive pas à charger la DLL Perms.dll
associée à Perms.pm
Elle est bien contenue dans l'exécutable (il suffit de compiler le script
avec l'option verbose (-v 5) pour faire afficher tous les modules inclus).
C'est la fonction bootstrap du module DynaLoader qui échoue. L'auteur du
module Win32::Perms, Dave Roth, est un original : il a nommé sa dll
Perms.DLL et non pas Perms.dll comme tout le monde !
Quand vous lancez votre script normalement, l'existence du fichier est
testée, donc pas de problème avec les majuscules. Quand c'est l'exécutable
compilé par pp qui tourne, le fichier Perms.dll est cherché dans la table
de tous les fichiers inclus, laquelle table contient Perms.DLL qui ne
correspond pas, d'où l'échec.
La solution est donc simple : vous allez avec l'explorateur dans le
répertoire qui contient la DLL, typiquement
C:perlsitelibautoWin32Perms
et vous renommez le fichier Perms.DLL en Perms.dll
(si le fichier est protégé en écriture : un clic droit sur le nom du
fichier > Propriétés > vous décochez l'attribut lecture seule)
Vous recompilez votre exécutable et ça devrait rouler tout seul.
Bien vu ! ! !
MERCI BEAUCOUP ! ! ! Tout fonctionne !
... j'ai ecrit un script qui utilise un module nommé Win32::Perms et je voudrais en faire un exe avec PAR. Lorsque que je fais pp -o mon.exe mon.pl j'obtient un exe qui plante lamentablement en me disant : Can't locate loadacle object for module Win32::Perms in @INC (@INC contains: CODE(0xb97eec) CODE(0xc8a99c) .) at ../blib/lib/PAR/Heavy.pm line 78 Compilation failed in require at script/mon.pl line 10
Bien sur si je lance mon script avec perl mon.pl tout se passe bien ... :-(
Je crois bien que vous avez trouvé incidemment un bug (mineur) de PAR.
Le problème provient du fait qu'il n'arrive pas à charger la DLL Perms.dll associée à Perms.pm
Elle est bien contenue dans l'exécutable (il suffit de compiler le script avec l'option verbose (-v 5) pour faire afficher tous les modules inclus).
C'est la fonction bootstrap du module DynaLoader qui échoue. L'auteur du module Win32::Perms, Dave Roth, est un original : il a nommé sa dll Perms.DLL et non pas Perms.dll comme tout le monde !
Quand vous lancez votre script normalement, l'existence du fichier est testée, donc pas de problème avec les majuscules. Quand c'est l'exécutable compilé par pp qui tourne, le fichier Perms.dll est cherché dans la table de tous les fichiers inclus, laquelle table contient Perms.DLL qui ne correspond pas, d'où l'échec.
La solution est donc simple : vous allez avec l'explorateur dans le répertoire qui contient la DLL, typiquement C:perlsitelibautoWin32Perms et vous renommez le fichier Perms.DLL en Perms.dll
(si le fichier est protégé en écriture : un clic droit sur le nom du fichier > Propriétés > vous décochez l'attribut lecture seule)
Vous recompilez votre exécutable et ça devrait rouler tout seul.
Bien vu ! ! ! MERCI BEAUCOUP ! ! ! Tout fonctionne !