Saltuariamente sviluppo un'applicazione grafica su linux, usando il linguaggio di programmazione vala, su framework GTK4.
La build di questa applicazione fa uso di meson, per la build e le dipendenze, ed infine ninja, per generare il vero e proprio eseguibile.
Al momento, la configurazione del mio ambiente è questa:
Codice: Seleziona tutto
The Meson build system
Version: 1.7.0
Source dir: /home/<path>/Repository-vala
Build dir: /home/<path>/Repository-vala/build
Build type: native build
Project name: vala-GTK
Project version: undefined
C compiler for the host machine: cc (gcc 14.2.0 "cc (Ubuntu 14.2.0-19ubuntu2) 14.2.0")
C linker for the host machine: cc ld.bfd 2.44
Vala compiler for the host machine: valac (valac 0.56.17)
Host machine cpu family: x86_64
Host machine cpu: x86_64
Found pkg-config: YES (/usr/bin/pkg-config) 1.8.1
Run-time dependency glib-2.0 found: YES 2.80.2
Run-time dependency gobject-2.0 found: YES 2.80.2
Run-time dependency gtk4 found: YES 4.12.5
Build targets in project: 1
Found ninja-1.12.1 at /usr/bin/ninja
Codice: Seleziona tutto
FAILED: vala-GTK
cc -o vala-GTK vala-GTK.p/meson-generated_src_application.c.o vala-GTK.p/meson-generated_src_GOrecord_stm32.c.o vala-GTK.p/meson-generated_src_executeBash.c.o vala-GTK.p/meson-generated_src_nomeGObject.c.o vala-GTK.p/meson-generated_src_createListView.c.o vala-GTK.p/meson-generated_src_connettoreSeriale.c.o -L/opt/gtk4e/lib -L/opt/glib-2.80/lib/ -I/opt/gtk4e/include -I/opt/gtk4e/include/gtk-4.0/ -Wl,--as-needed -Wl,--no-undefined -Wl,--start-group /opt/glib-2.80/lib/x86_64-linux-gnu/libglib-2.0.so /opt/glib-2.80/lib/x86_64-linux-gnu/libgobject-2.0.so /opt/gtk4e/lib/x86_64-linux-gnu/libgtk-4.so /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so /usr/lib/x86_64-linux-gnu/libpango-1.0.so /usr/lib/x86_64-linux-gnu/libharfbuzz.so /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so /usr/lib/x86_64-linux-gnu/libcairo-gobject.so /usr/lib/x86_64-linux-gnu/libcairo.so /opt/gtk4e/lib/x86_64-linux-gnu/libgraphene-1.0.so /opt/glib-2.80/lib/x86_64-linux-gnu/libgio-2.0.so -Wl,--end-group
/usr/bin/ld: /opt/gtk4e/lib/x86_64-linux-gnu/libgtk-4.so: riferimento non definito a `g_variant_builder_init_static'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.
Ma non saprei come fare a risolvere. Uso un tool che si chiama pkg-config per istruire il sistema sulla posizione dei vari pacchetti, soprattutto quelli inerenti GTK4 che ho dovuto configurare a mano. Sospetto di dover aggiungere qualche puntamento che mi manca, ma non saprei come interpretare questo output di errore, e spero in un aiuto.
Aggiungo anche alcune variabili d'ambiente che ho aggiunto al bashrc del mio utente, magari può essere utile. Grazie
Codice: Seleziona tutto
export CPPFLAGS="-I/opt/gtk4e/include -I/opt/gtk4e/include/gtk-4.0/";
export GI_TYPELIB_PATH="/opt/gtk4e/lib/x86_64-linux-gnu/girepository-1.0:/usr/lib/x86_64-linux-gnu/girepository-1.0";
export LDFLAGS="-L/opt/gtk4e/lib -L/opt/glib-2.80/lib/";
export LD_LIBRARY_PATH="/opt/gtk4e/lib/x86_64-linux-gnu:/opt/gtk4e/lib:/opt/glib-2.80/lib:/opt/glib-2.80/lib/lib/x86_64-linux-gnu/";
export LIBRARY_PATH=$LIBRARY_PATH:"/opt/gtk4e/lib/x86_64-linux-gnu:/opt/glib-2.80/lib/x86_64-linux-gnu/";
export PATH=$PATH:"/opt/gtk4e/bin:/opt/glib-2.80/bin";
export PKG_CONFIG_LIBDIR="/opt/gtk4e/lib:/opt/glib-2.80/lib/";
export PKG_CONFIG_PATH="/opt/gtk4e/lib/x86_64-linux-gnu/pkgconfig:/usr/share/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/opt/glib-2.80/lib/x86_64-linux-gnu/pkgconfig/";
Grazie
