GNOME Bugzilla – Bug 636414
build failure on Meego
Last modified: 2010-12-17 14:46:58 UTC
grilo fails to build on multiple versions of Meego (Trunk, 1.0, 1.1) during the gtk-docs stage: configured with: --enable-gtk-doc--enable-static=no make[2]: Leaving directory `/home/abuild/rpmbuild/BUILD/grilo-0.1.6~gcaae9e4/tests' make[1]: Leaving directory `/home/abuild/rpmbuild/BUILD/grilo-0.1.6~gcaae9e4/tests' Making all in doc make[1]: Entering directory `/home/abuild/rpmbuild/BUILD/grilo-0.1.6~gcaae9e4/doc' Making all in reference make[2]: Entering directory `/home/abuild/rpmbuild/BUILD/grilo-0.1.6~gcaae9e4/doc/reference' gtk-doc: Scanning header files WARNING: Can't find basename of file ../../libs/net WARNING: File doesn't exist: ../../libs/net gtk-doc: Compiling scanner libtool: compile: gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -m32 -march=core2 -mssse3 -mtune=atom -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer -Wall -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-sign-compare -Wmissing-declarations -std=c99 -g3 -O0 -I../../src -I../../src/data -I../../libs/net -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -m32 -march=core2 -mssse3 -mtune=atom -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer -Wall -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-sign-compare -Wmissing-declarations -std=c99 -g3 -O0 -c grilo-scan.c -fPIC -DPIC -o .libs/grilo-scan.o grilo-scan.c: In function 'get_object_types': grilo-scan.c:29:5: warning: implicit declaration of function 'grl_net_wc_get_type' grilo-scan.c:29:5: warning: nested extern declaration of 'grl_net_wc_get_type' gtk-doc: Linking scanner libtool: link: gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -m32 -march=core2 -mssse3 -mtune=atom -mfpmath=sse -fasynchronous-unwind-tables -fno-omit-frame-pointer -Wall -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-sign-compare -Wmissing-declarations -std=c99 -g3 -O0 -o .libs/grilo-scan .libs/grilo-scan.o -pthread -Wl,--export-dynamic ../../src/.libs/libgrilo-0.1.so -lgio-2.0 -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lxml2 -pthread .libs/grilo-scan.o: In function `get_object_types': /home/abuild/rpmbuild/BUILD/grilo-0.1.6~gcaae9e4/doc/reference/grilo-scan.c:29: undefined reference to `grl_net_wc_get_type' collect2: ld returned 1 exit status Linking of scanner failed: make[2]: *** [scan-build.stamp] Error 1 make[2]: Leaving directory `/home/abuild/rpmbuild/BUILD/grilo-0.1.6~gcaae9e4/doc/reference' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/abuild/rpmbuild/BUILD/grilo-0.1.6~gcaae9e4/doc' make: *** [all-recursive] Error 1 error: Bad exit status from /var/tmp/rpm-tmp.1qVREp (%build)
Confirming: distcheck fails Also, can you share your spec file?
assigning it to me
I opened my mouth too quick: distcheck works just fine $ ./autogen.sh --enable-gtk-doc $ make $ make distcheck What worries me about your report is this WARNING: Can't find basename of file ../../libs/net WARNING: File doesn't exist: ../../libs/net Do your tarball include that directory? And again, can you share you spec file?
Created attachment 175942 [details] spec file for grilo Attached is the spec file. Let me know if you need anything else.
And ../../libs/net does exist, relative to doc/reference
grilo-net-wc.h needs to be included in grilo.h , and the .la file needs to be added in the doc/reference/Makefile.am for linking. Also the grilo-net stuff relies on libsoup, which needs to be added to the spec file..otherwise it silently fails (no autotools check for libsoup?). Here is a quick and dirty diff to make things build, I am not sure of the proper way to modify the Makefiles/autotooling, and also, should the libs/net stuff be under the src dir? Or does it even need to be documented? diff --git a/doc/reference/Makefile.am b/doc/reference/Makefile.am index 194c14b..91c0583 100644 --- a/doc/reference/Makefile.am +++ b/doc/reference/Makefile.am @@ -22,8 +22,7 @@ DOC_MAIN_SGML_FILE=$(DOC_MODULE)-docs.sgml # gtk-doc will search all .c & .h files beneath here for inline comments # documenting the functions and macros. # e.g. DOC_SOURCE_DIR=../../../gtk -DOC_SOURCE_DIR=$(top_srcdir)/src \ - $(top_srcdir)/libs/net +DOC_SOURCE_DIR=$(top_srcdir)/src # Extra options to pass to gtkdoc-scangobj. Not normally needed. SCANGOBJ_OPTIONS= @@ -89,7 +88,8 @@ GTKDOC_CFLAGS = -I$(top_srcdir)/src \ -I$(top_srcdir)/libs/net \ $(DEPS_CFLAGS) -GTKDOC_LIBS = $(top_builddir)/src/lib@GRL_NAME@.la \ +GTKDOC_LIBS = $(top_builddir)/src/lib@GRL_NAME@.la \ + $(top_builddir)/libs/net/*.la \ $(DEPS_LIBS) # This includes the standard gtk-doc make rules, copied by gtkdocize. diff --git a/src/grilo.h b/src/grilo.h index 5db015e..3ca83dd 100644 --- a/src/grilo.h +++ b/src/grilo.h @@ -43,6 +43,7 @@ #include <grl-config.h> #include <grl-multiple.h> #include <grl-util.h> +#include <../libs/net/grl-net-wc.h> #undef _GRILO_H_INSIDE_
Finally got some time to play with the meego chroot environment. gtk-doc 1.14 doesn't support multiple source directories, just until 1.15 does it. The real patch, I reckon, is to split the documentation in grilo and libs (yes, just as gstreamer does).
(In reply to comment #7) <snip> > The real patch, I reckon, is to split the documentation in grilo and libs (yes, > just as gstreamer does). Ok with me, go ahead!
Created attachment 176472 [details] [review] Revert "doc: add the GrlNetWc definition" This reverts commit 0c8ac155c51bf9c509922a448c1f290daea48740. Because gtk-doc 1.14 does not support multiple source directories, the reference subdirectory must be splitted in two: grilo core documentation and grilo libraries documentation. This commit revert the addition of GrlNetWc in grilo core documentation, as previous step for the documentation split. Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
Created attachment 176473 [details] [review] Revert "doc: fix the gtkdoc generation" This reverts commit 09b5bc47eb59d7ce871a443b1c544405e727f5c6. Because gtk-doc 1.14 does not support multiple source directories, the reference subdirectory must be splitted in two: grilo core documentation and grilo libraries documentation. This commit reverts the automake setup removing the grl_net_wc_type from the object scanning. Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
Created attachment 176474 [details] [review] doc: rename reference directory to grilo Because gtk-doc 1.14 does not support multiple source directories, the reference subdirectory must be splitted in two: grilo core documentation and grilo libraries documentation. This commit rename the reference directory to grilo, where the core documentation will be processed. Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
Created attachment 176475 [details] [review] doc: grilo-libs documentation Signed-off-by: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
Patrick, you shall modify your spec file in order to add share/gtk-doc/grilo-libs in the documentation package.
Pushed: * 0f0cd9f doc: grilo-libs documentation * 86c19ae doc: rename reference directory to grilo * 1af17ab Revert "doc: fix the gtkdoc generation" * 389c041 Revert "doc: add the GrlNetWc definition"