Your message dated Fri, 15 Mar 2024 16:00:43 +0000 with message-id <e1rl9z9-00hagt...@fasolo.debian.org> and subject line Bug#1066900: fixed in gobject-introspection 1.78.1-17 has caused the Debian Bug report #1066900, regarding g-ir-compiler: generates incorrect typelib when cross-compiling with different type sizes to be marked as done.
This means that you claim that the problem has been dealt with. If this is not the case it is now your responsibility to reopen the Bug report if necessary, and/or fix the problem forthwith. (NB: If you are a system administrator and have no idea what this message is talking about, this may indicate a serious mail system misconfiguration somewhere. Please contact ow...@bugs.debian.org immediately.) -- 1066900: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1066900 Debian Bug Tracking System Contact ow...@bugs.debian.org with problems
--- Begin Message ---Package: gobject-introspection Version: 1.78.1-16 Severity: serious Justification: results in misbuilt packages X-Debbugs-Cc: debian-cr...@lists.debian.org When it converts GIR XML to binary typelib files, g-ir-compiler replaces abstract types such as int and gsize (size_t) with concrete types such as gint32 (int32_t) and guint64 (uint32_t). The way in which it does this depends on the type sizes discovered at configure time when compiling g-ir-compiler. This means that cross-compiling for an arm64 or riscv64 host on an amd64 build machine should be OK, but cross-compiling for armhf or i386 on amd64 will produce invalid typelibs. I am sorry that I didn't notice this sooner. A crude solution to this would be to revert gobject-introspection and gobject-introspection-bin to be Multi-Arch: no, so that building typelibs is no longer possible in cross-builds. [1] A more refined version of that would be to change the relationship between gobject-introspection and gobject-introspection-bin so that instead of the current arrangement where the dependency is on a virtual package gobject-introspection-linux-little-endian, it would be on a virtual package that also reflects the word size in use: gobject-introspection-linux-lp64-little-endian or similar. This would preserve the ability to cross-compile in only those situations where it would be correct. [2] A workaround to enable cross-compiling between word sizes would be to use the host architecture g-ir-compiler, and run it via qemu-user. Unfortunately this will greatly increase the amount of host-architecture code that needs to be run via emulation. In the short term, I'm going to do [1] or [2] as a matter of urgency, to ensure that Ubuntu 24.04 doesn't ship with faulty cross-tools that claim to work but actually do not. Any further improvement can be in-scope for #1030223 "gobject-introspection: make cross-compilation possible". If we do [2] then we will have to be extra-careful to distinguish between dissimilar ILP32 ABIs, because gobject-introspection currently hard-codes that it thinks time_t is long and off_t is size_t, both of which happen to be correct on LP64 and on i386, but neither of which is correct on an ILP32 architecture that has transitioned to large file support and 64-bit time_t (such as armel and armhf in 2024) or an ILP32 architecture that always had 64-bit off_t and time_t (such as x32). I apologise for having been insufficiently careful when enabling this feature. smcv
--- End Message ---
--- Begin Message ---Source: gobject-introspection Source-Version: 1.78.1-17 Done: Simon McVittie <s...@debian.org> We believe that the bug you reported is fixed in the latest version of gobject-introspection, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to 1066...@bugs.debian.org, and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Simon McVittie <s...@debian.org> (supplier of updated gobject-introspection package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing ftpmas...@ftp-master.debian.org) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Format: 1.8 Date: Fri, 15 Mar 2024 13:14:58 +0000 Source: gobject-introspection Architecture: source Version: 1.78.1-17 Distribution: unstable Urgency: medium Maintainer: Debian GNOME Maintainers <pkg-gnome-maintain...@lists.alioth.debian.org> Changed-By: Simon McVittie <s...@debian.org> Closes: 1066900 Changes: gobject-introspection (1.78.1-17) unstable; urgency=medium . [ Simon McVittie, Jeremy BĂcha ] * Add a nogir build profile . [ Simon McVittie ] * d/control: Correct a misleading comment. It's g-ir-scanner, not g-ir-compiler, that runs the dumper executable. * Use host-architecture g-ir-compiler, etc. when cross-compiling. When setting up the cross wrappers for g-ir-compiler, etc. I had assumed that g-ir-compiler was a simple transformation from GIR XML into binary, which varied only by its endianness. Unfortunately, it is not: it also transforms abstract types such as size_t into equivalent fixed-size types such as guint64, which requires knowledge of the size of each type. Instead of running the build architecture g-ir-compiler and telling it to use the host architecture search path, install upstream's g-ir-compiler etc. into ${pkglibdir}, and set up cross wrappers that will automatically detect whether we can run them directly or whether we must use qemu-user. We already had logic for this for the dumper executable that is run by g-ir-scanner, which is always a host-architecture binary. This involves running qemu more often, but does have the side benefit that we no longer require the build and host endianness to be the same, because everything that interacts the typelib is now a host binary (possibly running under emulation). (Closes: #1066900) Checksums-Sha1: b077afebfd71e0449d9632ed444d36933b8a41ca 4279 gobject-introspection_1.78.1-17.dsc 8add0fa144fb4cd7dc34e0c30a26992743a6532a 61936 gobject-introspection_1.78.1-17.debian.tar.xz 6cafbf6b299d735068ec90dc7581a478c533d72f 8915 gobject-introspection_1.78.1-17_source.buildinfo Checksums-Sha256: 1ff2907e2095b5c4b75c3f264c3c6af0b41efa4caea1004f9424b179be9ddfd9 4279 gobject-introspection_1.78.1-17.dsc bb17cba79ec65c3413363a834d6ff737ba3d287b22e43eb4a89658d89ba28b4a 61936 gobject-introspection_1.78.1-17.debian.tar.xz 2609dd175bdb8814b52f8f15c030d4eb0067cfa88bbded0c6da8d09144ead72a 8915 gobject-introspection_1.78.1-17_source.buildinfo Files: 2b03e000afb17dee74138a929874941d 4279 devel optional gobject-introspection_1.78.1-17.dsc 9344666d298951a13738a8aa54c2760a 61936 devel optional gobject-introspection_1.78.1-17.debian.tar.xz 2abb2408e126fe86b58ccae4ced653ad 8915 devel optional gobject-introspection_1.78.1-17_source.buildinfo -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEENuxaZEik9e95vv6Y4FrhR4+BTE8FAmX0ZEoACgkQ4FrhR4+B TE/HwA//XzgB9AnFt5zYLusHGhGwLdsvdlTBqPPH8wH9mRB5Q7UVPg89aLQce43N gt4IJbMGB0NFneDQXpbBAiaKq97J7XRIY1IwdDE3IS5926zx4qLmCN0bmFHabhYm FyY3aLBP3RNdJ4/M4y+xgBxr40rEEWkpLK01BwZ0DBxmybzZZIWWJHYes/mJX+Ia NlJ9aPkJOJHHCA/o0vt52zsvZB+/qzw0fMo2dvVQAKZlQXQfHzofYYsyqbnVtFhO 9RGAmpERtJadH5NnlBYD5DxcVr6RTG+MaP9xD3k1/xdH0wQ1cvyOHG1lFmQjVOqy RNrJVDsiaW/q0zSKcBpVtBLEh77IQTMfOxHT08nek2xfl8ah3b/QL6MXZDL3Dc3F /ZBzgEXiXCho/YjHGzmMUDezlQlptsC7g9iNWTGPC0tQ7LpIxRrYDx8/JEAweI5Z T8VYRo9vODOKcUYZimmb/2kg4N34bS5VpJnpSyFQZSJpOLuZ4SIHbcv+cZvfhvwR 1mo82SYmTKSPavsJO2v8PgITcT+dSKosN+B3rhSNFe6vfaBeOM7KcS9YVSIDXkPL Qv3wVLPiIRJh19qhkL5sZdzE2yYyH68otzAITcVDwgN/5rlKFRlsnAFZKaSz+r9F +EErLtQhHMB+4AJLQoJwDIgk1nlbV3fgGDzXfAIVYXJXCZFj7DE= =318I -----END PGP SIGNATURE-----pgp5APdIair2p.pgp
Description: PGP signature
--- End Message ---