Vous n'êtes pas identifié(e).
Futur nouvel inscrit, tu dois au préalable lire l'intégralité des 10 articles des règles, s'il te plaît. Tout nouveau compte qui ne respecte pas les règles sera supprimé par l'administration.
Pages : 1
Bonjour,
Probablement encore un problème de béotien.
Via download _and_compile j'ai compilé TERRAGEAR et TERRAGEARGUI. Tout s'est bien passé et les dossiers (terragear, terrageargui) ont été crées ainsi que dans install l'arborescence terrageargui/bin/TerraGUI. Au lancement du script run_terrageargui.sh (après un chmod) j'ai le message TerraGUI not found alors qu'il est bien présent et non vide. Au lancement directement dans bin par ./TerraGUI il ne se passe rien et il me faut tuer le process.
J'ai donc oublié quelque chose.
Merci pour vos commentaires.
Mb Asus Tuf Z390-plus Gaming, Core I9-9900kf, Ram 32 Gb, Cg Nvidia Rtx 3070, Ssd 1 Tb, Hdd 2tb, W11 Home
Dell ALienware 15R3, Core i7-6700hq, Ram 32 gb, Cg Nvidia gtx 1060, SSD 500 gb, HDD 1 tb, linux lmint 21.2
Hors ligne
salut GR,
je ne connais pas TerraGear, mais les erreurs que tu reportes me font directement penser à la variable d'environnement PATH. C'est une variable d'environnement commune à tous les shells (en tout cas les plus répandus, un peu comme HOME). Cette variable contient une liste de répertoires séparé par ":", le shell va chercher successivement dans chacun de ces répertoires s'il trouve un fichier avec le bit d'exécution, et si c'est le cas paf! il le lance (et arrête sa recherche bien entendu). le fichier TerraGUI ne doit pas être dans un répertoire listé dans PATH.
En général PATH contient les répertoires courants où se trouvent les binaires système et installé niveau système par un utilisateur (local):
echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/games:/usr/sbin:/usr/sbin
Chaque distribution a sa politique pour y mettre des chemins autres
Pour ton soucis, plusieurs solutions: mais je t'en explique deux ici:
- soit tu modifies PATH et tu lances
PATH=/ton/chemin/vers/terrageargui/bin:$PATH ./run_terrageargui.sh
cette façon ça permet de ne modifier la variable PATH que pour la commande. Si c'est bon tu peux ajouter directement cette modif' dans la config de ton shell d'utilisateur pour rendre permament la modif, ou créer un alias juste pour TerraGear. Au passage un bon test est de faire comme suit:
PATH+=:/ton/chemin/vers/terrageargui/bin which TerraGUI
(à noter que cette notation "+=" n'est pas POSIX)
- soit tu modifies le script run_terrageargui.sh pour mettre la variable PATH en début de script avec le chemin kivabien dedans (même syntaxe qu'au dessus)
Si tu lances ./TerraGUI «à nu» et que cela ne mène pas au résultat attendu c'est probablement parce que le script initialise des variables d'environnement spécifiques (chemin vers des bibliothèques compilées par d&c.sh par exemple)
[edit]un peu plus d'explications pour les béotiens [/edit]
hope this helps
@+
bons vols
zakh
Dernière modification par zakharov (16/04/2023 10:37:44)
le zkv1000
Debian Bookworm sur i7-9750H, 16G, NV GeForce GTX 1660 Ti MaxQ 6Go
FG next compilé à la mano
Joystick TM T. Stick X avec fichier de conf perso
Hors ligne
Bonjour,
Merci pour tes explications. Les variables d'environnement FG sont normalement gérées automatiquement. En fait je ne m'en suis jamais soucié et tout marche bien jusqu'à mon essai avec TerraGUI. Si j'édite le PATH j'ai un résultat que je ne comprends pas
gerard@gerard-Alienware-15-R3:~$ $PATH
bash: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin: No such file or directory
Si je lance directement TerraGUI j'ai le résultat suivant
gerard@gerard-Alienware-15-R3:~/fgfs-dev$ ls
build download_and_compile.sh.bck install run_fgfs.sh run_ogr-decode.sh simgear
compilation_log.txt fg-launch run_fgcom.sh run_genapts850.sh run_terrageargui.sh terragear
download_and_compile.sh flightgear run_fgfs_debug.sh run_ldd.sh run_tg-construct.sh terrageargui
gerard@gerard-Alienware-15-R3:~/fgfs-dev$ cd install/terrageargui/bin
gerard@gerard-Alienware-15-R3:~/fgfs-dev/install/terrageargui/bin$ ls
TerraGUI
gerard@gerard-Alienware-15-R3:~/fgfs-dev/install/terrageargui/bin$ ./TerraGUI
^Z
[1]+ Stopped ./TerraGUI
gerard@gerard-Alienware-15-R3:~/fgfs-dev/install/terrageargui/bin$
Le résultat est le même en lancant le script initial ou modifié.
Donc je patauge.
Merci encore
Bien cordialement
Mb Asus Tuf Z390-plus Gaming, Core I9-9900kf, Ram 32 Gb, Cg Nvidia Rtx 3070, Ssd 1 Tb, Hdd 2tb, W11 Home
Dell ALienware 15R3, Core i7-6700hq, Ram 32 gb, Cg Nvidia gtx 1060, SSD 500 gb, HDD 1 tb, linux lmint 21.2
Hors ligne
Bonjour GR, bonjour zakharov,
(chapeau, zakharov, pour la richesse de tes réponses )
Questions, embryon de réponse (??) de la part d'un autre béotien :
GR a compilé TERRAGEAR et TERRAGEARGUI via download _and_compile
En général PATH contient les répertoires courants où se trouvent les binaires système et installé niveau système par un utilisateur (local)
Pour moi, l'installation par d&c n'est pas faite au niveau système, mais au niveau utilisateur.
D'autre part, quid d'un lancement simplement comme
(en se plaçant dans le répertoire contenant run_terrageargui.sh)
./run_terrageargui.sh
(à moins que ce ne soit déjà la manière de lancer par GR ? C'est celle qui est a priori évidente. En particulier pour ./run_fgfs.sh)
Si c'est moi qui n'ai pas compris, pardon pour le dérangement...
FG 2020.4.0, Linux Mint 20.3, Intel Core i7-11700F @ 2.50GHz, RAM 32 GB DDR4, NVIDIA GeForce RTX 3060 (12 GB)
Boeing 787-8 (YASim, avec nickyivyca, aco)
Hangar avions Patten (PAF) Robin DR400 JSBSim, Douglas DC3 JSBSim, CAP10B, Tecnam P92 JSBSim.
Hors ligne
Bonjour,
C'est effectivement la première chose que j'ai fait (./run_terrageargui.sh depuis la localisation de ce script). D'où mes questions ensuite car cela ne mène à rien sans aucun message d'erreur. Tout se passe comme si TerraGUI était en attente de quelque chose. Je ne sais pas de quoi d'où un CTRL Z.
Bien cordialement
PS Dans les quelques lignes sur terragui il est spécifié qu'un dossier terragear devait être présent, ce dossier contenant les répertoires build et share. En fait après d&c 3 dossiers terragear ont été crées:
1- dans le répertoire de FG (fgfs-dev chez moi);
2- dans fgfs-dev/build;
3- dans fgfs-dev/install.
Les dossiers bin et share sont présents dans fgfs-dev/install/terragear
Dernière modification par GR (16/04/2023 14:42:31)
Mb Asus Tuf Z390-plus Gaming, Core I9-9900kf, Ram 32 Gb, Cg Nvidia Rtx 3070, Ssd 1 Tb, Hdd 2tb, W11 Home
Dell ALienware 15R3, Core i7-6700hq, Ram 32 gb, Cg Nvidia gtx 1060, SSD 500 gb, HDD 1 tb, linux lmint 21.2
Hors ligne
salut dany93 et GR
Si j'édite le PATH j'ai un résultat que je ne comprends pas
gerard@gerard-Alienware-15-R3:~$ $PATH
bash: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin: No such file or directory
là tu "n'édites" pas la variable d'environnement PATH, tu demandes au shell d'exécuter la commande
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
qui bien sûr n'existe pas.
En bash (ça a l'air d'être le shell utilisé), l'affectation d'une valeur à une variable se fait par
nom_de_la_variable=valeur
sans espace autour du signe =, l'accès au contenu de la variable se fait en préfixant le nom de la variable du signe $ (ou en entourant le nom de la variable par ${ et }:
echo $PATH
echo ${PATH}
il y a tellement d'autres choses à dire dessus mais la page de man est un lieu plus approprié qu'ici pour le détail.
si tu affectes une valeur à une variable (au hasard... PATH) directement suivie sur la même ligne de commande (sans séparateur genre &, | ou ; ) la valeur n'aura d'existence que lors de l'exécution de la commande, d'où l'idée de modifier PATH en lui ajoutant le chemin dans lequel se trouvent les binaires compilés par tes soins de TerraGear (j'insiste bien sur l'ajout sinon tu vas encore avoir plus de problèmes puisqu'il ne trouveras plus rien des outils essentiels ). Comme le rappelle Dany, d&c.sh (que je ne connais pas non plus autre que par bonne réputation) ne va pas installer des choses dans les chemins du système (/usr/...), donc ton shell ne sait pas où se trouve le binaire exécutable TerraGUI, il faut le lui dire, il ne va pas l'inventer tout seul.
Lorsqu'on écrit
PATH=$HOME/fgfs-dev/install/terrageargui/bin:$PATH ~/fgfs-dev/run_terrageargui.sh
tu dis au shell:
1- ajoute-moi le chemin $HOME/fgfs-dev/install/terrageargui/bin dans la variable PATH
2- exécute-moi le script ~/fgfs-dev/run_terrageargui.sh avec le contenu de PATH que je viens de modifier, lorsque bash va chercher où se trouve TerraGUI il va regarder si $HOME/fgfs-dev/install/terrageargui/bin/TerraGUI existe, twingo! donc il lance son exécution
3- à la fin du script, tu oublies cette modif de PATH, et tu remets l'ancienne valeur (bon c'est pas tout à fait ça, mais le résultat est le même c'est pour mieux expliquer)
Autre chose, ctrl-Z que tu utilises n'arrête pas vraiment le processus, ça ne le tue pas, ça le met en pause, tu peux revenir ensuite dessus avec la commande fg (pareil, page de man)
Pour envoyer le signal de terminaison c'est ctrl-C
@+
bons vols
zakh
Dernière modification par zakharov (16/04/2023 16:24:41)
le zkv1000
Debian Bookworm sur i7-9750H, 16G, NV GeForce GTX 1660 Ti MaxQ 6Go
FG next compilé à la mano
Joystick TM T. Stick X avec fichier de conf perso
Hors ligne
Bonjour,
Merci pour ce sacré rafraichissement de notions de base que j'ai pratiqué il y a bien longtemps. Néanmoins je ne comprends pas pourquoi l'exécution de TerraGUI suivant la commande que tu proposes conduit à une impasse :
gerard@gerard-Alienware-15-R3:~/fgfs-dev$ ls
build download_and_compile.sh.bck install run_fgfs.sh run_ogr-decode.sh simgear
compilation_log.txt fg-launch run_fgcom.sh run_genapts850.sh run_terrageargui.sh terragear
download_and_compile.sh flightgear run_fgfs_debug.sh run_ldd.sh run_tg-construct.sh terrageargui
gerard@gerard-Alienware-15-R3:~/fgfs-dev$ cd install/terrageargui/bin
gerard@gerard-Alienware-15-R3:~/fgfs-dev/install/terrageargui/bin$ ls
TerraGUI
gerard@gerard-Alienware-15-R3:~/fgfs-dev/install/terrageargui/bin$ PATH=$HOME/fgfs-dev/install/terrageargui/bin:$PATH ~/fgfs-dev/run_terrageargui.sh
/home/gerard/fgfs-dev/run_terrageargui.sh: 3: cd: can't cd to /terrageargui/bin
^C
Avec l'exécution directe c'est toujours l'impasse
gerard@gerard-Alienware-15-R3:~$ cd fgfs-dev/install/terrageargui/bin
gerard@gerard-Alienware-15-R3:~/fgfs-dev/install/terrageargui/bin$ ls
TerraGUI
gerard@gerard-Alienware-15-R3:~/fgfs-dev/install/terrageargui/bin$ ./TerraGUI
^C
Merci encore pour cette revision des fondamentaux.
Bien cordialement
Mb Asus Tuf Z390-plus Gaming, Core I9-9900kf, Ram 32 Gb, Cg Nvidia Rtx 3070, Ssd 1 Tb, Hdd 2tb, W11 Home
Dell ALienware 15R3, Core i7-6700hq, Ram 32 gb, Cg Nvidia gtx 1060, SSD 500 gb, HDD 1 tb, linux lmint 21.2
Hors ligne
@GR,
(Une idée qui vaut ce qu'elle vaut, un peu à l'aveuglette)
Il y a une différence de comportement évidente entre lancer :
./run_fgfs.sh
(qui fonctionne, charge des bibliothèques et exécute ./fgfs)
et
./run_terrageargui.sh
(qui ne trouve pas TerraGUI)
./run_fgfs.sh contient un script (que je ne comprends que très approximativement... )
Que contient ./run_terrageargui.sh ?
La comparaison pourrait peut-être orienter ta (votre) réflexion.
FG 2020.4.0, Linux Mint 20.3, Intel Core i7-11700F @ 2.50GHz, RAM 32 GB DDR4, NVIDIA GeForce RTX 3060 (12 GB)
Boeing 787-8 (YASim, avec nickyivyca, aco)
Hangar avions Patten (PAF) Robin DR400 JSBSim, Douglas DC3 JSBSim, CAP10B, Tecnam P92 JSBSim.
Hors ligne
Je suis allé voir ce que faisait le fameux script run_terrageargui.sh, pour ça rien de tel que d'aller voir comment il a été créé, ça se passe aux lignes 1996 à 2004 de download_and_compile.sh.
On y lit
SCRIPT=run_terrageargui.sh
_log "Creating $SCRIPT"
cat >"$SCRIPT" <<EndOfScriptText
#! /bin/sh
${set_ld_library_path}
cd "\$d/$TGGUI_INSTALL_DIR/bin"
exec ./TerraGUI "\$@"
EndOfScriptText
chmod 755 "$SCRIPT"
donc j'imagine que ton script doit avoir un $d/terrageargui/bin mais que la variable d est vide, donc sh est gentil il fait ce qu'on lui demande, ici c'est d'aller se promener dans le répertoire /terrageargui/bin qui n'existe pas... normal qu'il ronchonne
je n'ai trouvé dans d&c.sh qu'une seule référence à une affectation à cette variable d, c'est à la ligne 1602, mais rien à voir avec la choucroute.
Ce que je peux te conseiller: tu modifies ta ligne
cd $d/terrageargui/bin
en
cd ~/fgfs-dev/install/terrageargui/bin
et si tu as une ligne du genre
LD_LIBRARY_PATH=/des/chemins/vers/sg:/des/chemins/vers/terragear
ça devrait rouler.
@+
bons vols
zakh
le zkv1000
Debian Bookworm sur i7-9750H, 16G, NV GeForce GTX 1660 Ti MaxQ 6Go
FG next compilé à la mano
Joystick TM T. Stick X avec fichier de conf perso
Hors ligne
Bonjour,
J'avais déjà essayé de faire cette modification dans le script, mais sans résultat car il s'agit alors quasiment de la même configuration qu'une exécution directe de TerraGUI dans son répertoire.
La définition des variables d'environnement permettant à terrageargui de savoir où sont les librairies de SIMGEAR et TERRAGEAR devrait alors régler le problème ? Je pensais toutefois que ceci aurait pu (et dû) être fait par d&c ces 2 items ayant été crées en amont de TERRAGEARGUI lui aussi généré par d&c.
Il est encore vérifié que seuls les problèmes sont formateurs.
Bien cordialement
Nota : J'avais déjà créé et utilisé FG 2020.4 via d&c. Ensuite voulant m'initier à TERRAGEAR j'ai relancé d&c en demandant la seule compilation de SIMGEAR et TERRAGEAR. Puis réalisant qu'il existait une interface graphique TERRAGEARGUI j'ai relancé d&c avec les 3 items (peut être aurait il suffit de ne relancer d&c qu'avec TERRAGEARGUI)
Mb Asus Tuf Z390-plus Gaming, Core I9-9900kf, Ram 32 Gb, Cg Nvidia Rtx 3070, Ssd 1 Tb, Hdd 2tb, W11 Home
Dell ALienware 15R3, Core i7-6700hq, Ram 32 gb, Cg Nvidia gtx 1060, SSD 500 gb, HDD 1 tb, linux lmint 21.2
Hors ligne
Bonjour,
une éternité qu je n'avais compilé/utilisé terragear/terrageargui. J'attendais l'arlésienne Ws3...
Ici sous lm21.1 rien ne fonctionne. Bon, ça n'a jamais "collé" du premier coup.
Bizarre que tu sois arrivé aux "bin" de terrageargui, ici d&c réclame "libqt4-dev", introuvable puisque lm21 vient avec qt5.
As tu réussi a contourner le truc?
Terragear semble ok, les 14 binaires sont bien créés.
On peut se passer de terrageargui, qui n'est qu'une interface graphique qui parfois crée plus de confusion que d'aide...
Si ça peut aider:
https://wiki.flightgear.org/Using_TerraGear
https://wiki.flightgear.org/Howto:Use_T … l_yourself
ps: le script "run_terrageargui" semble avoir pris un coup dans l'aile":
#! /bin/sh
cd "$d/terrageargui/bin"
exec ./TerraGUI "$@"
J'ai retrouvé une ancienne version qui est plus réaliste:
#!/bin/sh
cd $(dirname $0)
cd install/terrageargui/bin
export LD_LIBRARY_PATH=/home/<user>/.../install/simgear/lib
./TerraGUI $@
Chemin LD_LIBRARY_PATH à ajuster...
Intel i5-9400F, 16Go Ram, Nvidia GTX1660Ti, Linux Mint
Hors ligne
Bonjour à tous,
Mes derniers essais n'ayant rien donné j'ai essayé autre chose. J'ai alors complètement supprimé le terrageargui issu de d&c et ai suivi les indications du wiki TerraGear_GUI. Le résultat est le même que précèdemment
gerard@gerard-Alienware-15-R3:~/fgfs-dev$ git clone git://git.code.sf.net/p/flightgear/fgscenery/terrageargui
Cloning into 'terrageargui'...
remote: Enumerating objects: 754, done.
remote: Counting objects: 100% (754/754), done.
remote: Compressing objects: 100% (244/244), done.
remote: Total 754 (delta 526), reused 729 (delta 508)
Receiving objects: 100% (754/754), 313.36 KiB | 549.00 KiB/s, done.
Resolving deltas: 100% (526/526), done.
gerard@gerard-Alienware-15-R3:~/fgfs-dev$ ls
build fg-launch run_fgfs_debug.sh run_ogr-decode.sh terrageargui
compilation_log.txt flightgear run_fgfs.sh run_tg-construct.sh
download_and_compile.sh install run_genapts850.sh simgear
download_and_compile.sh.bck run_fgcom.sh run_ldd.sh terragear
gerard@gerard-Alienware-15-R3:~/fgfs-dev$ cd terrageargui
gerard@gerard-Alienware-15-R3:~/fgfs-dev/terrageargui$ mkdir build && cd build
gerard@gerard-Alienware-15-R3:~/fgfs-dev/terrageargui/build$ qmake-qt4 ..
gerard@gerard-Alienware-15-R3:~/fgfs-dev/terrageargui/build$ make
/usr/lib/x86_64-linux-gnu/qt4/bin/uic ../src/mainwindow.ui -o ui_mainwindow.h
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_XMLPATTERNS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I../../terrageargui -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtNetwork -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtXmlPatterns -I/usr/include/qt4 -Itmp -I. -I../../terrageargui -I. -o obj/main.o ../src/main.cpp
.
.
/usr/include/qt4/QtGui/qstyleoption.h:878:5: note: because ‘QStyleOptionGraphicsItem’ has user-provided ‘QStyleOptionGraphicsItem::QStyleOptionGraphicsItem(const QStyleOptionGraphicsItem&)’
878 | QStyleOptionGraphicsItem(const QStyleOptionGraphicsItem &other) : QStyleOption(Version, Type) { *this = other; }
| ^~~~~~~~~~~~~~~~~~~~~~~~
g++ -m64 -Wl,-O1 -o TerraGUI obj/main.o obj/mainwindow.o obj/newbucket.o obj/tggui_utils.o obj/curve.o obj/geometry.o obj/imagemanager.o obj/layer.o obj/layermanager.o obj/linestring.o obj/mapadapter.o obj/mapcontrol.o obj/mapnetwork.o obj/point.o obj/tilemapadapter.o obj/osmmapadapter.o obj/maplayer.o obj/geometrylayer.o obj/wmsmapadapter.o obj/moc_mainwindow.o obj/moc_curve.o obj/moc_geometry.o obj/moc_imagemanager.o obj/moc_layer.o obj/moc_layermanager.o obj/moc_linestring.o obj/moc_mapadapter.o obj/moc_mapcontrol.o obj/moc_mapnetwork.o obj/moc_point.o obj/moc_tilemapadapter.o obj/moc_osmmapadapter.o obj/moc_maplayer.o obj/moc_geometrylayer.o -L/usr/lib/x86_64-linux-gnu -lQtXmlPatterns -lQtGui -lQtNetwork -lQtCore -lpthread
gerard@gerard-Alienware-15-R3:~/fgfs-dev/terrageargui/build$ ls
Makefile obj TerraGUI tmp ui_mainwindow.h
gerard@gerard-Alienware-15-R3:~/fgfs-dev/terrageargui/build$ ./TerraGUIterr
^C
gerard@gerard-Alienware-15-R3:~/fgfs-dev/terrageargui/build$
Lors de mes premiers essais avec cette méthode j'avais effectivement le problème de QT4. J'ai alors essayé avec d&c et ai encore eu ce problème QT4. Mon d&c n'étant pas à jour j'ai récupéré le dernier et le problème QT4 a disparu.
Je vais reprendre avec d&c en corrigeant mon erreur sur ld_library_path (le chemin fourni s'arrêtait à simgear).
Merci encore.
Bien cordialement
PS Résultat de la reprise de la création TerraGUI via d&c. Le script run_terrageargui.sh est celui proposé:
#! /bin/sh
cd $(dirname $0)
cd install/terrageargui/bin
export LD_LIBRARY_PATH=/home/gerard/fgfs-dev/install/simgear/lib:/home/gerard/fgfs-dev/install/terragear/lib
./TerraGUI $@
#cd "$d/terrageargui/bin"
#exec ./TerraGUI "$@"
Il n'y a pas de changement dans le résultat (il ne se passe rien);
gerard@gerard-Alienware-15-R3:~/fgfs-dev$ ./run_terrageargui.sh
^C
Dernière modification par GR (17/04/2023 17:09:16)
Mb Asus Tuf Z390-plus Gaming, Core I9-9900kf, Ram 32 Gb, Cg Nvidia Rtx 3070, Ssd 1 Tb, Hdd 2tb, W11 Home
Dell ALienware 15R3, Core i7-6700hq, Ram 32 gb, Cg Nvidia gtx 1060, SSD 500 gb, HDD 1 tb, linux lmint 21.2
Hors ligne
Pages : 1