Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Installation et utilisation de GtkAda sur debian

3 views
Skip to first unread message

JFD

unread,
Jan 21, 2023, 5:53:38 PM1/21/23
to
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

unread,
Jan 22, 2023, 8:52:04 AM1/22/23
to
Bonjour,

Le 21/01/2023 à 23:53, JFD a écrit :
> Bonjour à tous,
>
> Je tente d’utiliser sur linux debian (Debian 5.10.158-2) gtkada (), avec
> Gnat Studio (20210423)
> ... > Le résultat :
> ...
> 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";
> ...
> 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

unread,
Feb 3, 2023, 6:19:44 PM2/3/23
to
Bonsoir, merci pour votre réponse
J'ai relancé la procédure de configuration qui a supprimé mon problème
précédent et j'ai maintenant d'autres messages:

> plus de 250 dans gtk-widget.adb :
/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'

> un peu moins dans gtk-window.adb :
/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'

> pour gtk-main.adb :
/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'

> et enfin un paquet pour misc.c :
/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

DrPi

unread,
Feb 4, 2023, 5:04:17 PM2/4/23
to
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

Ludovic Brenta

unread,
Feb 9, 2023, 5:25:47 PM2/9/23
to
JFD <jean.fran...@free.fr> writes:

> 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.
0 new messages