Discussion:
Installation et utilisation de GtkAda sur debian
(trop ancien pour répondre)
JFD
2023-01-21 22:53:37 UTC
Permalink
Bonjour à tous,

Je tente d’utiliser sur linux debian (Debian 5.10.158-2) gtkada (),
avec Gnat Studio (20210423)

Le programme affiche une simple fenêtre, c’est un exemple que j’ai
trouvé dans les tutos :
WITH Gtk.Main ; USE Gtk.Main ;
WITH Gtk.Window ; USE Gtk.Window ;
PROCEDURE Test01 IS
win : Gtk_window ;
BEGIN
Init ;
Gtk_New(Win) ;
Win.show_all ;
Main ;
END Test01 ;

Le résultat :
Output saved in /home/jfd/Temp/developpement/ada/test_w/obj/messages.txt
gprbuild -d -P/home/jfd/Temp/developpement/ada/test_w/test_w.gpr
/home/jfd/Temp/developpement/ada/test_w/src/test_w.adb
Bind
[gprbind] test_w.bexch
[Ada] test_w.ali
Link
[link] test_w.adb
/opt/gnatstudio/bin/../libexec/gcc/x86_64-pc-linux-gnu/10.3.1/ld: cannot
find -lgcc_s
collect2: error: ld returned 1 exit status
gprbuild: link of test_w.adb failed



J’ai positionné les variables d’environnement :
prefix="/usr/gtkada/gtk-bin";
GPR_PROJECT_PATH="$prefix/lib64";
LD_LIBRARY_PATH="$prefix/lib64:/usr/lib/x86_64-linux-gnu";
PKG_CONFIG_PATH="$prefix/lib64/pkgconfig:/usr/lib/pkgconfig:";
PKG_CONFIG_PATH="$PKG_CONFIG_PATH/usr/share/pkgconfig:";
PKG_CONFIG_PATH="$PKG_CONFIG_PATH/usr/lib/x86_64-linux-gnu/pkgconfig";
GDK_PIXBUF_MODULE_FILE="$prefix/lib64/gdk-pixbuf-2.0/2.10.0/loaders.cache";
GDK_PIXBUF_MODULEDIR="$prefix/lib64/gdk-pixbuf-2.0/2.10.0/loaders/";
FONTCONFIG_FILE="$prefix/etc/fonts/fonts.conf";
XDG_DATA_DIRS="$prefix/share";
XDG_CONFIG_DIRS="$prefix/etc";
GSETTINGS_BACKEND=memory;
GLADE_BASE_DIR=\"$prefix\";

export PATH GPR_PROJECT_PATH;
export LD_LIBRARY_PATH;
export PKG_CONFIG_PATH;
export GDK_PIXBUF_MODULEDIR;
export GDK_PIXBUF_MODULE_FILE;
export FONTCONFIG_FILE XDG_DATA_DIRS;
export GLADE_BASE_DIR;
export GSETTINGS_BACKEND;
DrPi
2023-01-22 13:52:01 UTC
Permalink
Bonjour,
Post by JFD
Bonjour à tous,
Je tente d’utiliser sur linux debian (Debian 5.10.158-2) gtkada (), avec
Gnat Studio (20210423)
...
Link
   [link]         test_w.adb
/opt/gnatstudio/bin/../libexec/gcc/x86_64-pc-linux-gnu/10.3.1/ld: cannot
find -lgcc_s
collect2: error: ld returned 1 exit status
gprbuild: link of test_w.adb failed
...
prefix="/usr/gtkada/gtk-bin";
...
export LD_LIBRARY_PATH;
...
Après une recherche rapide sur le net, il semblerait que ce problème ne
soit pas lié à Ada. Ni à Gtk.

Ce problème est discuté ici (entre autres) :
https://askubuntu.com/questions/346377/cannot-find-lgcc-s

Il s'agirait donc d'un problème de configuration de l'OS.

Sinon, pourquoi ne pas essayer Alire ?

