GNOME Bugzilla – Bug 468893
fails to build if libcheck is not installed
Last modified: 2007-09-08 19:59:25 UTC
gst-plugins-good fails when trying to build stuff inside tests/check. Installing the package fixes the issues. I guess configure scripts should verify for libcheck existence.
Sorry, fixing version.
It checks for libgstcheck's existence AFAIK. What distro are you using? Is this with GStreamer from packages or compiled from source? How does it fail - could you provide the 'make' error output?
gstreamer built from SVN trunk. I installed not libgstcheck but the 'check' debian package. This happens only with 'gst-plugins-good', as far as I can tell. After having uninstalled 'check', reconfigured, and built: make[3]: Entering directory `/home/claudio/svn/gnome-2.20/gst-plugins-good/tests/check' if gcc -DHAVE_CONFIG_H -I. -I. -I../.. -pthread -I/opt/gnome-2.20/include/gstreamer-0.10 -I/opt/gnome-2.20/include/glib-2.0 -I/opt/gnome-2.20/lib/glib-2.0/include -I/opt/gnome-2.20/include/libxml2 -I/usr/include/gstreamer-0.10 -Wall -Werror -g -DGST_DISABLE_DEPRECATED -ggdb -O0 -MT autodetect.o -MD -MP -MF ".deps/autodetect.Tpo" -c -o autodetect.o `test -f 'elements/autodetect.c' || echo './'`elements/autodetect.c; \ then mv -f ".deps/autodetect.Tpo" ".deps/autodetect.Po"; else rm -f ".deps/autodetect.Tpo"; exit 1; fi In file included from elements/autodetect.c:25: /usr/include/gstreamer-0.10/gst/check/gstcheck.h:31:19: error: check.h: No such file or directory In file included from elements/autodetect.c:25: /usr/include/gstreamer-0.10/gst/check/gstcheck.h:79: error: expected ‘)’ before ‘*’ token cc1: warnings being treated as errors elements/autodetect.c: In function ‘test_autovideosink_ghostpad_error_case’: elements/autodetect.c:27: warning: implicit declaration of function ‘tcase_fn_start’ elements/autodetect.c:59: warning: implicit declaration of function ‘fail_unless’ elements/autodetect.c:77: error: ‘END_TEST’ undeclared (first use in this function) elements/autodetect.c:77: error: (Each undeclared identifier is reported only once elements/autodetect.c:77: error: for each function it appears in.) elements/autodetect.c:133: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’ token elements/autodetect.c:134: warning: implicit declaration of function ‘autodetect_suite’ elements/autodetect.c:134: error: expected expression before ‘void’ elements/autodetect.c:135: error: invalid type argument of ‘unary *’ elements/autodetect.c:135: error: expected ‘;’ before ‘{’ token elements/autodetect.c:155: error: expected declaration or statement at end of input make[3]: *** [autodetect.o] Error 1 make[3]: Leaving directory `/home/claudio/svn/gnome-2.20/gst-plugins-good/tests/check'
This looks like a bug in the debian libgstreamer0.10-dev dependencies list. Since libcheck is linked statically into libgstcheck-0.10 (which comes with libgstreamer-0.10), libgstreamer0.10-0 does not need to depend on the check package, but since libgstcheck's headers include check.h, at least the -dev package needs to depend on the check package. The gst-plugins-good configure check in CVS checks for libgstcheck, which should be sufficient. The reason it only happens with -good is probably that that's the only module which has disabled unit tests for which we use the noinst_PROGRAMS, which is built on 'make' and not only on 'make check' like the others. I'd guess that if you built gst-plugins-base from CVS and then did 'make check' in tests/check that wouldn't work either.
Yes, that's a bug with Debian's libgstreamer0.10-dev's package dependencies. I've fixed it locally and the fix will be in the next upload. Thanks for reporting.