Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

could not determine kind of name for C.g_date_time_new_from_unix_local_usec #151

Open
squeaktoy opened this issue Aug 13, 2024 · 12 comments

Comments

@squeaktoy
Copy link

OS: Gentoo Linux
Kernel: Linux version 6.6.41-gentoo-dist
C Compiler: GNU GCC 13.3.1
Go compiler: go version go1.22.6 linux/amd64
glib package info:

dev-libs/glib-2.78.6::gentoo was built with the following:
USE="dbus elf mime static-libs xattr -debug -gtk-doc (-selinux) -sysprof -systemtap -test -utils" ABI_X86="32 (64) (-x32)"
FEATURES="userfetch protect-owned unmerge-logs network-sandbox assume-digests qa-unresolved-soname-deps sfperms xattr usersync news sandbox ipc-sandbox binpkg-docompress fixlafiles preserve-libs splitdebug binpkg-logs merge-wait unknown-features-warn binpkg-dostrip config-protect-if-modified distlocks ebuild-locks userpriv parallel-fetch unmerge-orphans fail-clean multilib-strict pid-sandbox usersandbox pkgdir-index-trusted buildpkg-live strict merge-sync"

gtk4 package info:

gui-libs/gtk-4.14.4-r1::gentoo was built with the following:
USE="X gstreamer introspection wayland (-aqua) -broadway -cloudproviders -colord -cups -examples -sysprof -test (-vulkan)" ABI_X86="(64)" CPU_FLAGS_X86="f16c"

After running go install -v libdb.so/dissent@latest, I got the following output:

github.com/diamondburned/gotk4/pkg/glib/v2
# github.com/diamondburned/gotk4/pkg/glib/v2
go/pkg/mod/github.com/diamondburned/gotk4/pkg@v0.3.1/glib/v2/glib.go:15535:10: could not determine kind of name for C.g_date_time_new_from_unix_local_usec
go/pkg/mod/github.com/diamondburned/gotk4/pkg@v0.3.1/glib/v2/glib.go:15585:10: could not determine kind of name for C.g_date_time_new_from_unix_utc_usec
go/pkg/mod/github.com/diamondburned/gotk4/pkg@v0.3.1/glib/v2/glib.go:17060:10: could not determine kind of name for C.g_date_time_to_unix_usec
go/pkg/mod/github.com/diamondburned/gotk4/pkg@v0.3.1/glib/v2/glib.go:48:42: could not determine kind of name for C.g_dir_get_type
go/pkg/mod/github.com/diamondburned/gotk4/pkg@v0.3.1/glib/v2/glib.go:17177:4: could not determine kind of name for C.g_dir_unref
go/pkg/mod/github.com/diamondburned/gotk4/pkg@v0.3.1/glib/v2/glib.go:50:42: could not determine kind of name for C.g_hmac_get_type
go/pkg/mod/github.com/diamondburned/gotk4/pkg@v0.3.1/glib/v2/glib.go:9360:10: could not determine kind of name for C.g_log_writer_syslog
go/pkg/mod/github.com/diamondburned/gotk4/pkg@v0.3.1/glib/v2/glib.go:60:42: could not determine kind of name for C.g_rand_get_type
@diamondburned
Copy link
Owner

What GLib and GTK versions do you have?

@diamondburned
Copy link
Owner

#145 might've bumped it a bit too high...

@JarzaClay
Copy link

Same issue on Gentoo box

@bzx0
Copy link

bzx0 commented Sep 24, 2024

Same on OpenSuse Leap 15.6:

