GNOME Bugzilla – Bug 669120
Building Gtk-2.24 hangs during introspection with a glib later than 2.28
Last modified: 2018-04-15 00:20:53 UTC
From bug #668983 "Building Gtk-2.24 hangs during introspection with a glib later than 2.28, and gobject-introspection newer than 0.10 won't build with glib 2.28. (That's with SDK10.5; might be different on other SDKs, I haven't tested thoroughly.)"
Where and how does it hang exactly?
g-i 0.10 is an ancient version: the latest stable is 1.30. I can build g-i master and glib master on Lion (10.7) without issues. yes, the g-i situation is a bit unfortunate: you need to have glib and g-i pretty much in lockstep updates.
@Emmanuele: Cool, Can you also test again with the current stable version of each packages, ie, glib 2.30.2, g-i 1.30 and gtk 2.24.9 ? Thanks!
I have to add that I never had big problems getting glib, g-i and gtk+ to build. The only issue is that on Tiger (10.4), GNU make from MacPorts (I believe version 3.81) is required to get e.g. GTK+ to build with and without g-i. The version of GNU make that is shipped with the latest XCode released for Tiger is too old. Though as far as I understand here only the version of the SDK is concerned and not the version of GNU Make.
(In reply to comment #3) > g-i 0.10 is an ancient version: the latest stable is 1.30. > > I can build g-i master and glib master on Lion (10.7) without issues. > > yes, the g-i situation is a bit unfortunate: you need to have glib and g-i > pretty much in lockstep updates. The problem isn't that they don't build, the problem is that then Gtk2.24 won't build. (Gtk3 builds just fine.) (In reply to comment #2) > Where and how does it hang exactly? Heh. If I knew that, I'd have fixed it. Here's the output from the GI pass: /Volumes/SSD/gtk-build/gtk-stable-3/inst/include/glib-2.0/glib/gthread.h:347: syntax error, unexpected '{' in ' if ((gpointer) (__extension__ ({ G_STATIC_ASSERT (sizeof *(value_location) == sizeof (gpointer)); __sync_synchronize (); (gpointer) *(value_location); })) != ((void *)0))' at '{' /usr/include/libkern/i386/_OSByteOrder.h:49: syntax error, unexpected '{', expecting ',' or ';' in '{' at '{' /usr/include/libkern/i386/_OSByteOrder.h:58: syntax error, unexpected '{', expecting ',' or ';' in '{' at '{' /usr/include/libkern/i386/_OSByteOrder.h:73: syntax error, unexpected '{', expecting ',' or ';' in '{' at '{' ^C^CInterrupted Those warnings are normal, and a consequence of GI's imperfect handling of objective-c. AFAICT they're also harmless (meaning that when it doesn't hang the Gir and typelib are useable). Here's the call graph from Activity Monitor: Sampling process 79294 for 1 seconds with 1 millisecond of run time between samples Sampling completed, processing symbols... Analysis of sampling Python (pid 79294) every 1 millisecond Process: Python [79294] Path: /System/Library/Frameworks/Python.framework/Versions/2.6/Resources/Python.app/Contents/MacOS/Python Load Address: 0x1000 Identifier: Python Version: ??? (???) Code Type: X86 (Native) Parent Process: gnumake [64635] Date/Time: 2012-01-31 08:41:52.671 -0800 OS Version: Mac OS X 10.6.8 (10K549) Report Version: 7 Call graph: 776 Thread_7795331 DispatchQueue_1: com.apple.main-thread (serial) 776 start 776 Py_Main 776 PyRun_SimpleFileExFlags 776 PyRun_FileExFlags 776 Py_CompileString 776 PyEval_EvalCode 776 PyEval_EvalCodeEx 776 PyEval_EvalFrameEx 776 PyEval_EvalFrameEx 776 PyEval_EvalFrameEx 776 PyEval_EvalCodeEx 776 PyEval_EvalFrameEx 776 pygi_source_scanner_parse_macros 776 gi_source_scanner_parse_macros 776 gi_source_scanner_parse_file 776 yyparse 776 yylex 773 input 770 yy_get_next_buffer 760 yyrestart 756 yy_init_buffer 735 isatty 397 ioctl 394 ioctl 3 ioctl 325 tcgetattr 323 ioctl 2 tcgetattr 13 cerror 9 cthread_set_errno_self 7 __error 2 cthread_set_errno_self 4 cerror 11 cerror 9 cthread_set_errno_self 6 __error 3 cthread_set_errno_self 2 cerror 4 ioctl 4 ioctl 4 yy_flush_buffer 1 fileno 1 yy_load_buffer_state 2 yyrestart 1 DYLD-STUB$$fileno 1 DYLD-STUB$$isatty 8 fread 5 fread 2 __memcpy 1 __srefill0 2 yy_load_buffer_state 3 input 3 yylex Total number in stack (recursive counted multiple, when >=5): 5 ioctl Sort by top of stack, same collapsed (when >= 5): ioctl 724 __error 13 cerror 6 cthread_set_errno_self 5 fread 5
We're moving to gitlab! As part of this move, we are moving bugs to NEEDINFO if they haven't seen activity in more than a year. If this issue is still important to you and still relevant with GTK+ 3.22 or master, please reopen it and we will migrate it to gitlab.
As announced a while ago, we are migrating to gitlab, and bugs that haven't seen activity in the last year or so will be not be migrated, but closed out in bugzilla. If this bug is still relevant to you, you can open a new issue describing the symptoms and how to reproduce it with gtk 3.22.x or master in gitlab: https://gitlab.gnome.org/GNOME/gtk/issues/new