Opened 7 years ago
Closed 7 years ago
#54518 closed defect (fixed)
gtk3 @3.22.17_0 +quartz+universal: fails to build on Yosemite (10.10.5)
Reported by: | mopihopi | Owned by: | dbevans (David B. Evans) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | yosemite | Cc: | jjstickel (Jonathan Stickel), ctreleaven (Craig Treleaven), mfuhrer |
Port: | gtk3 |
Description
gtk3 @3.22.17_0 +quartz+universal fails to build on Yosemite (10.10.5) with XCode 7.2.1.
$ sudo port upgrade outdated ---> Computing dependencies for gtk3 ---> Fetching archive for gtk3 ---> Attempting to fetch gtk3-3.22.17_0+quartz+universal.darwin_14.i386-x86_64.tbz2 from https://packages.macports.org/gtk3 ---> Attempting to fetch gtk3-3.22.17_0+quartz+universal.darwin_14.i386-x86_64.tbz2 from http://sea.us.packages.macports.org/macports/packages/gtk3 ---> Attempting to fetch gtk3-3.22.17_0+quartz+universal.darwin_14.i386-x86_64.tbz2 from http://kmq.jp.packages.macports.org/gtk3 ---> Fetching distfiles for gtk3 ---> Verifying checksums for gtk3 ---> Extracting gtk3 ---> Applying patches to gtk3 ---> Configuring gtk3 Warning: reinplace s/@host@/i686-apple-darwin14.5.0/ didn't change anything in /opt/local/var/macports/build/_opt_local_var_macports_sources_sea.us.rsync.macports.org_release_tarballs_ports_gnome_gtk3/gtk3/work/gtk+-3.22.17/gail-3.0.pc.in Warning: reinplace s/@host@/i686-apple-darwin14.5.0/ didn't change anything in /opt/local/var/macports/build/_opt_local_var_macports_sources_sea.us.rsync.macports.org_release_tarballs_ports_gnome_gtk3/gtk3/work/gtk+-3.22.17/gdk-3.0.pc.in ---> Building gtk3 Error: Failed to build gtk3: command execution failed Error: See /opt/local/var/macports/logs/_opt_local_var_macports_sources_sea.us.rsync.macports.org_release_tarballs_ports_gnome_gtk3/gtk3/main.log for details. Error: Follow https://guide.macports.org/#project.tickets to report a bug. $
The build log includes errors like this:
:info:build In file included from gtkfilechooserentry.c:35: :info:build ./gtkfilefilterprivate.h:34:1: error: type arguments cannot be applied to non-parameterized class 'NSArray' :info:build NSArray<NSString *> * _gtk_file_filter_get_as_pattern_nsstrings (GtkFileFilter *filter); :info:build ^ ~~~~~~~~~~~~ :info:build 1 error generated. :info:build make[3]: *** [libgtk_3_la-gtkfilechooserentry.lo] Error 1 :info:build make[3]: *** Waiting for unfinished jobs....
Attachments (3)
Change History (22)
Changed 7 years ago by mopihopi
Attachment: | gtk3-3.22.17-log added |
---|
comment:1 Changed 7 years ago by mf2k (Frank Schima)
Cc: | devans@… removed |
---|---|
Owner: | set to dbevans |
Status: | new → assigned |
comment:2 Changed 7 years ago by jjstickel (Jonathan Stickel)
Cc: | jjstickel added |
---|
comment:3 Changed 7 years ago by jjstickel (Jonathan Stickel)
comment:4 Changed 7 years ago by ryandesign (Ryan Carsten Schmidt)
Keywords: | yosemite added |
---|
Looks similar to #54542.
comment:5 Changed 7 years ago by kencu (Ken)
See 51116 for a similar error with type arguments cannot be applied to non-parameterized class
and a fix. In that port, to resolve this issue, the call was changed in this fashion:
NSArray<NSString *> *
changed to simply
NSArray *
comment:6 Changed 7 years ago by ctreleaven (Craig Treleaven)
Cc: | ctreleaven added |
---|
comment:7 follow-up: 8 Changed 7 years ago by kencu (Ken)
See 54542#comment:2 where I list the changes I needed to make this build.
Changed 7 years ago by jjstickel (Jonathan Stickel)
Attachment: | gtk3_NSArray.patch added |
---|
builds, but runtime errors
comment:8 Changed 7 years ago by jjstickel (Jonathan Stickel)
Replying to kencu:
See 54542#comment:2 where I list the changes I needed to make this build.
Following those suggestions, I created a patch (see attached); gtk3 +quartz then builds OK, but I get this run-time error:
$ gtk3-demo (gtk3-demo:39695): Gtk-WARNING **: Could not load a pixbuf from /org/gtk/libgtk/icons/16x16/status/image-missing.png. This may indicate that pixbuf loaders or the mime database could not be found. ** Gtk:ERROR:gtkiconhelper.c:493:ensure_surface_for_gicon: assertion failed: (destination) Abort trap: 6
comment:9 Changed 7 years ago by kencu (Ken)
Hmm. I didn't get any errors like that on 10.8, running webkit2-gtk with the MiniBrowser, but I didn't try the gtk3 demos.
Looks like a missing icon? Wonder why is it trying to load something from /org/gtk/...
Doesn't look too hard to debug, I hope.
Don't forget, AFAIK this is only with +quartz variant. Switch to +x11 and it all goes away.
comment:10 Changed 7 years ago by jjstickel (Jonathan Stickel)
The error is not the warning about a missing icon (I think I used to see that before), but the one about gtkiconhelper.c (I guess also icon related, but probably not just due to a missing file).
comment:11 Changed 7 years ago by kencu (Ken)
I wonder if the missing icon makes the assertion fail...assuming that indeed there is a missing icon, and not something else causing this. Looks like Google time ...
comment:12 Changed 7 years ago by kencu (Ken)
For one: <https://github.com/NixOS/nixpkgs/issues/16490>, and another <https://bugs.launchpad.net/ubuntu/+source/blueman/+bug/1037216>. Yet another: <https://redmine.darktable.org/issues/11049>.
This looks like a different error than what your patch fixed to me, but we'll see in time, I guess.
I don't have any idea how to change or update icon themes on gtk3 in MacPorts...
comment:13 Changed 7 years ago by jjstickel (Jonathan Stickel)
OK, you may be right, that the missing icon file (or wrong target path) is causing the error. Not sure how to proceed with debugging that. Although maybe separate from this ticket, if we get that part resolved, we will know the patch is OK.
comment:14 Changed 7 years ago by kencu (Ken)
I poked around and I have this:
/opt/local/share/icons/Adwaita/16x16/status/image-missing.png
provided by adwaita-icon-theme
.
Do you have that installed?
comment:15 Changed 7 years ago by jjstickel (Jonathan Stickel)
After installing adwaita-icon-theme:
$ gtk3-demo (gtk3-demo:27161): Gtk-WARNING **: Could not load a pixbuf from icon theme. This may indicate that pixbuf loaders or the mime database could not be found. ** Gtk:ERROR:gtkiconhelper.c:493:ensure_surface_for_gicon: assertion failed: (destination) Abort trap: 6
Changed 7 years ago by jjstickel (Jonathan Stickel)
Attachment: | gtk3_Portfile.diff added |
---|
comment:16 Changed 7 years ago by jjstickel (Jonathan Stickel)
OK, it seems that the "gtkiconhelper.c" error I was receiving was not related. Applying my patch (gtk3_NSArray.patch, attached) to the latest gtk3 (3.22.19) seems to result in a working install of gtk3 +quartz; at least I can run gtk3-demo now. A patch to the Portfile is also attached.
comment:17 Changed 7 years ago by mfuhrer
Cc: | mfuhrer added |
---|
comment:18 Changed 7 years ago by jjstickel (Jonathan Stickel)
The patch I provided a few weeks ago has been implemented upstream. gtk3 is now several versions later than 3.22.17. I think this ticket can be closed. Also, ticket #54542 is a duplicate.
comment:19 Changed 7 years ago by mf2k (Frank Schima)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
I experienced the same error. I am also on Yosemite with Xcode 7.2.1, and using +quartz (but not universal).