GNOME Bugzilla – Bug 706462
parse: fix build with Bison 3
Last modified: 2013-09-05 16:15:42 UTC
gstreamer needs to be patched slightly to build with Bison 3.
Created attachment 252504 [details] [review] Patch to support Bison 3
When was YYLEX_PARAM first marked as deprecated ? We need to make sure we still build with not-too-old bison also.
*** Bug 705401 has been marked as a duplicate of this bug. ***
Many thanks for the patch! commit bd2a01cfe222367493a71f3269f12250c8972db0 Author: Kerrick Staley <kerrick@kerrickstaley.com> Date: Tue Aug 20 23:59:29 2013 -0700 parse: make grammar.y work with Bison 3 YYLEX_PARAM is no longer supported in Bison 3. https://bugzilla.gnome.org/show_bug.cgi?id=706462 It works fine for me with bison 2.5 as well, and googling finds references to 'why was YYLEX_PARAM deprecated' and 'lex-param' from 2003, so it looks like it should be alright :)
I applied the patch and the build completed without error, but running gdb ./tools/.libs/gst-launch-1.0 resulted in a segmentation fault: (gdb) bt
+ Trace 232402
Yes, the command should have some parameters, but not having any should error out, not segfault. The same test using Bison 2.7 works properly.
Could you run: $ GST_CHECKS=test_launch_lines make -C tests/check/ pipelines/parse-launch.valgrind from the top-level gstreamer directory?
Created attachment 252606 [details] Run of valgrind as requested Failure with Bison-3.0. GST_CHECKS=test_launch_lines make -C tests/check/ pipelines/parse-launch.valgrind Final result was: make: *** [pipelines/parse-launch.valgrind] Error 1
Well, that was a challenge. I didn't have valgrind on my system. I went out and retrieved the valgrind source and tried to build it, but it only supports glibc versions 2.2 - 2.16. Even the tip of their svn tree only supports 2.17. I'm running glibc-2.18. Modifying configure allowed valgrind to build. The target gstreamer is 1.0.9. I had to rerun ./configure && make to get it to recognize valgrind, but the results are attached.
Thanks for the effort. valgrind is a great tool to have installed if you're doing C/C++ development. The test seems to pass for our purposes. Does a simple 'make check' pass?
Yes, 'make check' gives: ================== All 8 tests passed ================== I guess the segfault of gst-launch-1.0 with no parameters is a lower priority, but it should be addressed. There may be a latent problem behind that.
Oh, I was missing the fact that it was an empty pipeline :) Let's create another bug for that then and keep this one closed.
Cherry-picked into 1.0 branch.
Apologies for bumping a Closed/Fixed bug report, but will this fix be backported to 0.10, which is also affected? Thank you.
I have cherry-picked this into the 0.10 branch now. In general 0.10 is pretty much abandoned and unmaintained, however.