WARNING! This project is no longer maintained. Probably doesn't even compile. GObject-introspection based bindings generator for Go. Work in progress. See 'documentation' dir for details. At the moment build system is capable of building gtk-3.0 set only. Try it that way: ./waf configure build install Or skip the install part: ./waf configure build Install will install only libraries, it will skip the generator itself and the demo app. Build system is largely in alpha quality. It doesn't track all of the dependencies and all that. All is a subject of ongoing work. GObject-introspection is a new project, therefore it requires the set of fairly recent both libraries and tools, here's the list of versions on my machine: gobject-introspection 1.32.1 atk 2.4.0 cairo 1.12.2 gdk2/gtk2 2.24.13 gdk3/gtk3 3.4.4 gdk-pixbuf2 2.26.3 glib2 2.32.4 gtksourceview3 3.4.2 pango 1.30.1 Here's the short TODO list: - Implement unions (GdkEvent is the main user) - Implement the rest of gogtk-demo. - Implement the rest of typeconv.go functionality. Both Go -> C and C -> Go. - Think about adding "user_data" support for closures. At the moment my (nsf) opinion is that they are useless, because there are real language closures. - Go-gobject-gen needs a way to share code between gtk-2.0 and gtk-3.0.
GObject-introspection based bindings generator
Comments
-
Build fails because waf parameters are specified as `-DX` rather than `-D X`
Unless I'm missing something, go doesn't support this anymore. I can't seem to build
gogobject
as a consequence.[ 2/172] plan9c: build/_cgoobj.1/_cgo_defun.c -> build/_cgoobj.1/_cgo_defun.6 11:24:52 runner ['/home/pwaller/Projects/External/go/pkg/tool/linux_amd64/6c', '-FVw', '-I/home/pwaller/Projects/External/go/pkg/linux_amd64', '-I/home/pwaller/.local/src/github.com/nsf/gogobject/build/_cgoobj.1', '-DGOOS_linux', '-DGOARCH_amd64', '-o', '_cgoobj.1/_cgo_defun.6', '_cgoobj.1/_cgo_defun.c'] /home/pwaller/Projects/External/go/pkg/tool/linux_amd64/6c: unknown flag -FVw
-
Building against latest glib and gobject-introspection fails.
There seem to be a problem when building against glib2 >= 2.36 and gobject-introspection >= 1.36 :
[ 5/172] c: gtk-3.0/gtk.c -> build/gtk-3.0/gtk.c.32.o ../gi/gi.go:55:1: error: 'g_type_init' is deprecated (declared at /usr/include/glib-2.0/gobject/gtype.h:669) [-Werror=deprecated-declarations] func _GoStringToGString(s string) *C.gchar { ^ cc1: all warnings being treated as errors Waf: Leaving directory `/home/roma/Desktop/gogobject/build'
As a temporary solution it can be fixed by removing C.g_type_init() in gi/gi.go.(g_type_init() was deprecated in 2.36 and can be safely removed...).
However, even then, it still fails to compile due to another problem:
/var/tmp/go-link-V6zApf/000001.o: In function `_cgo_1b77b506489f_Cfunc_g_strfreev': /home/roma/Desktop/gogobject/build/../gi/gi.go:1220: undefined reference to `g_strfreev' collect2: error: ld returned 1 exit status Waf: Leaving directory `/home/roma/Desktop/gogobject/build' Build failed -> task in 'go-gobject-gen' failed (exit status 1): {task 16918736: goprogram go-gobject-gen.6 -> go-gobject-gen} ['/usr/lib64/golang/pkg/tool/linux_amd64/6l', '-L', '/home/roma/Desktop/gogobject/build', '-o', 'go-gobject-gen', 'go-gobject-gen.6'] .... skipped some lines for clarity.... /var/tmp/go-link-V6zApf/000001.o: In function `_cgo_1b77b506489f_Cfunc_g_strfreev': /home/roma/Desktop/gogobject/build/../gi/gi.go:1220: undefined reference to `g_strfreev' collect2: error: ld returned 1 exit status Waf: Leaving directory `/home/roma/Desktop/gogobject/build' Build failed -> task in 'go-gobject-gen' failed (exit status 1): {task 16918736: goprogram go-gobject-gen.6 -> go-gobject-gen} ['/usr/lib64/golang/pkg/tool/linux_amd64/6l', '-L', '/home/roma/Desktop/gogobject/build', '-o', 'go-gobject-gen', 'go-gobject-gen.6']
-
Missing /src/Make.inc in the checkout
Seems like there is a missing Make.inc in the git tree
$ make Makefile:1: /src/Make.inc: No such file or directory Makefile:13: /src/Make.cmd: No such file or directory make: *** No rule to make target `/src/Make.cmd'. Stop.
-
check array type is zerotermized to fix empty slice problem in function ...
...like g_key_file_get_groups which is zero temized but hasn't an length annotation
for example:
func (this0 KeyFile) GetGroups() (uint64, []string) { var this1 *C.GKeyFile var length1 C.uint64_t this1 = (C.GKeyFile)(unsafe.Pointer(this0)) ret1 := C.g_key_file_get_groups(this1, &length1) var length2 uint64 var ret2 []string // This isn't init!!!! length2 = uint64(length1) for i := range ret2 { ret2[i] = C.GoString((([999999]C.char)(unsafe.Pointer(ret1)))[i]) C.g_free(unsafe.Pointer(((_[999999]_C.char)(unsafe.Pointer(ret1)))[i])) } return length2, ret2 }
-
Fails to build (linker is missing symbols)
Hi (and happy new year!), I know you're no longer maintaining this project. But maybe you could give some suggestion to fix this. I was surprised, it is not possible to supply library name to the go's linker, thus this is done at some step before?
On Debian Jessie (golang 1.2):
$ ./waf configure Setting top to : /media/portable1/progs/proglang/googlego/gogobject-git-master Setting out to : /media/portable1/progs/proglang/googlego/gogobject-git-master/build Checking for program gcc,cc : /usr/bin/gcc Checking for program ar : /usr/bin/ar Checking for program go : /usr/bin/go Checking for GOROOT : /usr/lib/go Checking for GOARCH : amd64 Checking for GOOS : linux Checking for GOHOSTARCH : amd64 Checking for GOHOSTOS : linux Checking for GOTOOLDIR : /usr/lib/go/pkg/tool/linux_amd64 Checking for GOCHAR : 6 Checking for GOBIN : no Checking for GOPATH : no Checking for program 6c : /usr/lib/go/pkg/tool/linux_amd64/6c Checking for program 6g : /usr/lib/go/pkg/tool/linux_amd64/6g Checking for program 6l : /usr/lib/go/pkg/tool/linux_amd64/6l Checking for program pack : /usr/lib/go/pkg/tool/linux_amd64/pack Checking for program cgo : /usr/lib/go/pkg/tool/linux_amd64/cgo Checking for program dist : /usr/lib/go/pkg/tool/linux_amd64/dist Checking for go version : no Checking for program pkg-config : /usr/bin/pkg-config Checking for 'gobject-introspection-1.0' : yes Checking for 'cairo' : yes Checking for 'atk' : yes Checking for 'gdk-3.0' : yes Checking for 'gdk-pixbuf-2.0' : yes Checking for 'gio-2.0' : yes Checking for 'glib-2.0' : yes Checking for 'gobject-2.0' : yes Checking for 'gtk+-3.0' : yes Checking for 'gtksourceview-3.0' : yes Checking for 'pango' : yes Checking for 'pangocairo' : yes 'configure' finished successfully (0.708s) $ ./waf build Waf: Entering directory `/media/portable1/progs/proglang/googlego/gogobject-git-master/build' [ 1/172] cgo: cairo-1.0/cairo.go -> build/_cgoobj.1/_cgo_defun.c build/_cgoobj.1/_cgo_export.c build/_cgoobj.1/_cgo_export.h build/_cgoobj.1/_cgo_gotypes.go build/_cgoobj.1/_cgo_main.c build/_cgoobj.1/.._cairo-1.0_cairo.cgo1.go build/_cgoobj.1/.._cairo-1.0_cairo.cgo2.c [ 2/172] cgo: gi/gi.go -> build/_cgoobj.2/_cgo_defun.c build/_cgoobj.2/_cgo_export.c build/_cgoobj.2/_cgo_export.h build/_cgoobj.2/_cgo_gotypes.go build/_cgoobj.2/_cgo_main.c build/_cgoobj.2/.._gi_gi.cgo1.go build/_cgoobj.2/.._gi_gi.cgo2.c [ 3/172] go: gogtk-demo/common.go -> build/gogtk-demo/common.6 [ 4/172] c: gobject-2.0/gobject.c -> build/gobject-2.0/gobject.c.31.o [ 5/172] c: gtk-3.0/gtk.c -> build/gtk-3.0/gtk.c.32.o [ 6/172] plan9c: build/_cgoobj.2/_cgo_defun.c -> build/_cgoobj.2/_cgo_defun.6 [ 7/172] c: build/_cgoobj.2/_cgo_main.c -> build/_cgoobj.2/_cgo_main.c.25.o [ 8/172] c: build/_cgoobj.2/.._gi_gi.cgo2.c -> build/_cgoobj.2/.._gi_gi.cgo2.c.25.o [ 9/172] c: build/_cgoobj.2/_cgo_export.c -> build/_cgoobj.2/_cgo_export.c.25.o [ 10/172] go: build/_cgoobj.2/_cgo_gotypes.go build/_cgoobj.2/.._gi_gi.cgo1.go -> build/gobject/gi.6 [ 11/172] c: cairo-1.0/cairo.c -> build/cairo-1.0/cairo.c.24.o [ 12/172] c: build/_cgoobj.1/_cgo_export.c -> build/_cgoobj.1/_cgo_export.c.24.o [ 13/172] c: build/_cgoobj.1/_cgo_main.c -> build/_cgoobj.1/_cgo_main.c.24.o [ 14/172] plan9c: build/_cgoobj.1/_cgo_defun.c -> build/_cgoobj.1/_cgo_defun.6 [ 15/172] c: build/_cgoobj.1/.._cairo-1.0_cairo.cgo2.c -> build/_cgoobj.1/.._cairo-1.0_cairo.cgo2.c.24.o /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go: In function ‘_cgo_e2f9e5789004_Cfunc_g_type_init’: /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1416:2: warning: ‘g_type_init’ is deprecated (declared at /usr/include/glib-2.0/gobject/gtype.h:669) [-Wdeprecated-declarations] func (si *StructInfo) Alignment() int { ^ [ 16/172] cprogram: build/_cgoobj.2/_cgo_main.c.25.o build/_cgoobj.2/_cgo_export.c.25.o build/_cgoobj.2/.._gi_gi.cgo2.c.25.o -> build/_cgoobj.2/_cgo_.o [ 17/172] cprogram: build/_cgoobj.1/_cgo_main.c.24.o build/_cgoobj.1/_cgo_export.c.24.o build/_cgoobj.1/.._cairo-1.0_cairo.cgo2.c.24.o build/cairo-1.0/cairo.c.24.o -> build/_cgoobj.1/_cgo_.o [ 18/172] cgo: build/_cgoobj.1/_cgo_.o -> build/_cgoobj.1/_cgo_import.c [ 19/172] plan9c: build/_cgoobj.1/_cgo_import.c -> build/_cgoobj.1/_cgo_import.6 [ 20/172] cgo: build/_cgoobj.2/_cgo_.o -> build/_cgoobj.2/_cgo_import.c [ 21/172] plan9c: build/_cgoobj.2/_cgo_import.c -> build/_cgoobj.2/_cgo_import.6 [ 22/172] gopackage: build/_cgoobj.2/_cgo_defun.6 build/_cgoobj.2/_cgo_import.6 build/_cgoobj.2/_cgo_export.c.25.o build/_cgoobj.2/.._gi_gi.cgo2.c.25.o build/gobject/gi.6 -> build/gobject/gi.a [ 23/172] go: binding_generator.go cairo.go comment_skipper.go function_builder.go main.go templates.go type.go typeconv.go util.go -> build/go-gobject-gen.6 [ 24/172] goprogram: build/go-gobject-gen.6 -> build/go-gobject-gen /usr/lib/go/pkg/tool/linux_amd64/6l: running gcc failed: unsuccessful exit status 0x100 /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_arg_info_get_closure': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:59: undefined reference to `g_arg_info_get_closure' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_arg_info_get_destroy': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:70: undefined reference to `g_arg_info_get_destroy' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_arg_info_get_direction': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:81: undefined reference to `g_arg_info_get_direction' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_arg_info_get_ownership_transfer': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:92: undefined reference to `g_arg_info_get_ownership_transfer' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_arg_info_get_scope': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:103: undefined reference to `g_arg_info_get_scope' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_arg_info_get_type': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:113: undefined reference to `g_arg_info_get_type' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_arg_info_is_caller_allocates': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:124: undefined reference to `g_arg_info_is_caller_allocates' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_arg_info_is_optional': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:135: undefined reference to `g_arg_info_is_optional' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_arg_info_is_return_value': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:146: undefined reference to `g_arg_info_is_return_value' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_arg_info_is_skip': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:157: undefined reference to `g_arg_info_is_skip' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_arg_info_may_be_null': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:168: undefined reference to `g_arg_info_may_be_null' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_base_info_get_attribute': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:179: undefined reference to `g_base_info_get_attribute' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_base_info_get_container': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:189: undefined reference to `g_base_info_get_container' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_base_info_get_name': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:199: undefined reference to `g_base_info_get_name' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_base_info_get_namespace': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:209: undefined reference to `g_base_info_get_namespace' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_base_info_get_type': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:220: undefined reference to `g_base_info_get_type' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_base_info_get_typelib': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:230: undefined reference to `g_base_info_get_typelib' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_base_info_is_deprecated': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:241: undefined reference to `g_base_info_is_deprecated' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_base_info_iterate_attributes': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:255: undefined reference to `g_base_info_iterate_attributes' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_base_info_ref': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:265: undefined reference to `g_base_info_ref' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_callable_info_get_arg': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:286: undefined reference to `g_callable_info_get_arg' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_callable_info_get_caller_owns': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:297: undefined reference to `g_callable_info_get_caller_owns' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_callable_info_get_n_args': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:308: undefined reference to `g_callable_info_get_n_args' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_callable_info_get_return_attribute': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:319: undefined reference to `g_callable_info_get_return_attribute' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_callable_info_get_return_type': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:329: undefined reference to `g_callable_info_get_return_type' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_callable_info_iterate_return_attributes': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:343: undefined reference to `g_callable_info_iterate_return_attributes' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_callable_info_may_return_null': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:354: undefined reference to `g_callable_info_may_return_null' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_constant_info_get_type': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:364: undefined reference to `g_constant_info_get_type' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_constant_info_get_value': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:376: undefined reference to `g_constant_info_get_value' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_enum_info_get_method': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:388: undefined reference to `g_enum_info_get_method' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_enum_info_get_n_methods': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:399: undefined reference to `g_enum_info_get_n_methods' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_enum_info_get_n_values': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:410: undefined reference to `g_enum_info_get_n_values' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_enum_info_get_storage_type': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:421: undefined reference to `g_enum_info_get_storage_type' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_enum_info_get_value': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:433: undefined reference to `g_enum_info_get_value' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_field_info_get_flags': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:453: undefined reference to `g_field_info_get_flags' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_field_info_get_offset': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:464: undefined reference to `g_field_info_get_offset' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_field_info_get_size': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:475: undefined reference to `g_field_info_get_size' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_field_info_get_type': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:485: undefined reference to `g_field_info_get_type' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_function_info_get_flags': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:496: undefined reference to `g_function_info_get_flags' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_function_info_get_property': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:506: undefined reference to `g_function_info_get_property' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_function_info_get_symbol': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:516: undefined reference to `g_function_info_get_symbol' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_function_info_get_vfunc': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:526: undefined reference to `g_function_info_get_vfunc' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_info_type_to_string': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:537: undefined reference to `g_info_type_to_string' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_interface_info_find_method': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:548: undefined reference to `g_interface_info_find_method' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_interface_info_find_vfunc': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:559: undefined reference to `g_interface_info_find_vfunc' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_interface_info_get_constant': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:571: undefined reference to `g_interface_info_get_constant' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_interface_info_get_iface_struct': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:581: undefined reference to `g_interface_info_get_iface_struct' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_interface_info_get_method': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:593: undefined reference to `g_interface_info_get_method' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_interface_info_get_n_constants': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:604: undefined reference to `g_interface_info_get_n_constants' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_interface_info_get_n_methods': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:615: undefined reference to `g_interface_info_get_n_methods' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_interface_info_get_n_prerequisites': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:626: undefined reference to `g_interface_info_get_n_prerequisites' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_interface_info_get_n_properties': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:637: undefined reference to `g_interface_info_get_n_properties' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_interface_info_get_n_signals': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:648: undefined reference to `g_interface_info_get_n_signals' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_interface_info_get_n_vfuncs': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:659: undefined reference to `g_interface_info_get_n_vfuncs' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_interface_info_get_prerequisite': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:671: undefined reference to `g_interface_info_get_prerequisite' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_interface_info_get_property': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:683: undefined reference to `g_interface_info_get_property' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_interface_info_get_signal': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:695: undefined reference to `g_interface_info_get_signal' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_interface_info_get_vfunc': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:707: undefined reference to `g_interface_info_get_vfunc' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_irepository_find_by_name': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:719: undefined reference to `g_irepository_find_by_name' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_irepository_get_c_prefix': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:730: undefined reference to `g_irepository_get_c_prefix' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_irepository_get_default': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:739: undefined reference to `g_irepository_get_default' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_irepository_get_dependencies': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:750: undefined reference to `g_irepository_get_dependencies' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_irepository_get_info': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:763: undefined reference to `g_irepository_get_info' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_irepository_get_loaded_namespaces': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:773: undefined reference to `g_irepository_get_loaded_namespaces' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_irepository_get_n_infos': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:785: undefined reference to `g_irepository_get_n_infos' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_irepository_get_search_path': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:794: undefined reference to `g_irepository_get_search_path' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_irepository_get_shared_library': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:805: undefined reference to `g_irepository_get_shared_library' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_irepository_get_typelib_path': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:816: undefined reference to `g_irepository_get_typelib_path' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_irepository_get_version': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:827: undefined reference to `g_irepository_get_version' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_irepository_is_registered': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:840: undefined reference to `g_irepository_is_registered' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_irepository_require': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:864: undefined reference to `g_irepository_require' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_object_info_find_method': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:875: undefined reference to `g_object_info_find_method' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_object_info_find_vfunc': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:886: undefined reference to `g_object_info_find_vfunc' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_object_info_get_abstract': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:897: undefined reference to `g_object_info_get_abstract' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_object_info_get_class_struct': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:907: undefined reference to `g_object_info_get_class_struct' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_object_info_get_constant': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:919: undefined reference to `g_object_info_get_constant' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_object_info_get_field': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:931: undefined reference to `g_object_info_get_field' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_object_info_get_fundamental': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:942: undefined reference to `g_object_info_get_fundamental' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_object_info_get_get_value_function': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:952: undefined reference to `g_object_info_get_get_value_function' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_object_info_get_interface': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:964: undefined reference to `g_object_info_get_interface' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_object_info_get_method': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:976: undefined reference to `g_object_info_get_method' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_object_info_get_n_constants': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:987: undefined reference to `g_object_info_get_n_constants' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_object_info_get_n_fields': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:998: undefined reference to `g_object_info_get_n_fields' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_object_info_get_n_interfaces': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1009: undefined reference to `g_object_info_get_n_interfaces' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_object_info_get_n_methods': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1020: undefined reference to `g_object_info_get_n_methods' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_object_info_get_n_properties': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1031: undefined reference to `g_object_info_get_n_properties' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_object_info_get_n_signals': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1042: undefined reference to `g_object_info_get_n_signals' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_object_info_get_n_vfuncs': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1053: undefined reference to `g_object_info_get_n_vfuncs' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_object_info_get_parent': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1063: undefined reference to `g_object_info_get_parent' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_object_info_get_property': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1075: undefined reference to `g_object_info_get_property' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_object_info_get_ref_function': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1085: undefined reference to `g_object_info_get_ref_function' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_object_info_get_set_value_function': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1095: undefined reference to `g_object_info_get_set_value_function' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_object_info_get_signal': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1107: undefined reference to `g_object_info_get_signal' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_object_info_get_type_init': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1117: undefined reference to `g_object_info_get_type_init' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_object_info_get_type_name': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1127: undefined reference to `g_object_info_get_type_name' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_object_info_get_unref_function': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1137: undefined reference to `g_object_info_get_unref_function' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_object_info_get_vfunc': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1149: undefined reference to `g_object_info_get_vfunc' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_property_info_get_ownership_transfer': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1160: undefined reference to `g_property_info_get_ownership_transfer' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_property_info_get_type': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1170: undefined reference to `g_property_info_get_type' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_registered_type_info_get_type_init': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1180: undefined reference to `g_registered_type_info_get_type_init' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_registered_type_info_get_type_name': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1190: undefined reference to `g_registered_type_info_get_type_name' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_signal_info_get_class_closure': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1200: undefined reference to `g_signal_info_get_class_closure' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_signal_info_true_stops_emit': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1211: undefined reference to `g_signal_info_true_stops_emit' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_struct_info_find_method': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1231: undefined reference to `g_struct_info_find_method' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_struct_info_get_alignment': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1241: undefined reference to `g_struct_info_get_alignment' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_struct_info_get_field': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1253: undefined reference to `g_struct_info_get_field' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_struct_info_get_method': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1265: undefined reference to `g_struct_info_get_method' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_struct_info_get_n_fields': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1276: undefined reference to `g_struct_info_get_n_fields' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_struct_info_get_n_methods': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1287: undefined reference to `g_struct_info_get_n_methods' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_struct_info_get_size': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1297: undefined reference to `g_struct_info_get_size' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_struct_info_is_foreign': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1308: undefined reference to `g_struct_info_is_foreign' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_struct_info_is_gtype_struct': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1319: undefined reference to `g_struct_info_is_gtype_struct' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_type_info_get_array_fixed_size': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1330: undefined reference to `g_type_info_get_array_fixed_size' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_type_info_get_array_length': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1341: undefined reference to `g_type_info_get_array_length' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_type_info_get_array_type': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1352: undefined reference to `g_type_info_get_array_type' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_type_info_get_interface': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1362: undefined reference to `g_type_info_get_interface' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_type_info_get_param_type': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1374: undefined reference to `g_type_info_get_param_type' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_type_info_get_tag': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1385: undefined reference to `g_type_info_get_tag' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_type_info_is_pointer': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1396: undefined reference to `g_type_info_is_pointer' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_type_info_is_zero_terminated': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1407: undefined reference to `g_type_info_is_zero_terminated' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_type_tag_to_string': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1427: undefined reference to `g_type_tag_to_string' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_union_info_find_method': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1438: undefined reference to `g_union_info_find_method' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_union_info_get_alignment': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1448: undefined reference to `g_union_info_get_alignment' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_union_info_get_discriminator': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1460: undefined reference to `g_union_info_get_discriminator' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_union_info_get_discriminator_offset': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1471: undefined reference to `g_union_info_get_discriminator_offset' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_union_info_get_discriminator_type': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1481: undefined reference to `g_union_info_get_discriminator_type' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_union_info_get_field': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1493: undefined reference to `g_union_info_get_field' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_union_info_get_method': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1505: undefined reference to `g_union_info_get_method' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_union_info_get_n_fields': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1516: undefined reference to `g_union_info_get_n_fields' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_union_info_get_n_methods': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1527: undefined reference to `g_union_info_get_n_methods' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_union_info_get_size': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1537: undefined reference to `g_union_info_get_size' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_union_info_is_discriminated': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1548: undefined reference to `g_union_info_is_discriminated' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_value_info_get_value': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1558: undefined reference to `g_value_info_get_value' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_vfunc_info_get_flags': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1569: undefined reference to `g_vfunc_info_get_flags' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_vfunc_info_get_invoker': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1579: undefined reference to `g_vfunc_info_get_invoker' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_vfunc_info_get_offset': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1590: undefined reference to `g_vfunc_info_get_offset' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_vfunc_info_get_signal': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1600: undefined reference to `g_vfunc_info_get_signal' /var/tmp/go-link-4BZLh3/000001.o: In function `free_gstring': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:8: undefined reference to `g_free' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_base_info_unref': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:274: undefined reference to `g_base_info_unref' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_error_free': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:442: undefined reference to `g_error_free' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_irepository_prepend_search_path': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:849: undefined reference to `g_irepository_prepend_search_path' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_strfreev': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1220: undefined reference to `g_strfreev' /var/tmp/go-link-4BZLh3/000001.o: In function `_cgo_e2f9e5789004_Cfunc_g_type_init': /media/portable1/progs/proglang/googlego/gogobject-git-master/gi/gi.go:1416: undefined reference to `g_type_init' collect2: error: ld returned 1 exit status Waf: Leaving directory `/media/portable1/progs/proglang/googlego/gogobject-git-master/build' Build failed -> task in 'go-gobject-gen' failed (exit status 1): {task 26632848: goprogram go-gobject-gen.6 -> go-gobject-gen} ['/usr/lib/go/pkg/tool/linux_amd64/6l', '-L', '/media/portable1/progs/proglang/googlego/gogobject-git-master/build', '-o', 'go-gobject-gen', 'go-gobject-gen.6'] $
-
Building doesn't work: "task in 'gobject/gi' failed (exit status 2)"
I just cloned this repo and ran ./waf configure build; however, it failed with the attached output:
Build failed -> task in 'gobject/gi' failed (exit status 2): {task 140453979304464: cgo gi.go -> _cgo_defun.c,_cgo_export.c,_cgo_export.h,_cgo_gotypes.go,_cgo_main.c,.._gi_gi.cgo1.go,.._gi_gi.cgo2.c} ['/home/someone/.Go/pkg/tool/linux_amd64/cgo', '-objdir=_cgoobj.2', '--', '-g', '-O2', '-fPIC', '-m64', '-pthread', '-pthread', '-I/home/someone/Projects/src/github.com/nsf/gogobject/build', '-I/home/someone/Projects/src/github.com/nsf/gogobject/build/_cgoobj.2', '-I/usr/include/glib-2.0', '-I/usr/lib/x86_64-linux-gnu/glib-2.0/include', '-I/usr/include/gobject-introspection-1.0', '-DHAVE_GI=1', '-DHAVE_CAIRO=1', '-DHAVE_ATK=1', '-DHAVE_GDK=1', '-DHAVE_GDKPIXBUF=1', '-DHAVE_GIO=1', '-DHAVE_GLIB=1', '-DHAVE_GOBJECT=1', '-DHAVE_GTK=1', '-DHAVE_GTKSOURCE=1', '-DHAVE_PANGO=1', '-DHAVE_PANGOCAIRO=1', '../gi/gi.go']
-
Adding gstreamer support.
I'm trying to add gstreamer support, but I keep running into a weird build error. I already found and fixed a couple (mostly related to locating modules), but now it's complaining that it can't find the
ObjectLike
interface, despite the "gobject/gobject-2.0" module being successfully imported. From basing the input file off of what's already there, I'm not sure what I'm doing wrong.The changes I've made so far can be found in my forked copy, and the full build log can be found here.
-
waf: push go support upstream
hi,
(a bit gogobject off-topic) could you push your waf's go support upstream ? (I can do it on your behalf if you want)
your go-waftools are much better than what I put in waf eons ago.
-s
-
Build fails without Go source tree
Building gogobject failed for me because the internal go tool dist failed with this error (I'm using openSUSE, not Ubuntu, but it's the same error). The dist tool appears to expect you to be working from the Go source tree, but I installed it through my package manager, which effectively renders it useless.
In order to get the build to work, I changed this section of code in
waftools/go.py
vars = {} try: out = self.cmd_and_log([self.env.GO, 'tool', 'dist', 'env']) for line in out.splitlines(): eq = line.index('=') vars[line[:eq]] = line[eq+2:-1] except (WafError, ValueError): pass
into
vars = os.environ
This forces waf to check the system variables directly, rather than the dist tool. The downside to this is that any missing variables (like GOHOSTARCH and GOCHAR) need to be set and exported before building. For reference, here are the values I used to get it working (64-bit openSUSE):
GOROOT = /usr/lib64/go GOBIN = /usr/bin GOARCH = amd64 GOOS = linux GOHOSTARCH = amd64 GOHOSTOS = linux GOTOOLDIR = /usr/lib64/go/pkg/tool/linux_amd64/ GOCHAR = 6 GOPATH = /usr/lib64/go/contrib
Every variable needs to have a value, because otherwise line 74 in waftools/go.py throws this error:
AttributeError: 'ConfigurationContext' object has no attribute 'bld'
After that, I was able to get it to build.
If there's a way to use the go tools to get values for each of these variables without requiring the Go source code, that would be a preferable fix, but I'm not familiar enough with them to know if there's an easy way to do that.
Hope this helps.
-
build failed with gobject-introspection 1.31.10+ and gtksourceview 3.2.3-1 from debian testing (aka wheezy)
Here are tailed logs (they are slighlty different due to parallel compiling?):
log1:
... [ 67/172] go: build/_cgoobj.15/_cgo_gotypes.go build/_cgoobj.15/gobject-2.0_gobject.cgo1.go -> build/gobject/gobject-2.0.6 gobject-2.0/gobject.go:2382[_cgoobj.15/gobject-2.0_gobject.cgo1.go:2684]: cannot use unsafe.Pointer(source.InheritedFromGObject()) (type unsafe.Pointer) as type *[0]byte in function argument gobject-2.0/gobject.go:2383[_cgoobj.15/gobject-2.0_gobject.cgo1.go:2685]: cannot use unsafe.Pointer(target.InheritedFromGObject()) (type unsafe.Pointer) as type *[0]byte in function argument Waf: Leaving directory `/media/verbtmp/progs/googlego/nsf-gogobject-13cf4cc/build' Build failed -> task in 'gobject/gobject-2.0' failed (exit status 1): {task 140320497759440: go _cgo_gotypes.go,gobject-2.0_gobject.cgo1.go -> gobject-2.0.6} ['/media/verbtmp/progs/googlego/go-weekly-amd64/pkg/tool/linux_amd64/6g', '-I/media/verbtmp/progs/googlego/nsf-gogobject-13cf4cc/build/gobject-2.0', '-I/media/verbtmp/progs/googlego/nsf-gogobject-13cf4cc/gobject-2.0', '-I/media/verbtmp/progs/googlego/nsf-gogobject-13cf4cc/build', '-I/media/verbtmp/progs/googlego/nsf-gogobject-13cf4cc/build/_cgoobj.15', '-I/usr/include/glib-2.0', '-I/usr/lib/x86_64-linux-gnu/glib-2.0/include', '-o', 'gobject/gobject-2.0.6', '_cgoobj.15/_cgo_gotypes.go', '_cgoobj.15/gobject-2.0_gobject.cgo1.go']
log2:
... [ 61/172] c: build/_cgoobj.19/gtksource-3.0_gtksource.cgo2.c -> build/_cgoobj.19/gtksource-3.0_gtksource.cgo2.c.33.o gtksource-3.0/gtksource.go: In function ‘_cgo_c4e49b293848_Cfunc_gtk_source_completion_get_view’: gtksource-3.0/gtksource.go:121:17: error: field ‘r’ has incomplete type gtksource-3.0/gtksource.go:123:2: error: invalid use of incomplete typedef ‘GtkSourceView’ gtksource-3.0/gtksource.go: In function ‘_cgo_c4e49b293848_Cfunc_gtk_source_completion_context_add_proposals’: gtksource-3.0/gtksource.go:596:31: error: field ‘p1’ has incomplete type gtksource-3.0/gtksource.go:601:2: error: type of formal parameter 2 is incomplete gtksource-3.0/gtksource.go: In function ‘_cgo_c4e49b293848_Cfunc_gtk_source_view_get_completion’: gtksource-3.0/gtksource.go:1162:23: error: field ‘r’ has incomplete type gtksource-3.0/gtksource.go:1164:2: error: invalid use of incomplete typedef ‘GtkSourceCompletion’ Waf: Leaving directory `/media/verbtmp/progs/googlego/nsf-gogobject-13cf4cc/build' Build failed -> task in '_cgo_.o' failed (exit status 1): {task 33416400: c gtksource-3.0_gtksource.cgo2.c -> gtksource-3.0_gtksource.cgo2.c.33.o} ['/usr/bin/gcc', '-g', '-O2', '-fPIC', '-m64', '-pthread', '-pthread', '-pthread', '-I/media/verbtmp/progs/googlego/nsf-gogobject-13cf4cc/build/gtksource-3.0', '-I/media/verbtmp/progs/googlego/nsf-gogobject-13cf4cc/gtksource-3.0', '-I/media/verbtmp/progs/googlego/nsf-gogobject-13cf4cc/build', '-I/media/verbtmp/progs/googlego/nsf-gogobject-13cf4cc/build/_cgoobj.19', '-I/usr/include/gtk-3.0', '-I/usr/include/atk-1.0', '-I/usr/include/gdk-pixbuf-2.0', '-I/usr/include/pango-1.0', '-I/usr/include/gio-unix-2.0', '-I/usr/include/glib-2.0', '-I/usr/lib/x86_64-linux-gnu/glib-2.0/include', '-I/usr/include/pixman-1', '-I/usr/include/freetype2', '-I/usr/include/libpng12', '-I/usr/include/gtksourceview-3.0', '-I/usr/include/libxml2', '-I/usr/include/cairo', '-DHAVE_GI=1', '-DHAVE_CAIRO=1', '-DHAVE_ATK=1', '-DHAVE_GDK=1', '-DHAVE_GDKPIXBUF=1', '-DHAVE_GIO=1', '-DHAVE_GLIB=1', '-DHAVE_GOBJECT=1', '-DHAVE_GTK=1', '-DHAVE_GTKSOURCE=1', '-DHAVE_PANGO=1', '-DHAVE_PANGOCAIRO=1', '-DGSEAL_ENABLE', '_cgoobj.19/gtksource-3.0_gtksource.cgo2.c', '-c', '-o', '_cgoobj.19/gtksource-3.0_gtksource.cgo2.c.33.o']
Related tags
Native Go bindings for D-Bus
go.dbus go.dbus is a simple library that implements native Go client bindings for the D-Bus message bus system. Features Complete native implementatio
wkhtmltopdf Go bindings and high level interface for HTML to PDF conversion
wkhtmltopdf Go bindings and high level interface for HTML to PDF conversion. Implements wkhtmltopdf Go bindings. It can be used to convert HTML docume
Some plain Go/Golang i2c sensor bindings to Waveshare Sense HAT for raspberry pi
i2c some plain Go/Golang i2c sensor bindings to Waveshare Sense HAT for raspberry pi using https://periph.io Supported hardware: Raspberry Zero W 1 ht
Random fake data and struct generator for Go.
Faker Random fake data and struct generator for Go. More than 100 generator functions Struct generator Unique data generator Builtin types support Eas
Random fake data generator written in go
Gofakeit Random data generator written in go Features 160+ Functions!!! Concurrent Global Rand Struct Generator Custom Functions Http Server Command L
A distributed unique ID generator of using Sonyflake and encoded by Base58
Indigo About A distributed unique ID generator of using Sonyflake and encoded by Base58. ID max length is 11 characters by unsigned int64 max value. A
:guardsman: A teeny tiny and somewhat opinionated generator for your next golang project
A Yeoman Golang Generator We are very sorry Gophers, but other names for the generator where taken, so we choose go-lang. But we have gocreate as an a
Unit tests generator for Go programming language
GoUnit GoUnit is a commandline tool that generates tests stubs based on source function or method signature. There are plugins for Vim Emacs Atom Subl
XSD (XML Schema Definition) parser and Go/C/Java/Rust/TypeScript code generator
xgen Introduction xgen is a library written in pure Go providing a set of functions that allow you to parse XSD (XML schema definition) files. This li
Typo/error resilient, human-readable token generator
toktok A human-friendly token generator Creates tokens which avoid characters that can be easily misinterpreted, like '1' and 'I' or '8' and 'B', as w
Fast and secure initramfs generator
Booster - fast and secure initramfs generator Initramfs is a specially crafted small root filesystem that mounted at the early stages of Linux OS boot
Jennifer is a code generator for Go
Jennifer Jennifer is a code generator for Go. package main import ( "fmt" . "github.com/dave/jennifer/jen" ) func main() { f := NewFile("m
General Golang Code Generator
gg gg is a General Golang Code Generator: A Good Game to play with Golang. package main import ( "fmt" . "github.com/Xuanwo/gg" ) func main() {
Default godoc generator - make your first steps towards better code documentation
godoc-generate Overview godoc-generate is a simple command line tool that generates default godoc comments on all exported types, functions, consts an
accessor methods generator for Go programming language
accessory accessory is an accessor generator for Go programming language. What is accessory? Accessory is a tool that generates accessor methods from
RinkWorks fantasy name generator in golang
RinkWorks fantasy name generator in golang
Go Param Generator for golang
Go Param Generator Overview Generates struct's for you. No need to write it by hands Adds Getters and Setters Adds Constructor Easy to use Usage gopar
Model Generator for Firestore
volcago Automatically generate code used by Cloud Firestore. 日本語ドキュメント Installation Recommend that you drop the binary from the release and use it. Al
Epub generator backend for mdBook
gomdbook2epub An EPUB generator backend for mdBook. Getting Started Install bina