Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 387385 - dev-libs/glib-2.30.1-r1[doc] fails due to missing libgdbus-example-objectmanager.la
Summary: dev-libs/glib-2.30.1-r1[doc] fails due to missing libgdbus-example-objectmana...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Linux Gnome Desktop Team
URL: https://bugzilla.gnome.org/show_bug.c...
Whiteboard:
Keywords:
: 387643 (view as bug list)
Depends on:
Blocks: gnome3.2
  Show dependency tree
 
Reported: 2011-10-17 09:10 UTC by Juergen Rose
Modified: 2011-11-14 08:21 UTC (History)
20 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
/var/tmp/portage/dev-libs/glib-2.30.1-r1/temp/build.log (build.log,200.99 KB, text/plain)
2011-10-17 09:10 UTC, Juergen Rose
Details
docs/reference/gio/gdbus-object-manager-example/Makefile.am patch (glib-2.30.1-gdbus-object-manager-example-test-docs.patch,397 bytes, patch)
2011-10-20 03:56 UTC, Joe Pelkey
Details | Diff
ebuild modified to use patch (glib-2.30.1-r1.ebuild,8.28 KB, text/plain)
2011-10-20 03:57 UTC, Joe Pelkey
Details
generic doc patch (glib-2.30.1-doc-dependencies.patch,639 bytes, text/plain)
2011-10-22 01:02 UTC, Joe Pelkey
Details
glib-2.30.1-r1.ebuild patch: use the generic doc patch and add dbus-codegen dep if USE=doc (glib-2.30.1-r1.ebuild.patch,724 bytes, patch)
2011-10-28 11:13 UTC, Petr Zima
Details | Diff
glib-2.30.1-r1 disable gdbus-object-manager-example documentation (glib-2.30.1-r1-disable-gdbus-object-manager-example-doc.patch,588 bytes, patch)
2011-10-31 12:05 UTC, David E. Narváez
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Juergen Rose 2011-10-17 09:10:01 UTC
Created attachment 290035 [details]
/var/tmp/portage/dev-libs/glib-2.30.1-r1/temp/build.log

'emerge glib' fails with:
...
make[4]: Entering directory `/var/tmp/portage/dev-libs/glib-2.30.1-r1/work/glib-2.30.1/docs/reference/gio'
Making all in gdbus-object-manager-example
make[5]: Entering directory `/var/tmp/portage/dev-libs/glib-2.30.1-r1/work/glib-2.30.1/docs/reference/gio/gdbus-object-manager-example'
  DOC   Scanning header files
  DOC   Introspecting gobjects
libtool: link: cannot find the library `../../../../gio/tests/gdbus-object-manager-example/libgdbus-example-objectmanager.la' or unhandled argument `../../../../gio/tests/gdbus-object-manager-example/libgdbus-example-objectmanager.la'
Linking of scanner failed: 
make[5]: *** [scan-build.stamp] Error 1
Comment 1 Juergen Rose 2011-10-17 09:23:41 UTC
root@thinkpad:/usr/src/linux(39)# emerge --info =dev-libs/glib-2.30.1-r1
Portage 2.1.10.27 (default/linux/x86/10.0/desktop, gcc-4.5.3, glibc-2.13-r4, 3.0.6-gentoo i686)
=================================================================
                        System Settings
