Bonjour à tous,
nouveau sur linux (Debian 8, Jessie 64 bits) je rencontre un problème d'exécution d'un programme conçu via tcl/tk qui est peut être lié à une version de tcl.
Je m'explique :
On me donne tous les binaire d'un exécutable que j'exécute avec la commande suivante :
./IMENE
J'ai des erreurs qui apparaissent :
ERROR at IMENE.c line 5: couldn't read file "~/.imenerc": no such file or directory
ERROR at IMENE.c line 6: can't read "IMENE_DIR": no such variable
ERROR at global.tcl line 24: can't read "IMENE_DIR": no such variable
Mais qui n'empèche néanmoins pas d'ouvrir l'interface graphique de l'exécutable conçue via tcl/tk (NB : j'ai exécuté un "chmod a+rwx *" dans le répertoire "~/" le temps de comprendre mon pb).
Ceci étant, j'ai des problèmes d'affichage de caractères de texte (peut être lié aux messages d'erreurs obtenus dans mon terminal ?). Typiquement les caractères accentués ne s'affichent pas correctement. Typiquement, un "é" sera changé en "A majuscule" avec un "Accent tilde" suivi du symbole "copyright".
L'interface graphique s'ouvre donc, mais dans les faits, je ne peux guêre aller vraiment plus loin : dès lors que je lance le 1er menu de l'application, j'ai une fenêtre graphique qui s'ouvre (ie, pas dans un terminal) me listant les erreurs suivantes :
can't read "font_symbol": no such variable
can't read "font_symbol": no such variable
while executing
"label $fen.l2 -font $font_symbol -text "<""
(procedure "le" line 14)
invoked from within
"le $w.fr2.f2.label2 "" -text [expr $momax+1]"
(procedure "fenparam" line 35)
invoked from within
"fenparam "
(procedure "tkinit" line 3)
invoked from within
"tkinit"
invoked from within
".menu.travail.m invoke active"
("uplevel" body line 1)
invoked from within
"uplevel #0 [list $w invoke active]"
(procedure "tk::MenuInvoke" line 50)
invoked from within
"tk::MenuInvoke .menu.travail.m 1"
(command bound to event)
m'étant renseigné un peu sur ces messages d'erreurs, je crois comprendre qu'il s'agit d'une erreur tk.
De toute évidence il semblerait d'ailleurs que ces erreurs tk soit en rapport direct avec mon problème de font dans mon affichage graphique.
Mais je ne comprends rien de plus là-dessus.
La personne qui m'a livré tous les binaires m'a certifié que le programme s'exécute sans aucun pb dans son environnement (souche 'Calibre 7', qui dérive d'une base
Debian 64 bits mais je reconnais que je ne vois pas de quoi il s'agit) et me dit que l'application tourne pour lui avec la version 8.4 de tcl.
Je regarde pour ma part ce qu'il en est de mon côté :
tclsh
puis :
put $tcl_version
qui me retourne :
8.6
Je regarde alors les "releases notes" des versions 8.5 et 8.6 de tcl où je crois comprendre qu'elles sont apparemment très hautement retro-compatibles.
Dans le doute néanmoins, je tente de downgrader ma version de tcl à la version 8.4.
Pour se faire, je télécharge les binaires de la 8.4 (
http://www.tcl.tk/software/tcltk/download84.html) et suis les procédures de compilation de la version (
http://www.tcl.tk/doc/howto/compile.html).
J'exécute la commande :
cd tcl8.4.0/unix
configure --prefix=/usr/local
make
make test
make install
je reexcute la commande tclsh, puis, la commande me permettant de connaitre ma version d'installation qui me retourne toujours 8.6.
Je recherche alors où est installé ma version 8.6 (usr/bin/tcl8.6) et son "lien vers application" (/usr/bin/tclsh).
D'où mes questions :
1) Comment régler ma liste de message d'erreurs à l'ouverture de mon application ?
2) Comment modifier le lien vers application "tclsh" pour que celui pointe non pas vers "tcl8.6" mais vers "tcl8.4" ?
Merci beaucoup pour votre aide,
Benjamin.