Compiler gtk3sermo 1.0.0 (GTK 3)
Dépendances requises
# Debian, Ubuntu et dérivées
sudo apt-get install \
libgtk-3-dev libvte-2.91-dev \
flex bison \
autoconf automake \
pkg-config gcc
# Arch Linux
sudo pacman -S gtk3 vte3 flex bison autoconf automake pkgconf gcc
Compilation standard
cd gtk3sermo_1.1.4/
./autogen.sh
./configure
make -j$(nproc)
sudo make install
Options de compilation
Mode debug (active DEBUG_TRANSITS, DEBUG_CONTENT, PIP_DEBUG)
./configure --enable-debug
make -j$(nproc)
# Puis activer les messages g_debug() à l'exécution :
G_MESSAGES_DEBUG=all ./src/gtk3sermo --debug --file=mon_dialog.xml
Sans support terminal VTE
./configure --without-vte
make -j$(nproc)
Construire un paquet .deb (Debian)
Dépendances supplémentaires pour le packaging
sudo apt-get install dpkg-dev debhelper devscripts
Méthode rapide (make deb)
cd gtk3sermo_1.1.4/
./autogen.sh # génère configure
make deb # appelle dpkg-buildpackage -us -uc -b
Le paquet .deb est créé dans le répertoire parent (../) :
../gtk3sermo_1.1.4-1_amd64.deb
Installation du paquet
sudo dpkg -i ../gtk3sermo_1.1.4-1_amd64.deb
# ou avec gestion des dépendances manquantes :
sudo apt-get install -f ../gtk3sermo_1.1.4-1_amd64.deb
Méthode complète (dpkg-buildpackage)
cd gtk3sermo_1.1.4/
NOCONFIGURE=1 ./autogen.sh # ne lance pas ./configure
dpkg-buildpackage -us -uc -b # -us/-uc = pas de signature GPG
Nettoyage des artefacts de build
make deb-clean
# lance debian/rules clean, puis supprime
# ../gtk3sermo_*.deb .changes .buildinfo .dsc .tar.*
Vérification de la sécurité du binaire
# Après make install (ou dans src/ après make)
checksec --file=/usr/bin/gtk3sermo
# Résultat attendu :
# RELRO: Full | Stack: Canary | NX: Enabled | PIE: Enabled
Test rapide
echo '<window><vbox><text><label>Hello GTK3!</label></text>
<button><label>Quitter</label><action>EXIT:ok</action></button>
</vbox></window>' | gtkdialog --stdin
En cas d'erreur de compilation résiduelle
-
GtkBuildersignal connect —gtk_builder_connect_signals_full()a une signature différente deglade_xml_signal_autoconnect_full()→ Voirsrc/glade_support.c -
vte_terminal_spawn_sync(), prend un paramètreGCancellable*supplémentaire → Voirsrc/widget_terminal.c -
autoreconfintrouvable, installerautoconf automake:bash sudo apt-get install autoconf automake