After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 669120 - Building Gtk-2.24 hangs during introspection with a glib later than 2.28
Building Gtk-2.24 hangs during introspection with a glib later than 2.28
Status: RESOLVED OBSOLETE
Product: gtk+
Classification: Platform
Component: Language Bindings
2.24.x
Other Linux
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks: 668983
 
 
Reported: 2012-01-31 16:06 UTC by Javier Jardón (IRC: jjardon)
Modified: 2018-04-15 00:20 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Javier Jardón (IRC: jjardon) 2012-01-31 16:06:52 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.)"
Comment 1 Kristian Rietveld 2012-01-31 16:14:20 UTC
Where and how does it hang exactly?
Comment 2 Kristian Rietveld 2012-01-31 16:14:24 UTC
Where and how does it hang exactly?
Comment 3 Emmanuele Bassi (:ebassi) 2012-01-31 16:18:27 UTC
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.
Comment 4 Javier Jardón (IRC: jjardon) 2012-01-31 16:26:39 UTC
@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!
Comment 5 Kristian Rietveld 2012-01-31 16:42:36 UTC
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.
Comment 6 John Ralls 2012-01-31 16:44:21 UTC
(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
Comment 7 Matthias Clasen 2018-02-10 05:03:29 UTC
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.
Comment 8 Matthias Clasen 2018-04-15 00:20:53 UTC
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