Opened 4 years ago

Closed 4 years ago

#61179 closed defect (fixed)

gnome-desktop @3.38.0: unknown type name 'uint64_t'

Reported by: chrstphrchvz (Christopher Chavez) Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version: 2.6.3
Keywords: Cc:
Port: gnome-desktop

Description

Build fails on 10.8 and earlier:

../gnome-desktop-3.38.0/libgnome-desktop/gnome-rr.h:78:5: error: unknown type name 'uint64_t'
    uint64_t matrix[9];
    ^
1 error generated.

I think this might be an upstream code problem, i.e. the code should be using its conventional types, e.g. guint64; this seems more likely than it missing #include <stdint.h>, which it doesn't do anywhere else. A similar issue might exist in gnome-desktop-thumbnail-script.c, which is using uint32_t likewise without <stdint.h>.

Attachments (1)

patch-gnome-desktop.diff (370 bytes) - added by kencu (Ken) 4 years ago.

Download all attachments as: .zip

Change History (11)

comment:1 Changed 4 years ago by dbevans (David B. Evans)

Status: assignedaccepted

Yes, but the question is this: Why does it fail only on 10.8 and earlier? That would make me think that it is an outdated compiler/library problem.

comment:2 Changed 4 years ago by kencu (Ken)

Worked for me on 10.6.8:

$ port -v installed | grep gnome-desktop
  gnome-desktop @3.36.6_0 (active) platform='darwin 10' archs='x86_64' date='2020-09-13T05:38:31-0700'

I don't recall doing anything fancy about it.

comment:3 Changed 4 years ago by kencu (Ken)

Oh, wait - -that was 3.36.6 -- looks like it was updated again in the past few days. I'll try 3.38.

comment:4 Changed 4 years ago by dbevans (David B. Evans)

Yes, its the latest version that's having the problem.

comment:5 in reply to:  1 Changed 4 years ago by chrstphrchvz (Christopher Chavez)

Replying to dbevans:

Yes, but the question is this: Why does it fail only on 10.8 and earlier? That would make me think that it is an outdated compiler/library problem.

I think it could be that newer compilers are instead lenient about using uint64_t etc. without #include <stdint.h>. (Unless the compilers are old enough to lack C99 support, which shouldn't be the case here.)

comment:6 Changed 4 years ago by kencu (Ken)

10.6.8 uses a compiler newer than Xcode 11's. It's in the older headers somewhere (some newer header includes it).

I did this:

--- libgnome-desktop/gnome-rr.h.orig	2020-09-15 12:38:07.000000000 -0700
+++ libgnome-desktop/gnome-rr.h	2020-09-15 12:57:19.000000000 -0700
@@ -31,6 +31,8 @@
 #include <glib.h>
 #include <gdk/gdk.h>
 
+#include <stdint.h>
+
 typedef struct GnomeRRScreenPrivate GnomeRRScreenPrivate;
 typedef struct GnomeRROutput GnomeRROutput;
 typedef struct GnomeRRCrtc GnomeRRCrtc;

and that was all it needed to build.

Version 0, edited 4 years ago by kencu (Ken) (next)

comment:7 Changed 4 years ago by kencu (Ken)

$ port -v installed gnome-desktop
The following ports are currently installed:
  gnome-desktop @3.36.4_0 platform='darwin 10' archs='x86_64' date='2020-07-15T08:08:50-0700'
  gnome-desktop @3.36.5_0 platform='darwin 10' archs='x86_64' date='2020-08-18T14:38:11-0700'
  gnome-desktop @3.36.6_0 platform='darwin 10' archs='x86_64' date='2020-09-13T05:38:31-0700'
  gnome-desktop @3.38.0_0 (active) platform='darwin 10' archs='x86_64' date='2020-09-15T12:58:52-0700'

Changed 4 years ago by kencu (Ken)

Attachment: patch-gnome-desktop.diff added

comment:8 Changed 4 years ago by chrstphrchvz (Christopher Chavez)

comment:9 Changed 4 years ago by chrstphrchvz (Christopher Chavez)

Pending action upstream, I would go with applying Ken's patch (no revbump needed). Nothing appears to be necessary for gnome-desktop-thumbnail-script.c because it isn't being compiled.

comment:10 Changed 4 years ago by dbevans (David B. Evans)

Resolution: fixed
Status: acceptedclosed

In 7e837e629bb6d90c04a9573009e32ebec44c97f8/macports-ports (master):

gnome-desktop: apply upstream build fix

Upstream PR https://gitlab.gnome.org/GNOME/gnome-desktop/-/merge_requests/85 (@chrstphrchvz thanks)

Closes #61179

Note: See TracTickets for help on using tickets.