Nicolas
JFD
2023-02-03 23:19:42 UTC
Permalink
Bonsoir, merci pour votre réponse
J'ai relancé la procédure de configuration qui a supprimé mon problème
/opt/gnatstudio/bin/../libexec/gcc/x86_64-pc-linux-gnu/10.3.1/ld:
/home/jfd/Temp/developpement/ada/test_w/obj/gtk-widget.o: in function
`gtk__widget__add_device_events':
gtk-widget.adb:(.text+0x225a): undefined reference to
`gtk_widget_add_device_events'
/opt/gnatstudio/bin/../libexec/gcc/x86_64-pc-linux-gnu/10.3.1/ld:
/home/jfd/Temp/developpement/ada/test_w/obj/gtk-window.o: in function
`gtk__window__initialize':
gtk-window.adb:(.text+0x149b): undefined reference to `gtk_window_new'
/opt/gnatstudio/bin/../libexec/gcc/x86_64-pc-linux-gnu/10.3.1/ld:
/home/jfd/Temp/developpement/ada/test_w/obj/gtk-main.o: in function
`gtk__main__init_check':
gtk-main.adb:(.text+0x25): undefined reference to `gtk_init_check'
/opt/gnatstudio/bin/../libexec/gcc/x86_64-pc-linux-gnu/10.3.1/ld:
misc.c:(.text+0x155c): undefined reference to `g_value_set_schar'

ce qui empêche l'édition des liens de mon programme Ada
Il doit encore me manquer quelque chose dans ma config de gtkada

pour la sujétion sur alire j’ouvrirais un autre poste un peu plus tard.

Merci de votre aide
Post by DrPi
Bonjour,
Post by JFD
Bonjour à tous,
Je tente d’utiliser sur linux debian (Debian 5.10.158-2) gtkada (),
avec Gnat Studio (20210423)
...
Link
    [link]         test_w.adb
cannot find -lgcc_s
collect2: error: ld returned 1 exit status
gprbuild: link of test_w.adb failed
...
prefix="/usr/gtkada/gtk-bin";
...
export LD_LIBRARY_PATH;
...
Après une recherche rapide sur le net, il semblerait que ce problème ne
soit pas lié à Ada. Ni à Gtk.
https://askubuntu.com/questions/346377/cannot-find-lgcc-s
Il s'agirait donc d'un problème de configuration de l'OS.
Sinon, pourquoi ne pas essayer Alire ?
Nicolas
DrPi
2023-02-04 22:04:15 UTC
Permalink
Post by JFD
Bonsoir, merci pour votre réponse
J'ai relancé la procédure de configuration qui a supprimé mon problème
/home/jfd/Temp/developpement/ada/test_w/obj/gtk-widget.o: in function
gtk-widget.adb:(.text+0x225a): undefined reference to
`gtk_widget_add_device_events'
/home/jfd/Temp/developpement/ada/test_w/obj/gtk-window.o: in function
gtk-window.adb:(.text+0x149b): undefined reference to `gtk_window_new'
/home/jfd/Temp/developpement/ada/test_w/obj/gtk-main.o: in function
gtk-main.adb:(.text+0x25): undefined reference to `gtk_init_check'
misc.c:(.text+0x155c): undefined reference to `g_value_set_schar'
ce qui empêche l'édition des liens de mon programme Ada
Il doit encore me manquer quelque chose dans ma config de gtkada
Les problèmes de linker laissent penser que les librairies Gtk se sont
pas trouvées. Peut-être que Gtk n'est pas installé sur la machine de dev ?

Nicolas
Post by JFD
pour la sujétion sur alire j’ouvrirais un autre poste un peu plus tard.
Merci de votre aide
Ludovic Brenta
2023-02-09 22:25:45 UTC
Permalink
Post by JFD
Bonjour à tous,
Je tente d’utiliser sur linux debian (Debian 5.10.158-2) gtkada (),
avec Gnat Studio (20210423)
[...]

Gnat Studio installe son propre compilateur qui n'est pas celui de
Debian. Tous les problèmes semblent venir d'une mauvaise installation
de Gnat Studio, de son propre compilateur et peut-être de sa propre
copie de GtkAda. Et il me semble que tes problèmes sont donc
indépendants de la distribution choisie.

As-tu essayé les paquets Debian? Gnat Studio a été enlevé de Debian
stable parce qu'il n'a pas eu assez de dix ans pour migrer de Python 2 à
Python 3. Mais il reste possible de programmer en Ada sur Debian avec
un autre IDE; ou bien en configurant Gnat Studio pour qu'il appelle
/usr/bin/gnat et /usr/bin/gprbuild plutôt que sa propre copie du
compilateur.

Avec aptitude (ou synaptic mais c'est moins bien), tu peux installer le
paquet "gnat" et voir tous les paquets qui dépendent de lui: ce sont les
bibliothèques Ada qui sont sous forme de paquet Debian;
libgtkada${version}-dev en fait partie. Tous ces paquets sont
précompilés et préconfigurés. Pour les utiliser, il suffit d'un fichier
projet (*.gpr) commençant par 'with "gtkada";'.
--
Ludovic Brenta.
Continuer la lecture sur narkive:
Loading...