gtkd-developers / GlibD

D bindings for the GLib C Utility Library.
Other
5 stars 3 forks source link

glibd fails to build on Fedora 34 with glib2 2.68 #11

Closed Conan-Kudo closed 2 years ago

Conan-Kudo commented 3 years ago

When trying to build glibd on Fedora 34 with glib2 2.67.4 and gobject-introspection 1.66.1, it fails with the following error:

[7/340] ldc2 -I=libglibd-2.0.so.2.3.0.p -I=. -I=.. -I=generated -I=../generated -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -enable-color -wi -release -w -g -O1 -relocation-model=pic -of=libglibd-2.0.so.2.3.0.p/x86_64-redhat-linux-gnu_generated_glib_BookmarkFile.d.o -c ../x86_64-redhat-linux-gnu/generated/glib/BookmarkFile.d
FAILED: libglibd-2.0.so.2.3.0.p/x86_64-redhat-linux-gnu_generated_glib_BookmarkFile.d.o 
ldc2 -I=libglibd-2.0.so.2.3.0.p -I=. -I=.. -I=generated -I=../generated -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -enable-color -wi -release -w -g -O1 -relocation-model=pic -of=libglibd-2.0.so.2.3.0.p/x86_64-redhat-linux-gnu_generated_glib_BookmarkFile.d.o -c ../x86_64-redhat-linux-gnu/generated/glib/BookmarkFile.d
generated/glib/TimeZone.d(163): Error: constructor glib.TimeZone.TimeZone.this(string identifier) conflicts with previous declaration at generated/glib/TimeZone.d(150)
MikeWey commented 3 years ago

This should fix the issues on Fedora 34, only the version block for Gio is 2.66 instead of 2.67 since the Gio gir file doesn't define it's version, and the function doesn't (yet) have version information.

So this fix currently breaks building with Glib 2.66.

diff --git a/src/APILookupGLib.txt b/src/APILookupGLib.txt
index 6e10e20..bf15751 100644
--- a/src/APILookupGLib.txt
+++ b/src/APILookupGLib.txt
@@ -1489,6 +1489,7 @@ code: end
 struct: TimeZone
 noCode: new_local
 noCode: new_utc
+version 2.67: noCode: new_identifier

 struct: Tree
 class: BBTree
diff --git a/src/APILookupGio.txt b/src/APILookupGio.txt
index 8b285f2..e35e06c 100644
--- a/src/APILookupGio.txt
+++ b/src/APILookupGio.txt
@@ -401,6 +401,11 @@ array: set_environ env
 struct: ThemedIcon
 noCode: new

+version 2.66: start
+       struct: TlsCertificate
+       noCode: new_from_pkcs11_uris
+version: end
+
 struct: TlsPassword
 out: get_value length
 array: get_value Return length
Conan-Kudo commented 3 years ago

With this patch, it fails with the following error:

[12/340] ldc2 -I=libglibd-2.0.so.2.3.0.p -I=. -I=.. -I=generated -I=../generated -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/libmount -I/usr/include/blkid -enable-color -wi -release -w -g -O1 -relocation-model=pic -makedeps=libglibd-2.0.so.2.3.0.p/x86_64-redhat-linux-gnu_generated_glib_DateTime.d.o.deps -of=libglibd-2.0.so.2.3.0.p/x86_64-redhat-linux-gnu_generated_glib_DateTime.d.o -c ../x86_64-redhat-linux-gnu/generated/glib/DateTime.d
FAILED: libglibd-2.0.so.2.3.0.p/x86_64-redhat-linux-gnu_generated_glib_DateTime.d.o
ldc2 -I=libglibd-2.0.so.2.3.0.p -I=. -I=.. -I=generated -I=../generated -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/sysprof-4 -I/usr/include/libmount -I/usr/include/blkid -enable-color -wi -release -w -g -O1 -relocation-model=pic -makedeps=libglibd-2.0.so.2.3.0.p/x86_64-redhat-linux-gnu_generated_glib_DateTime.d.o.deps -of=libglibd-2.0.so.2.3.0.p/x86_64-redhat-linux-gnu_generated_glib_DateTime.d.o -c ../x86_64-redhat-linux-gnu/generated/glib/DateTime.d
../x86_64-redhat-linux-gnu/generated/glib/DateTime.d(161): Error: function glib.DateTime.DateTime.equal(DateTime dt2) is not callable using argument types (DateTime, DateTime)
../x86_64-redhat-linux-gnu/generated/glib/DateTime.d(161):        expected 1 argument(s), not 2
../x86_64-redhat-linux-gnu/generated/glib/DateTime.d(172): Error: function glib.DateTime.DateTime.compare(DateTime dt2) is not callable using argument types (DateTime, DateTime)
../x86_64-redhat-linux-gnu/generated/glib/DateTime.d(172):        expected 1 argument(s), not 2

Though now I'm building against glib2-2.68.

Conan-Kudo commented 3 years ago

This is also failing with current git master + the proposed patch with glib2 2.68.

MikeWey commented 3 years ago

With commit b22a87ee6f42806aff5f9173a24cd05995db6cb0 it should work with GLib 2.68 / Fedora 34.

Conan-Kudo commented 3 years ago

Yep, that fixed the build and I was able to ship an update: https://bodhi.fedoraproject.org/updates/FEDORA-2021-c9bb0b0926