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 759457 - Fails to build with --enable-gtk-doc due to missing symbol
Fails to build with --enable-gtk-doc due to missing symbol
Status: RESOLVED DUPLICATE of bug 756648
Product: yelp
Classification: Applications
Component: General
3.18.x
Other Linux
: Normal normal
: ---
Assigned To: Yelp maintainers
Yelp maintainers
Depends on:
Blocks:
 
 
Reported: 2015-12-14 15:42 UTC by Mario Sánchez Prada
Modified: 2015-12-14 16:10 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch proposal (834 bytes, patch)
2015-12-14 15:45 UTC, Mario Sánchez Prada
none Details | Review

Description Mario Sánchez Prada 2015-12-14 15:42:37 UTC
Trying to build yelp with --enable-gtk-doc from the 3.18.1 tarball fails since it can't find yelp_uri_get_type symbol, now inside the libyelpcommon.so shared object.

See the error I get:

mario:~/work/gnome/yelp/docs/libyelp $ make
_source_dir='' ; \
	for i in ../../libyelp ; do \
	    _source_dir="${_source_dir} --source-dir=$i" ; \
	done ; \
	gtkdoc-scan --module=libyelp --ignore-headers="yelp-common-types.h yelp-debug.h yelp-types.h  " ${_source_dir} --deprecated-guards="G_DISABLE_DEPRECATED" --rebuild-types 
if grep -l '^..*$' libyelp.types > /dev/null 2>&1 ; then \
	    scanobj_options=""; \
	    gtkdoc-scangobj 2>&1 --help | grep  >/dev/null "\-\-verbose"; \
	    if test "setup-build.stamp ../../libyelp/yelp-bookmarks.h ../../libyelp/yelp-bz2-decompressor.h ../../libyelp/yelp-common-types.h ../../libyelp/yelp-debug.h ../../libyelp/yelp-docbook-document.h ../../libyelp/yelp-document.h ../../libyelp/yelp-error.h ../../libyelp/yelp-help-list.h ../../libyelp/yelp-info-document.h ../../libyelp/yelp-info-parser.h ../../libyelp/yelp-lzma-decompressor.h ../../libyelp/yelp-magic-decompressor.h ../../libyelp/yelp-mallard-document.h ../../libyelp/yelp-man-document.h ../../libyelp/yelp-man-parser.h ../../libyelp/yelp-marshal.h ../../libyelp/yelp-search-entry.h ../../libyelp/yelp-settings.h ../../libyelp/yelp-simple-document.h ../../libyelp/yelp-sqlite-storage.h ../../libyelp/yelp-storage.h ../../libyelp/yelp-transform.h ../../libyelp/yelp-types.h ../../libyelp/yelp-uri-builder.h ../../libyelp/yelp-uri.h ../../libyelp/yelp-view.h ../../libyelp/yelp-bookmarks.c ../../libyelp/yelp-bz2-decompressor.c ../../libyelp/yelp-common-types.c ../../libyelp/yelp-debug.c ../../libyelp/yelp-docbook-document.c ../../libyelp/yelp-document.c ../../libyelp/yelp-error.c ../../libyelp/yelp-help-list.c ../../libyelp/yelp-info-document.c ../../libyelp/yelp-info-parser.c ../../libyelp/yelp-lzma-decompressor.c ../../libyelp/yelp-magic-decompressor.c ../../libyelp/yelp-mallard-document.c ../../libyelp/yelp-man-document.c ../../libyelp/yelp-man-parser.c ../../libyelp/yelp-marshal.c ../../libyelp/yelp-search-entry.c ../../libyelp/yelp-settings.c ../../libyelp/yelp-simple-document.c ../../libyelp/yelp-sqlite-storage.c ../../libyelp/yelp-storage.c ../../libyelp/yelp-transform.c ../../libyelp/yelp-types.c ../../libyelp/yelp-uri-builder.c ../../libyelp/yelp-uri.c ../../libyelp/yelp-view.c" = "0"; then \
	        if test "x" = "x1"; then \
	            scanobj_options="--verbose"; \
	        fi; \
	    fi; \
	    CC="/bin/bash ../../libtool --tag=CC --mode=compile gcc  -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include    -D_FORTIFY_SOURCE=2  -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wall -g" LD="/bin/bash ../../libtool --tag=CC --mode=link gcc -lgobject-2.0 -lglib-2.0    -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wall -g  -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,defs -Wl,-O1 -Wl,--as-needed" RUN="/bin/bash ../../libtool --mode=execute" CFLAGS="-pthread -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/gtk-3.0/unix-print -I/usr/include/gtk-3.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/pango-1.0 -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0 -I/usr/lib/i386-linux-gnu/dbus-1.0/include -I/usr/include/harfbuzz -I/usr/include/freetype2 -I/usr/include/pixman-1 -I/usr/include/libpng12 -I/usr/include/libxml2 -I/usr/include/webkitgtk-4.0 -I/usr/include/libsoup-2.4   -I../../libyelp -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wall -g" LDFLAGS="-lbz2 -llzma   -lexslt -lxslt -lxml2 -lsqlite3 -lwebkit2gtk-4.0 -lgtk-3 -lsoup-2.4 -ljavascriptcoregtk-4.0 -lgdk-3 -latk-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lpango-1.0 -lcairo -lgio-2.0 -lgobject-2.0 -lglib-2.0   ../../libyelp/libyelp.la -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,defs -Wl,-O1 -Wl,--as-needed" \
	    gtkdoc-scangobj  $scanobj_options --module=libyelp; \
	else \
	    for i in libyelp.args libyelp.hierarchy libyelp.interfaces libyelp.prerequisites libyelp.signals ; do \
	        test -f $i || touch $i ; \
	    done \
	fi
/usr/bin/ld: .libs/libyelp-scan.o: undefined reference to symbol 'yelp_uri_get_type'
/home/mario/work/gnome/yelp/libyelp/.libs/libyelpcommon.so: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
Linking of scanner failed: 
make: *** [scan-build.stamp] Error 1


Not 100% sure, but could be related to bug 757061
Comment 1 Mario Sánchez Prada 2015-12-14 15:45:42 UTC
Created attachment 317379 [details] [review]
Patch proposal

See attached the patch that fixed the issue for me, still applies on master
Comment 2 Michael Biebl 2015-12-14 15:56:10 UTC
that's a duplicate of https://bugzilla.gnome.org/show_bug.cgi?id=756648
which was rejected
Comment 3 Mario Sánchez Prada 2015-12-14 16:10:05 UTC
Thanks, I'll comment in that issue then

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