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 647799 - Fails to build the queue2 bindings
Fails to build the queue2 bindings
Status: RESOLVED DUPLICATE of bug 603930
Product: gstreamermm
Classification: Bindings
Component: general
git master
Other Linux
: Normal blocker
: ---
Assigned To: gstreamermm-maint
gstreamermm-maint
Depends on:
Blocks:
 
 
Reported: 2011-04-14 17:59 UTC by Sebastian Dröge (slomo)
Modified: 2011-04-15 11:55 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
gtkmmproc_21594.g1 (5.18 KB, text/plain)
2011-04-15 10:00 UTC, Sebastian Dröge (slomo)
Details

Description Sebastian Dröge (slomo) 2011-04-14 17:59:37 UTC
this is with gstreamer 0.10.32. All other plugin element bindings can be generated successfully.


/usr/bin/perl -I"/usr/lib/glibmm-2.4/proc/pm" -- "/usr/lib/glibmm-2.4/proc/gmmproc" -I ../../tools/m4 --defs . queue2 . ../gstreamermm
m4:/tmp/gtkmmproc_30240.g1:145: ERROR: end of file in argument list
m4 failed with exit code 1.  Aborting...
make: *** [.stamps/queue2.stamp] Error 1
Comment 1 Sebastian Dröge (slomo) 2011-04-14 18:04:58 UTC
Also everything builds fine when removing the queue2 bindings from everywhere
Comment 2 Murray Cumming 2011-04-15 08:53:16 UTC
Does this happen with gstreamer from git master too?
Comment 3 Sebastian Dröge (slomo) 2011-04-15 09:04:55 UTC
Yes
Comment 4 Murray Cumming 2011-04-15 09:27:23 UTC
I can't reproduce this with gstreamer from master (where queue2 is). You mentioned on irc that you are using gstreamer from master too.

Does that /tmp/gtkmmproc_30240.gl file still exist? It might give us a clue.
Comment 5 Sebastian Dröge (slomo) 2011-04-15 10:00:24 UTC
Created attachment 186012 [details]
gtkmmproc_21594.g1

When passing --debug this file is kept. Here it is
Comment 6 Murray Cumming 2011-04-15 10:11:01 UTC
Line 145 there is the _CONSTRUCT line here, which seems fine:

Queue2::Queue2(const Glib::ustring& name)
: _CONSTRUCT("name", name.c_str())
{}

Is there anything special about your system. What distro are you using, with what versions of perl and m4? Is this in jhbuild?
Comment 7 Sebastian Dröge (slomo) 2011-04-15 10:15:21 UTC
Debian/sid, perl 5.10.1, m4 1.4.16 and I'm not using jhbuild
Comment 8 Murray Cumming 2011-04-15 10:32:09 UTC
Thanks. I have Ubuntu Maverick, with perl 5.10.1 and m4 1.4.14, using jhbuild.

I can't do much here because I can't reproduce this. However, you might figure it out by removing parts of the (generated) queue2.hg (or .ccg) file until it starts working. For instance, try removing all the _WRAP_PROPERTY() lines.
Comment 9 Sebastian Dröge (slomo) 2011-04-15 10:56:32 UTC
Removing this from queue2.hg works:
_WRAP_PROPERTY("ring-buffer-max-size", guint64)

Removing other lines doesn't make a difference.

Difference between the generated files is the following:


--- /tmp/gtkmmproc_21594.g1	2011-04-15 12:55:27.536382629 +0200
+++ /tmp/gtkmmproc_23476.g1	2011-04-15 12:54:55.656224542 +0200
@@ -89,10 +89,6 @@
 
 _PROPERTY_PROXY(temp-remove,temp_remove,bool,_ReadOnly,Remove the temp-location after use.)dnl
 
-  _PROPERTY_PROXY(ring-buffer-max-size,ring_buffer_max_size,guint64,,Max. amount of data in the ring buffer (bytes, 0 = disabled.)dnl
-
-_PROPERTY_PROXY(ring-buffer-max-size,ring_buffer_max_size,guint64,_ReadOnly,Max. amount of data in the ring buffer (bytes, 0 = disabled.)dnl
-
 `'_END_CLASS_GOBJECT()
 };
Comment 10 Murray Cumming 2011-04-15 11:16:01 UTC
Thanks.

I guess this is caused by the lack of closing ) in the documentation for that property, though I don't know why it isn't causing that problem here:

$ gst-inspect queue2 | grep "ring-buffer-max-size"
  ring-buffer-max-size: Max. amount of data in the ring buffer (bytes, 0 = disabled
Comment 11 Murray Cumming 2011-04-15 11:19:26 UTC
Your .g1 file has this:
_PROPERTY_PROXY(ring-buffer-max-size,ring_buffer_max_size,guint64,_ReadOnly,Max. amount of data in the ring buffer (bytes, 0 = disabled.)dnl

But mine has this:
_PROPERTY_PROXY(ring-buffer-max-size,ring_buffer_max_size,guint64,_ReadOnly,changequote([,])[Max. amount of data in the ring buffer (bytes, 0 = disabled.]changequote(`,'))dnl

That changequote() seems relevant.

Are you using glibmm from git master too? That's what install gmmproc.
Comment 12 Murray Cumming 2011-04-15 11:22:37 UTC
(In reply to comment #11)

> Are you using glibmm from git master too? That's what install gmmproc.

I guess that would fix it. This change seems necessary, and maybe Jose added it for exactly this reason.
http://git.gnome.org/browse/glibmm/commit/tools/pm/Output.pm?id=3b643e509757fb2c15c55bd7a1d0707096fa4506

If you can confirm that then I'll require it in configure.
Comment 13 Sebastian Dröge (slomo) 2011-04-15 11:55:17 UTC
Works and I'll add the missing ) to queue2 :)

Will this patch be included in 2.28.1?
Comment 14 Sebastian Dröge (slomo) 2011-04-15 11:55:42 UTC

*** This bug has been marked as a duplicate of bug 603930 ***