-
-
Notifications
You must be signed in to change notification settings - Fork 107
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
[Bug] time_t64 causes regeneration to fail for gio-sys #1559
Comments
You should do something about your debug symbols 😅 This is a known problem, we need to add support for |
You might also want to bring this up against the |
See rust-lang/libc#3223 , that's I guess the closest just that Debian has everything even worse (see my comment). The Debian wiki about the transition says
Which is clearly not true. We would here at build time have to decide if the glib library we link against has been compiled with 64 bit |
Thanks for the insight. I guess I can just disable regeneration for now. While this doesn't resolve the issue at hand I can at least continue to prepare the gtk-rs update in debian. I forwarded the issue to the team; I don't have time to deal with this right now. |
Thanks. On the gir side here we can simply have it map to I might be missing something but this should also affect 3rd party / locally built C code on Debian.
You should not regenerate against random versions of the gir files anyway. The ones that are known to work are the one tagged together with the releases. If you're using others then you're on your own, and the results will likely be API/ABI incompatible with the releases on crates.io. |
Also the current release is would not be ABI-compatible with a 64 bit |
@werdahias I just noticed that the libc crate is also planning a breaking 1.0 release very soon, and at that point things will be set in stone for a while. It would probably be good to set up some communication between Debian people who understand how this transition is supposed to work and the Rust project. |
FWIW, from how I understand Debian's implementation plan this will also randomly break in C libraries. If you build Similarly, someone building C code against GLib without setting From my understanding this is not just a "Rust" problem but also a "all C code not built via dpkg" (external code, proprietary code that you can't just rebuild, ...) problem. |
Not quite. The toolchains also supply the flags by default:
If you build your own toolchain and then build random packages, then you can run into problems. :) |
Ah, I missed that the default toolchain flags are changed too (or it wasn't on the wiki page?). Thanks for the clarification. That makes it less bad. So you'd only run into problems with binary builds from before the change, and your own toolchains that don't have the right flags. That seems less bad. So I guess the libc crate could check the target triplet and Debian version and switch based on that. And then implement the same for Fedora and others too. |
Debian in in the process of transitioning all libraries to 64-bit time to mitigate the year-2038 issue.
During this glib was renamed to
libglib2.0-0t64
. Now code regeneration fails:The text was updated successfully, but these errors were encountered: