GoLang: Go-GTK für Programme mit GUI auf dem Mac nutzen!

Ich wollte gerne mal die Optionen für ein Go Program mit GUI erforschen und deshalb wenig mit GTK+ spielen. Kurz gesucht und direkt Go binding for GTK auf Github gefunden!

Leider lies es sich nicht so einfach installieren wie ich gehofft hatte.

Es hat dann aber doch geklappt indem ich wie folgt vorgegangen bin (ich bin begeisterter Hombrew Nutzer):

Erst einmal GTK+ (2) mit Hombebrew installieren, das ging reibungslos, dauert aber etwas:

brew install gtk

Dann sollte theoretisch go-gtk schon installierbar sein:

  go get github.com/mattn/go-gtk/gtk

Das führt aber leider zu Fehlermeldungen:

# pkg-config --cflags gdk-2.0 gthread-2.0
Package xcb-shm was not found in the pkg-config search path.
Perhaps you should add the directory containing `xcb-shm.pc'
to the PKG_CONFIG_PATH environment variable
Package 'xcb-shm', required by 'cairo', not found
exit status 1

Da ich XQuartz installiert habe, war dies einfach zu beheben:

export PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig

go get github.com/mattn/go-gtk/gtk

Leider gibt es dann aber immer noch Fehler wegen libintl:

# github.com/mattn/go-gtk/gdk
ld: library not found for -lintl
collect2: ld returned 1 exit status

Nun hatte ich gettext (welches libintl anbietet) schon installiert. Doch ist das Packed "keeg only". Mir gefällt es nicht dies mit brew link gettext --force in den build-pfad zu übernehmen. Daher habe ich es mit setzen der ENV Variable versucht und siehe da es klappt:

export PKG_CONFIG_PATH=/opt/X11/lib/pkgconfig
export LIBRARY_PATH=/usr/local/Cellar/gettext/0.18.3.1/lib/
go get github.com/mattn/go-gtk/gtk

Und damit ist die Installation von go-gtk fertig!

Nun schnell testen ob es auch wirklich funktioniert:

cd $(go env GOPATH)/src/github.com/mattn/go-gtk/example/demo
go run demo.go

Wenn bei euch alles glatt gegangen ist, dann seht ihr nun:

GO GTK+ Demo

Vielleicht hat es ja jemand geholfen!

Viel Spaß mit GoLang und GTK+!

comments powered by Disqus