=================================================================
System uname: Linux-3.0.6-gentoo-i686-Intel-R-_Pentium-R-_M_processor_2.00GHz-with-gentoo-2.1
Timestamp of tree: Mon, 17 Oct 2011 05:00:01 +0000
ccache version 3.1.6 [disabled]
app-shells/bash:          4.2_p10
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.2-r3, 3.2.2
dev-util/ccache:          3.1.6
dev-util/cmake:           2.8.6-r1
dev-util/pkgconfig:       0.26
sys-apps/baselayout:      2.1
sys-apps/openrc:          0.9.4
sys-apps/sandbox:         2.5
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.9.6-r3, 1.10.3, 1.11.1-r1
sys-devel/binutils:       2.21.1-r1
sys-devel/gcc:            4.5.3-r1
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.4-r3
sys-devel/make:           3.82-r3
sys-kernel/linux-headers: 2.6.39 (virtual/os-headers)
sys-libs/glibc:           2.13-r4
Repositories: gentoo arcon java-overlay lordvan science sunrise x11 local x-cpan g-octave
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="* -@EULA PUEL dlj-1.1 skype-eula googleearth AdobeFlash-10.1 cadsoft Oracle-BCLA-JavaSE"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium-m -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.0/conf /usr/share/openvpn/easy-rsa /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -march=pentium-m -fomit-frame-pointer"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests binpkg-logs distlocks ebuild-locks fixlafiles news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -march=pentium-m -fomit-frame-pointer"
GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror http://ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ ftp://ftp.wh2.tu-dresden.de/pub/mirrors/gentoo ftp://sunsite.informatik.rwth-aachen.de/pub/Linux/gentoo ftp://ftp.tu-clausthal.de/pub/linux/gentoo ftp://ftp.easynet.nl/mirror/gentoo/ "
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="de fr"
MAKEOPTS="-j1"
PKGDIR="/usr/portage/packages/"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/arcon /var/lib/layman/java-overlay /var/lib/layman/lordvan /var/lib/layman/science /var/lib/layman/sunrise /var/lib/layman/x11 /usr/local/portage /var/lib/cpan /var/lib/g-octave"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="R X Xaw3d a52 aac abiword accessibility acl acpi admin afs alsa amrr ao apache2 applet archive arpack asf aspell assistant atlas audacious audiofile automap automount bash-completion beagle berkdb blas blast bluetooth boo boost branding bzip2 cairo cardbus cdda cddb cdf cdio cdparanoia cdr cgi chm cli consolekit corba cracklib crypt css cups curl cxx daap db dbase dbi dbm dbus declarative designer devhelp device-mapper dga dia djvu doc dri ds2490 ds9097 ds9097u dts dv dvb dvd dvdr dvi dynamicplugin eds elf emacs emboss emf encode epiphany evo examples exif expat extensions extra extras fam ffmpeg fftw firefox fits flac fltk fontconfig foomaticdb fortran fortran95 fpx fts3 fuse galago garmin gd gdal gdbm gdu gedit geoip geolocation geos gfortran gif gimp ginac git glade glib glpk gml gmp gmtsuppl gnome gnome-keyring gnome-print gnuplot gnutls gphoto2 gpm grammar graphics graphtft graphviz grass gs gsl gsm gstreamer gtk gudev guile harness hddtemp hdf hdf5 hdri http httpd hwdb iconv icq icu id3 ide imagemagick imap innodb inotify ipod ipv6 irda ithreads jabber jadetex java java6 jbig john jpeg jpeg2k kdrive kerberos kpathsea ladspa lame lapack laptop latex latex3 lcms ldap lensfun libffi libgda libnotify libsamplerate lirc lua lzo mad madwifi mail maildir mapnik math matroska mkl mmx mmxext mng modules mono moonlight motif mozilla mp3 mp4 mpeg mpi mplayer mtp mudflap musicbrainz mysql mysqli nautilus ncurses neXt netcdf netpbm network networking networkmanager nfs nls nntp nptl nptlonly nsplugin ntfs ntp numpy obex objc ocaml ocr octave odbc ogdi ogg ole openexr opengl openmp overview pam pango pcre pda pdf perl plotutils plugins png podcast policykit portaudio posix postgres postscript ppds pppd preview-latex proj projectx pstricks pulseaudio python python-bindings q16 q32 qemu qhull qt3support qt4 quicktime readline reiserfs reports rle romio rpc rrdcgi rrdtool sage samba sasl science sdk sdl secure-delete semantic-desktop server session sip slang slp smbclient sms sndfile snmp soup sox speex spell sql sqlite sse sse2 ssl startup-notification stlport subtitles subversion suexec svg svm swig sysfs szip t1lib tcl tcpd tex tex4ht texmacs tgif theora thinkpad threads thunderbird tidy tiff tk tools truetype udev unicode usb userlocales utempter v4l2 vaapi video virtualbox vorbis wav webdav webdav-serf webkit wifi win32codecs wmf wxwidgets x264 x86 xattr xcb xemacs xext xft xine xml xmlreader xmlrpc xorg xpm xulrunner xv xvid xvmc yaml zlib zvbi" ALSA_CARDS="intel8x0 ac97_codec emu10k1 emu10k1x" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgid dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan stage tables krita karbon braindump" CAMERAS="canon" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" DVB_CARDS="usb-wt220u" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="de fr" NETBEANS_MODULES="apisupport cnd dlight enterprise ergonomics groovy gsf harness ide identity j2ee java mobility nb php profiler ruby websvccommon xml" PHP_TARGETS="php5-3" QEMU_SOFTMMU_TARGETS="i386 ppc ppc64 x86_64" QEMU_USER_TARGETS="arm i386 x86_64" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="radeon vesa displaylink" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS


