GNOME Bugzilla – Bug 647799
Fails to build the queue2 bindings
Last modified: 2011-04-15 11:55:42 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
Also everything builds fine when removing the queue2 bindings from everywhere
Does this happen with gstreamer from git master too?
Yes
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.
Created attachment 186012 [details] gtkmmproc_21594.g1 When passing --debug this file is kept. Here it is
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?
Debian/sid, perl 5.10.1, m4 1.4.16 and I'm not using jhbuild
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.
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() };
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
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.
(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.
Works and I'll add the missing ) to queue2 :) Will this patch be included in 2.28.1?
*** This bug has been marked as a duplicate of bug 603930 ***