Problème script
Avell Diroll
avelldiroll at gmail.com
Sam 30 Jan 18:07:52 UTC 2010
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.
Plus d'informations sur la liste de diffusion ubuntu-fr