root@thinkpad:/usr/src/linux(40)# emerge -pqv =dev-libs/glib-2.30.1-r1
[ebuild     U ] dev-libs/glib-2.30.1-r1 [2.30.0] USE="doc fam static-libs xattr -debug (-selinux) -systemtap -test -utils%"
Comment 2 Ed Tomlinson 2011-10-17 11:56:58 UTC
Fails here with doc and works with -doc on amd64 with multilib.
Comment 3 Eckard Brauer 2011-10-17 12:41:17 UTC
same here for ~x86 -- temporarily disabled USE="doc".
Comment 4 Martin von Gagern 2011-10-17 19:19:49 UTC
Same here. straced the make, to identify the command actually printing this error:

/bin/sh ../../../../libtool --tag=CC --mode=link x86_64-pc-linux-gnu-gcc \
-march=amdfam10 -O2 -ggdb -pipe -Wall -Wl,--as-needed \
gdbus-object-manager-example-scan.lo \
../../../../glib/libglib-2.0.la \
../../../../gobject/libgobject-2.0.la \
../../../../gmodule/libgmodule-2.0.la \
../../../../gio/libgio-2.0.la \
../../../../gio/tests/gdbus-object-manager-example/libgdbus-example-objectmanager.la \
-Wl,--as-needed -o gdbus-object-manager-example-scan