go: downloading github.com/diamondburned/gotk4/pkg v0.3.1
go: downloading golang.org/x/sync v0.8.0
go: downloading github.com/KarpelesLab/weak v0.1.1
go: downloading go4.org/unsafe/assume-no-moving-gc v0.0.0-20231121144256-b99613f794b6
# github.com/diamondburned/gotk4/pkg/glib/v2
../../go/pkg/mod/github.com/diamondburned/gotk4/pkg@v0.3.1/glib/v2/glib.go:15535:10: could not determine kind of name for C.g_date_time_new_from_unix_local_usec
../../go/pkg/mod/github.com/diamondburned/gotk4/pkg@v0.3.1/glib/v2/glib.go:15585:10: could not determine kind of name for C.g_date_time_new_from_unix_utc_usec
../../go/pkg/mod/github.com/diamondburned/gotk4/pkg@v0.3.1/glib/v2/glib.go:17060:10: could not determine kind of name for C.g_date_time_to_unix_usec
../../go/pkg/mod/github.com/diamondburned/gotk4/pkg@v0.3.1/glib/v2/glib.go:48:42: could not determine kind of name for C.g_dir_get_type
../../go/pkg/mod/github.com/diamondburned/gotk4/pkg@v0.3.1/glib/v2/glib.go:17177:4: could not determine kind of name for C.g_dir_unref
../../go/pkg/mod/github.com/diamondburned/gotk4/pkg@v0.3.1/glib/v2/glib.go:50:42: could not determine kind of name for C.g_hmac_get_type
../../go/pkg/mod/github.com/diamondburned/gotk4/pkg@v0.3.1/glib/v2/glib.go:9360:10: could not determine kind of name for C.g_log_writer_syslog
../../go/pkg/mod/github.com/diamondburned/gotk4/pkg@v0.3.1/glib/v2/glib.go:60:42: could not determine kind of name for C.g_rand_get_type

Kernel: 6.4.0-150600.23.17-default
Go: go version go1.23.1 linux/amd64
GTK: gtk4-devel 4.12.4-150600.3.3.1
GLib: libglib-2_0-0 2.78.6-150600.4.3.1

@diamondburned
Copy link
Owner

If this is seriously affecting your application, please consider downgrading gotk4/pkg to pkg/v0.2.2.

@MarkusTieger
Copy link

If this is seriously affecting your application, please consider downgrading gotk4/pkg to pkg/v0.2.2.

I think we are all trying to use dissent, which uses gotk4 v0.3.1. Any solutions that are not downgrading dissent?

@diamondburned
Copy link
Owner

If this is seriously affecting your application, please consider downgrading gotk4/pkg to pkg/v0.2.2.

I think we are all trying to use dissent, which uses gotk4 v0.3.1. Any solutions that are not downgrading dissent?

can you use the prebuilt?

@bzx0
Copy link

bzx0 commented Sep 30, 2024

If this is seriously affecting your application, please consider downgrading gotk4/pkg to pkg/v0.2.2.

Thanks, this is a working solution for me.

@MarkusTieger
Copy link

MarkusTieger commented Oct 1, 2024

If this is seriously affecting your application, please consider downgrading gotk4/pkg to pkg/v0.2.2.

I think we are all trying to use dissent, which uses gotk4 v0.3.1. Any solutions that are not downgrading dissent?

can you use the prebuilt?

I like having the binaries optimized for my cpu with "-O3" and thin-lto. And ofc I trust source code just more than binaries.

And if it doesn't compile because there are symbols missing, there is always the possibility of the application crashing in runtime. (Thats an assumption, I am not a C dev)

@diamondburned
Copy link
Owner

And if it doesn't compile because there are symbols missing, there is always the possibility of the application crashing in runtime. (Thats an assumption, I am not a C dev)

Dissent doesn't use any of these symbols, so you're fine.

@MarkusTieger
Copy link

MarkusTieger commented Oct 1, 2024

And if it doesn't compile because there are symbols missing, there is always the possibility of the application crashing in runtime. (Thats an assumption, I am not a C dev)

Dissent doesn't use any of these symbols, so you're fine.

Why does dissent require such a high glib version then? (to compile)

@diamondburned
Copy link
Owner

And if it doesn't compile because there are symbols missing, there is always the possibility of the application crashing in runtime. (Thats an assumption, I am not a C dev)

Dissent doesn't use any of these symbols, so you're fine.

Why does dissent require such a high glib version then? (to compile)

Because gotk4 is generated off the higher GLib version and Dissent requires that version.

You can downgrade gotk4 within Dissent and it'll probably work. I'm hesitant to provide more help if you're not familiar with Go development, but some of that is needed to build Go applications.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants