Re: Problème script
Michel Leunen wrote: C'est ce qui me fait dire que ce script est mal fichu. Il donne l'impression d'avoir été écrit par quelqu'un dont c'est le premier script. Aucun programmeur n'oublierait le shebang. Aucun programmeur sérieux n'ajouterait '.' au path. C'est pour cela que ce script ne fait pas ce qu'on attend de lui et c'est pour cela que ça ne marche pas. De plus jouer avec '.' est parfois trompeur. C'est relatif. On croit être dans le bon répertoire mais en fait on se trompe. Il faudrait en savoir plus sur ce programme license.exe. J'ai vu du code beaucoup plus sale codé (et vendu!) par des programmeurs se disant sérieux (tout du moins en ayant les diplômes) ... ça me fait plus penser à du code écrit en 2 secondes sans se relire par quelqu'un qui ne fait habituellement pas de script. A mon avis, la principale source de qualité du code open source ne provient pas des mille paires d'yeux qui auditent le code (ils aident beaucoup cependant), mais de l'amour propre/honte du programmeur qui sait que quelqu'un pourra voir si il code comme un cochon, donc il s'applique un peu plus que si le reste du monde ne voyait qu'un gros binaire qui rempli plus ou moins la tâche demandée. Par contre en condition de test relativement générique (console bash) le script du message d'origine rempli sa tâche (même si le script n'est pas propre). Il doit donc y avoir un problème soit avec l'environnement, soit avec license.exe effectivement. -- ubuntu-fr mailing list ubuntu-fr@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Re: Problème script
Michel Leunen wrote: Le 29/01/10 10:02, Avell Diroll a écrit : est-ce une erreur de copier/coller ou le message d'erreur pointe-t-il réellement vers /license.exe (le fichier license.exe à la racine et non dans le répertoire courant) ? Oui, le problème est sûrement là. Le script est bizarre et ça ne m'étonne pas que dans certains cas cela ne fonctionne pas. Mais difficile de mettre le doigt exactement sur ce qui peut clocher. En tout cas, utiliser '.' pour signifier le répertoire courant dans un script me semble une aberration. J'ai testé le script, il-fonctionne-chez-moi™, il n'est pas propre mais il fonctionne. A première vue, je vois 4 sources d'erreur possible: * l'exécutable license.exe produit une erreur (un classique avec les logiciels propriétaires *nix un peu ancien : il lui manque une lib, ou il cherche une lib plus ancienne que celle fournie) * le script ne fournissant pas de shebang line (ouch), c'est l'interpréteur par défaut du système qui poserait le problème ... j'ai testé avec succès avec bash, sh et dash ... '.' a une signification différente suivant l'interpréteur (et qu'on ne parle pas de csh ... ça rend violent). * les fichiers sont bien exécutable mais la partition sur laquelle ils sont enregistrés n'autorise pas l'exécution ... * l'environnement d'exécution change la pwd (cas classique d'une console distante sur un environnement partagé) ... mais j'en doute, ce sont des situations que l'on fuit lorsque l'on cherche à installer un programme. ... Ce que je ne comprends pas, c'est que l'auteur du script s'embête à ajouter '.' dans le PATH (ce qui est considéré comme une très mauvaise pratique ... sur un logiciel serveur ou interprétant des données externes, c'est comme cela qu'apparaissent des trous de sécurité ...), et ne s'en sert pas (il lance license.exe avec sont chemin relatif (./license.exe $CARAIBES_LICENSE) ce qui est inutile vu qu'il a mis la pwd dans le path ... le script fonctionne également si l'on retire le ./ ... (et je ne parle même pas de cette ligne: LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. ajouter la pwd dans la recherche de lib ... c'est soit une erreur soit la méthode choisie pour changer de lib n'est pas de leur donner des noms différents, mais de changer de répertoire O.o ...) Je comprends que l'installeur est la dernière étape de production du logiciel, et est loin d'être la plus intéressante (been there, done that), mais c'est le premier bout de code avec lequel l'utilisateur entre en contact ... ... et si j'ai bien compris c'est un logiciel propriétaire ? Est-ce bien celui-ci: http://www.ifremer.fr/fleet/equipements_sc/logiciels_embarques/caraibes/ ? Dans tous les cas, vu que le logiciel est propriétaire et qu'ils annoncent: # la maintenance est incluse dans le prix de la licence; il y a environ deux versions par an. Une assistance est disponible par le courrier électronique, http://www.ifremer.fr/flotte/equipements_sc/logiciels_embarques/caraibes/acquerir.htm Je conseille fortement de rentrer en contact avec eux. En apparte, au sujet des extensions de fichier (exe entre autre), il ne faut pas oublier qu'un fichier ELF n'a pas besoin d'extension, mais qu'au fil des ans certaines conventions sont apparues ou ont disparu, et il est très fréquent de voir des logiciels propriétaires pour linux avec des exécutables portant une extension (.exe, mais aussi .com ...). Un indice: les logiciels sous linux qui arrivent avec un .exe sont souvent ceux qui proposent également des versions pour systèmes Unix ... Bonne continuation Ju -- If you make something idiot-proof, the universe creates a better idiot. -- ubuntu-fr mailing list ubuntu-fr@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Re: Problème script
Le 30/01/10 19:07, Avell Diroll a écrit : * le script ne fournissant pas de shebang line (ouch), ... Ce que je ne comprends pas, c'est que l'auteur du script s'embête à ajouter '.' dans le PATH ... (et je ne parle même pas de cette ligne: LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. ajouter la pwd dans la recherche de lib ... C'est ce qui me fait dire que ce script est mal fichu. Il donne l'impression d'avoir été écrit par quelqu'un dont c'est le premier script. Aucun programmeur n'oublierait le shebang. Aucun programmeur sérieux n'ajouterait '.' au path. C'est pour cela que ce script ne fait pas ce qu'on attend de lui et c'est pour cela que ça ne marche pas. De plus jouer avec '.' est parfois trompeur. C'est relatif. On croit être dans le bon répertoire mais en fait on se trompe. Il faudrait en savoir plus sur ce programme license.exe. -- Michel Leunen http://linux.leunen.com -- ubuntu-fr mailing list ubuntu-fr@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Re: Problème script
Poizot Emmanuel wrote: (snip) et bien l'execution me dit /license.exe fichier non trouvé, (snip) est-ce une erreur de copier/coller ou le message d'erreur pointe-t-il réellement vers /license.exe (le fichier license.exe à la racine et non dans le répertoire courant) ? Bonne continuation Ju -- Only fools are sure of anything. A wise man keeps on guessing. --MacGyver -- ubuntu-fr mailing list ubuntu-fr@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
RE: Problème script
Bonjour, Pourrais tu essayer de remplacer ./license.exe par . ./license.exe ? J'ai bon espoir que cela puisse fonctionner Alain. From: ubuntu-fr-boun...@lists.ubuntu.com [mailto:ubuntu-fr-boun...@lists.ubuntu.com] On Behalf Of Poizot Emmanuel Sent: 28 January 2010 09:00 To: Steve Nadeau Cc: ubuntu-fr@lists.ubuntu.com Subject: Re: Problème script Steve Nadeau a écrit : Bonsoir Emmanuel! Selon le nom de l'exécutable, on est face à un programme windows et non linux... la seule façon d'exécuter un tel programme sous Ubuntu c'est avec WINE, si ce dernier n'est pas installé ça ne peut pas marcher, donc, le programme n'est pas exécutable... si WINE est installé, peut-être que l'exécutable est corrompu. N'existe t-il pas un équivalent sous Linux de ce programme? ce serait plus simple de faire des recherches en ce sens peut-être... bonne soirée! 2010/1/27, Poizot Emmanuel emmanuel.poi...@cnam.frmailto:emmanuel.poi...@cnam.fr: Bonjour à tous, j'ai un logiciel de traitement de données spécifiques, qui s'installe à l'aide d'un script tout ce qu'il y a de plus banal. Il pose quelques questions (un numéro de licence, les chemins divers pour l'install, etc...) et décompresse des fichiers zippé dans lun répertoire précédemment choisi. Bref, j'ai installé ce truc environ une dizaine de fois sans problèmes sur 3 versions différentes d'Ubuntu. Et là, je tombe sur une truc qui me rend fou ! Sur une machine avec une installation de Karmic tout fraiche, je veux installer ce soft comme je l'ai déjà fait: - j'ouvre une console - je vais dans le répertoire ou ce trouve les fichiers d'install - je lance le fichier d'install en lançant le fichier script : ./cib_install.sh (qui contient le script qui fait le boulot d'installation) - étape 1 : la première question demande un numéro de licence, que je lui donne (c'est le bon j'ai vérifié des tonnes de fois) - étape 2 : le script doit lancé un exécutable qui prend le numéro de licence et vérifie que tout est correcte (ligne 10 ci-dessous) voici les lignes du début du script en question : 1 #*** 2 #* Demande et controle de la cle de licence 3 #*** 4 echo 5 echo Enter license key (the license.txt file located in your CD contains the key): 6 read CARAIBES_LICENSE 7 export PATH=.:$PATH 8 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. 9 export LD_LIBRARY_PATH 10 ./license.exe $CARAIBES_LICENSE 11 12 if [ $? -ne 0 ] 13 then 14 exit 15 fi et bien l'execution me dit /license.exe fichier non trouvé, alors qu'il est bien présent dans le répertoire où je suis, qu'il a les droits d'exécution etc... Du coup l'install s'arrête t je comprends pas pourquoi. Si quelqu'un a une idée, je suis preneur. :) -- Cordialement Emmanuel Poizot Bonjour, non l'extension n'a pas d'importance, c'est de l'humour on va dire :). C'est bien un binaire Linux, et comme je l'ai dit, j'ai déjà installé l'ensemble au moins une dizaine de fois. Merci -- Cordialement Emmanuel Poizot Cnam/Intechmer B.P. 324 50103 Cherbourg Cedex Phone (Direct) : (00 33)(0)233887342 Fax : (00 33)(0)233887339 DISCLAIMER http://www.belgacom.be/maildisclaimer -- ubuntu-fr mailing list ubuntu-fr@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Re: Problème script
Le 29/01/10 10:02, Avell Diroll a écrit : est-ce une erreur de copier/coller ou le message d'erreur pointe-t-il réellement vers /license.exe (le fichier license.exe à la racine et non dans le répertoire courant) ? Oui, le problème est sûrement là. Le script est bizarre et ça ne m'étonne pas que dans certains cas cela ne fonctionne pas. Mais difficile de mettre le doigt exactement sur ce qui peut clocher. En tout cas, utiliser '.' pour signifier le répertoire courant dans un script me semble une aberration. -- Michel Leunen http://linux.leunen.com -- ubuntu-fr mailing list ubuntu-fr@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Re: Problème script
2010/1/27 Poizot Emmanuel emmanuel.poi...@cnam.fr: Si quelqu'un a une idée, je suis preneur. :) Et mon idée, ça donne quoi? Parce que je continue à penser que mettre . dans le PATH ne sert à rien. -- Michel Leunen http://linux.leunen.com -- ubuntu-fr mailing list ubuntu-fr@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Re: Problème script
Michel Leunen a écrit : 2010/1/27 Poizot Emmanuel emmanuel.poi...@cnam.fr: Si quelqu'un a une idée, je suis preneur. :) Et mon idée, ça donne quoi? Parce que je continue à penser que mettre . dans le PATH ne sert à rien. Salut, désolé, mais ça ne donne rien de mieux :( Mais c'est effectivement mieux de mettre $(pwd) à la place de . -- Cordialement Emmanuel Poizot attachment: emmanuel_poizot.vcf-- ubuntu-fr mailing list ubuntu-fr@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Re: Problème script
Le mercredi 27 janvier 2010 14:45:52, Poizot Emmanuel a écrit : Bonjour à tous, Si quelqu'un a une idée, je suis preneur. :) Bonjour, et si au lieu de lancer ton script, tu lançais directement le binaire license.exe ? En tout logique, il devrait te dire qu'il manque un paramètre et/ou que le numéro de lience est incorrect. Mais tu peux aussi récolter un autre message d'erreur qui expliquerait ton problème. A+ SW -- ubuntu-fr mailing list ubuntu-fr@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Re: Problème script
2010/1/27 Poizot Emmanuel emmanuel.poi...@cnam.fr: 7 export PATH=.:$PATH Essaie avec: export PATH=$PATH:$(pwd) Ceci dit, je ne vois pas en quoi elle est nécessaire puisque ton exécutable DOIT se trouver dans le répertoire puisque tu le lance avec ./ devant son nom. -- Michel Leunen http://linux.leunen.com -- ubuntu-fr mailing list ubuntu-fr@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Re: Problème script
Bonsoir Emmanuel! Selon le nom de l'exécutable, on est face à un programme windows et non linux... la seule façon d'exécuter un tel programme sous Ubuntu c'est avec WINE, si ce dernier n'est pas installé ça ne peut pas marcher, donc, le programme n'est pas exécutable... si WINE est installé, peut-être que l'exécutable est corrompu. N'existe t-il pas un équivalent sous Linux de ce programme? ce serait plus simple de faire des recherches en ce sens peut-être... bonne soirée! 2010/1/27, Poizot Emmanuel emmanuel.poi...@cnam.fr: Bonjour à tous, j'ai un logiciel de traitement de données spécifiques, qui s'installe à l'aide d'un script tout ce qu'il y a de plus banal. Il pose quelques questions (un numéro de licence, les chemins divers pour l'install, etc...) et décompresse des fichiers zippé dans lun répertoire précédemment choisi. Bref, j'ai installé ce truc environ une dizaine de fois sans problèmes sur 3 versions différentes d'Ubuntu. Et là, je tombe sur une truc qui me rend fou ! Sur une machine avec une installation de Karmic tout fraiche, je veux installer ce soft comme je l'ai déjà fait: - j'ouvre une console - je vais dans le répertoire ou ce trouve les fichiers d'install - je lance le fichier d'install en lançant le fichier script : ./cib_install.sh (qui contient le script qui fait le boulot d'installation) - étape 1 : la première question demande un numéro de licence, que je lui donne (c'est le bon j'ai vérifié des tonnes de fois) - étape 2 : le script doit lancé un exécutable qui prend le numéro de licence et vérifie que tout est correcte (ligne 10 ci-dessous) voici les lignes du début du script en question : 1 #*** 2 #* Demande et controle de la cle de licence 3 #*** 4 echo 5 echo Enter license key (the license.txt file located in your CD contains the key): 6 read CARAIBES_LICENSE 7 export PATH=.:$PATH 8 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. 9 export LD_LIBRARY_PATH 10 ./license.exe $CARAIBES_LICENSE 11 12 if [ $? -ne 0 ] 13 then 14 exit 15 fi et bien l'execution me dit /license.exe fichier non trouvé, alors qu'il est bien présent dans le répertoire où je suis, qu'il a les droits d'exécution etc... Du coup l'install s'arrête t je comprends pas pourquoi. Si quelqu'un a une idée, je suis preneur. :) -- Cordialement Emmanuel Poizot -- ubuntu-fr mailing list ubuntu-fr@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr
Re: Problème script
Steve Nadeau a écrit : Bonsoir Emmanuel! Selon le nom de l'exécutable, on est face à un programme windows et non linux... la seule façon d'exécuter un tel programme sous Ubuntu c'est avec WINE, si ce dernier n'est pas installé ça ne peut pas marcher, donc, le programme n'est pas exécutable... si WINE est installé, peut-être que l'exécutable est corrompu. N'existe t-il pas un équivalent sous Linux de ce programme? ce serait plus simple de faire des recherches en ce sens peut-être... bonne soirée! 2010/1/27, Poizot Emmanuel emmanuel.poi...@cnam.fr: Bonjour à tous, j'ai un logiciel de traitement de données spécifiques, qui s'installe à l'aide d'un script tout ce qu'il y a de plus banal. Il pose quelques questions (un numéro de licence, les chemins divers pour l'install, etc...) et décompresse des fichiers zippé dans lun répertoire précédemment choisi. Bref, j'ai installé ce truc environ une dizaine de fois sans problèmes sur 3 versions différentes d'Ubuntu. Et là, je tombe sur une truc qui me rend fou ! Sur une machine avec une installation de Karmic tout fraiche, je veux installer ce soft comme je l'ai déjà fait: - j'ouvre une console - je vais dans le répertoire ou ce trouve les fichiers d'install - je lance le fichier d'install en lançant le fichier script : ./cib_install.sh (qui contient le script qui fait le boulot d'installation) - étape 1 : la première question demande un numéro de licence, que je lui donne (c'est le bon j'ai vérifié des tonnes de fois) - étape 2 : le script doit lancé un exécutable qui prend le numéro de licence et vérifie que tout est correcte (ligne 10 ci-dessous) voici les lignes du début du script en question : 1 #*** 2 #* Demande et controle de la cle de licence 3 #*** 4 echo 5 echo Enter license key (the license.txt file located in your CD contains the key): 6 read CARAIBES_LICENSE 7 export PATH=.:$PATH 8 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:. 9 export LD_LIBRARY_PATH 10 ./license.exe $CARAIBES_LICENSE 11 12 if [ $? -ne 0 ] 13 then 14 exit 15 fi et bien l'execution me dit /license.exe fichier non trouvé, alors qu'il est bien présent dans le répertoire où je suis, qu'il a les droits d'exécution etc... Du coup l'install s'arrête t je comprends pas pourquoi. Si quelqu'un a une idée, je suis preneur. :) -- Cordialement Emmanuel Poizot Bonjour, non l'extension n'a pas d'importance, c'est de l'humour on va dire :). C'est bien un binaire Linux, et comme je l'ai dit, j'ai déjà installé l'ensemble au moins une dizaine de fois. Merci -- Cordialement Emmanuel Poizot Cnam/Intechmer B.P. 324 50103 Cherbourg Cedex Phone (Direct) : (00 33)(0)233887342 Fax : (00 33)(0)233887339 attachment: emmanuel_poizot.vcf-- ubuntu-fr mailing list ubuntu-fr@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-fr