Not sure if this is any help.
Comment 5 Pacho Ramos gentoo-dev 2011-10-18 19:48:33 UTC
I cannot reproduce, Can you check with "MAKEOPTS=-j1"?
Comment 6 Nick Bowler 2011-10-18 20:12:28 UTC
(In reply to comment #5)
> I cannot reproduce, Can you check with "MAKEOPTS=-j1"?

According to the above posted emerge --info and build log, the OP was already
using MAKEOPTS="-j1".  Nevertheless, it still fails here when I run it with
MAKEOPTS="-j1".
Comment 7 Pacho Ramos gentoo-dev 2011-10-18 21:55:48 UTC
Is it the same with 2.30.1?
Comment 8 Ben Longbons 2011-10-19 03:26:06 UTC
2.30.1 fails with the same error,
2.30.0 builds
Comment 9 Pacho Ramos gentoo-dev 2011-10-19 09:10:16 UTC
Looks like glib wants to use some tests files when building with "doc", and then, if you try to build with USE="test doc" it should succeed. Can you try it?
Comment 10 Pacho Ramos gentoo-dev 2011-10-19 09:30:42 UTC
*** Bug 387643 has been marked as a duplicate of this bug. ***
Comment 11 Andrey Grozin gentoo-dev 2011-10-19 10:07:17 UTC
(In reply to comment #9)
> Looks like glib wants to use some tests files when building with "doc", and
> then, if you try to build with USE="test doc" it should succeed. Can you try
> it?
In this case, building docs succeeds. However, a test fails:


TEST: socket... (pid=26569)
  /socket/ipv4_sync:                                                   OK
  /socket/ipv4_async:                                                  OK
  /socket/ipv6_sync:                                                   **
ERROR:socket.c:92:create_server: assertion failed (error == NULL): Unable to create socket: Address family not supported by protocol (g-io-error-quark, 0)
FAIL
GTester: last random seed: R02S5922c1f78ebd686b3ed62051947ed69d
/bin/sh: line 1: 25066 Terminated              MALLOC_CHECK_=2 MALLOC_PERTURB_=$((${RANDOM:-256} % 256)) ../../glib/gtester --verbose io-stream actions memory-input-stream memory-output-stream readwrite g-file g-file-info converter-stream data-input-stream data-output-stream g-icon buffered-input-stream buffered-output-stream sleepy-stream filter-streams volumemonitor simple-async-result srvtarget contexts gsettings gschema-compile async-close-output-stream gdbus-addresses network-address gdbus-message socket pollable tls-certificate tls-interaction cancellable gdbus-close-pending gdbus-connection gdbus-connection-loss gdbus-connection-slow gdbus-names gdbus-proxy gdbus-proxy-threads gdbus-proxy-well-known-name gdbus-introspection gdbus-threading gdbus-export gdbus-error gdbus-peer gdbus-exit-on-close gdbus-non-socket gdbus-bz627724 appinfo contenttype file live-g-file desktop-app-info unix-fd unix-streams gapplication gdbus-test-codegen gdbus-serialization
make[6]: *** [test-nonrecursive] Error 143
make[6]: Leaving directory `/var/tmp/portage/dev-libs/glib-2.30.1-r1/work/glib-2.30.1/gio/tests'
make[5]: *** [check-am] Error 2
make[5]: Leaving directory `/var/tmp/portage/dev-libs/glib-2.30.1-r1/work/glib-2.30.1/gio/tests'
make[4]: *** [check-recursive] Error 1
make[4]: Leaving directory `/var/tmp/portage/dev-libs/glib-2.30.1-r1/work/glib-2.30.1/gio/tests'
make[3]: *** [check] Error 2
make[3]: Leaving directory `/var/tmp/portage/dev-libs/glib-2.30.1-r1/work/glib-2.30.1/gio/tests'
make[2]: *** [check-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/dev-libs/glib-2.30.1-r1/work/glib-2.30.1/gio'
make[1]: *** [check] Error 2
make[1]: Leaving directory `/var/tmp/portage/dev-libs/glib-2.30.1-r1/work/glib-2.30.1/gio'
make: *** [check-recursive] Error 1
 * ERROR: dev-libs/glib-2.30.1-r1 failed (test phase):
 *   emake failed
Comment 12 Juergen Rose 2011-10-19 10:15:37 UTC
After adding test USE flag emerge complains about missing xvfb USE flag xorg-server, so I did the following:

root@moose:/root(9)# emerge -pvuND world

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] dev-libs/glib-2.30.1-r1  USE="doc* fam static-libs xattr -debug (-selinux) -systemtap -test -utils" 0 kB

Total: 1 package (1 reinstall), Size of downloads: 0 kB
root@moose:/root(10)# USE=test emerge -v1 glib

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] x11-base/xorg-server-1.11.1-r1  USE="doc ipv6 kdrive nptl udev xorg xvfb* -dmx -minimal -static-libs -tslib -xnest" 0 kB
[ebuild  N     ] dev-util/gdbus-codegen-2.30.1  0 kB
[ebuild   R    ] dev-libs/glib-2.30.1-r1  USE="doc* fam static-libs test* xattr -debug (-selinux) -systemtap -utils" 0 kB

Total: 3 packages (1 new, 2 reinstalls), Size of downloads: 0 kB

The following USE changes are necessary to proceed:
#required by dev-libs/glib-2.30.1-r1[test], required by dev-util/gdbus-codegen-2.30.1
=x11-base/xorg-server-1.11.1-r1 xvfb

Use --autounmask-write to write changes to config files (honoring CONFIG_PROTECT).
root@moose:/root(11)# USE="test xvfb" emerge -v1 glib

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] x11-base/xorg-server-1.11.1-r1  USE="doc ipv6 kdrive nptl udev xorg xvfb* -dmx -minimal -static-libs -tslib -xnest" 0 kB
[ebuild  N     ] dev-util/gdbus-codegen-2.30.1  0 kB
[ebuild   R    ] dev-libs/glib-2.30.1-r1  USE="doc* fam static-libs test* xattr -debug (-selinux) -systemtap -utils" 0 kB

Total: 3 packages (1 new, 2 reinstalls), Size of downloads: 0 kB


>>> Verifying ebuild manifests
>>> Running pre-merge checks for x11-base/xorg-server-1.11.1-r1

>>> Starting parallel fetch

>>> Emerging (1 of 3) x11-base/xorg-server-1.11.1-r1
 * xorg-server-1.11.1.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...



After that glib was emerged succesfull. What should be do now? Should be globally activate the test and xvfb USE flag?
Comment 13 Pacho Ramos gentoo-dev 2011-10-19 10:16:25 UTC
That is a different problem, please file a bug for it (as tests succeeded for me :S)
Comment 14 Pacho Ramos gentoo-dev 2011-10-19 10:17:56 UTC
(In reply to comment #12)
> After that glib was emerged succesfull. What should be do now? Should be
> globally activate the test and xvfb USE flag?

Well, building with docs shouldn't rely on tests files, the problem is that upstream doesn't notice this as they always build test files (even when tests are not run), not sure if upstream will care about this then :(
Comment 15 Pacho Ramos gentoo-dev 2011-10-19 10:19:50 UTC
(In reply to comment #11)
> (In reply to comment #9)
> > Looks like glib wants to use some tests files when building with "doc", and
> > then, if you try to build with USE="test doc" it should succeed. Can you try
> > it?
> In this case, building docs succeeds. However, a test fails:
> 
> 
> TEST: socket... (pid=26569)
>   /socket/ipv4_sync:                                                   OK
>   /socket/ipv4_async:                                                  OK
>   /socket/ipv6_sync:                                                   **
> ERROR:socket.c:92:create_server: assertion failed (error == NULL): Unable to
> create socket: Address family not supported by protocol (g-io-error-quark, 0)
> FAIL
[...]

I guess your system has ipv6 support, no? ;)
Comment 16 Andrey Grozin gentoo-dev 2011-10-19 10:40:31 UTC
(In reply to comment #15)
> I guess your system has ipv6 support, no? ;)
On my PC, ipv6 is disabled everywhere, because our network infrastructure does not support it. Is there a way to disable ipv6 tests?
Comment 17 Pacho Ramos gentoo-dev 2011-10-19 11:18:42 UTC
(In reply to comment #16)
> (In reply to comment #15)
> > I guess your system has ipv6 support, no? ;)
> On my PC, ipv6 is disabled everywhere, because our network infrastructure does
> not support it. Is there a way to disable ipv6 tests?

Not sure how to handle situations like this, will wait for more opinions from other gnome team members :-|
Comment 18 Joe Pelkey 2011-10-20 03:56:35 UTC
Created attachment 290297 [details, diff]
docs/reference/gio/gdbus-object-manager-example/Makefile.am patch

This isn't the cleanest patch possible, but it works for me, until upstream does something.
Comment 19 Joe Pelkey 2011-10-20 03:57:51 UTC
Created attachment 290299 [details]
ebuild modified to use patch
Comment 20 Geoff Madden 2011-10-21 15:20:43 UTC
(In reply to comment #18)
> Created attachment 290297 [details, diff]
> docs/reference/gio/gdbus-object-manager-example/Makefile.am patch
> 
> This isn't the cleanest patch possible, but it works for me, until upstream
> does something.

Dunno if this's the right way,but the patch didn't want to apply on my athlon-xp,so I applied it manually,recompressed glib,edited the Manifest file ,reran ebuild on the ebuild,and it's compiled up ok. So can put it down to Works for me,also.
Geoff
Comment 21 Joe Pelkey 2011-10-21 18:27:49 UTC
I should have just said this earlier, but I was working on no sleep.  The reason I sent the ebuild also was because the patch can't be applied before the glib-2.30.1-r1.ebuild does its indiscriminate seds to eliminate "tests" within SUBDIRS lines, since the kludged subdir I wrote would be converted to "../../../../gio//gdbus-object-manager-example", which doesn't exist and throws an automake error early on.

I guess a more bulletproof and cleaner solution would be to find which files in $(srcdir)/gtk-doc.make should be dependencies of targets that aren't, such as $(GTKDOC_LIBS) being a dependency of scan-build.stamp in this instance, and making the rules in that file to call make for those files in their proper directories.  That's what I did initially, but directly in the Makefile.in file instead of gtk-doc.make.
Comment 22 Joe Pelkey 2011-10-22 01:02:10 UTC
Created attachment 290497 [details]
generic doc patch

Ok, I changed the include for all doc Makefile.am's, and this should be much cleaner (and more generic) than my previous patch.  I looked through the rest of gtk-doc.make to see if anything else warranted additional dependencies, but I didn't find anything.
Comment 23 Pacho Ramos gentoo-dev 2011-10-22 09:23:11 UTC
I think the best solution would be to simply tests building only when "! use test && ! use doc" at:

        if ! use test; then
                # don't waste time building tests
                sed 's/^\(.*\SUBDIRS .*\=.*\)tests\(.*\)$/\1\2/' -i $(find . -name Makefile.am -o -name Makefile.in) || die
        else
[...]

Regarding the issue, I have looked to changes between glib-2.30.1 and 2.30.0 and cannot find the culprit :S
http://git.gnome.org/browse/glib/log/?h=glib-2-30
Comment 24 Petr Zima 2011-10-28 11:11:05 UTC
Same problem here with USE="-test doc" on ~x86. The generic doc patch fixes it for me, but building the docs depends on dev-util/gdbus-codegen then.
Comment 25 Petr Zima 2011-10-28 11:13:11 UTC
Created attachment 291079 [details, diff]
glib-2.30.1-r1.ebuild patch: use the generic doc patch and add dbus-codegen dep if USE=doc
Comment 26 David E. Narváez 2011-10-31 12:05:51 UTC
Created attachment 291349 [details, diff]
glib-2.30.1-r1 disable gdbus-object-manager-example documentation

Isn't pulling yet another dependency for documentation an overkill? The attached patch disables the documentation that causes the problem just after the lines that actually cause the problem (the issue is that, when not using test flags, the tests are disabled).

The one issue I see with this patch is that the HTML documentation that is generated has a broken link, but that could also be ironed out with patches.
Comment 27 Petr Zima 2011-11-01 08:29:11 UTC
(In reply to comment #26)
> Isn't pulling yet another dependency for documentation an overkill?

IMHO upstream should decide this and fix the build system in the first place.
Comment 28 Pacho Ramos gentoo-dev 2011-11-01 10:39:19 UTC
I still think you should try workaround from comment #23 as upstream (wrongly) builds tests always and, then, they didn't notice problems like this
Comment 29 Juergen Rose 2011-11-12 11:00:08 UTC
I have now the same error with glib-2.30.1-r2.
Comment 30 Alexandre Rostovtsev (RETIRED) gentoo-dev 2011-11-14 08:21:22 UTC
Joe, David, zimous, I certainly appreciate the work that went into your patches, but Pacho's suggestion seems to be the one that will cause the fewest headaches for overworked glib maintainers on testing future version bumps, so that's what we are going with.

As an aside, there is really no advantage for an average user to build glib with USE=doc; the pre-generated API documentation that comes with the tarball will get installed even if USE=-doc, and glib upstream is good about keeping the pre-generated docs up to date.

>  14 Nov 2011; Alexandre Rostovtsev <tetromino@gentoo.org> +glib-2.30.2.ebuild,
>  +files/glib-2.30.2-machine-id.patch:
>  Bump. Notable changes: gdbus-related bugfixes. Add patch to detect machine-id
>  in both /etc and /var, and lower dbus dep. Compile tests when USE=doc to
>  prevent build failure (bug #387385, solution proposed by Pacho Ramos).