When compiling xfconf-4.6.1 (on FreeBSD: ports/x11/xfce4-conf), I get this error when I specify GTKDoc-based documentation is wanted: gtk-doc: Building HTML rm -rf ./html mkdir ./html cd ./html && gtkdoc-mkhtml xfconf ../xfconf-docs.sgml Computing chunks... Writing xfconf-xfconf-types.html for refentry(xfconf-xfconf-types) Writing xfconf-xfconf-errors.html for refentry(xfconf-xfconf-errors) Writing ch01.html for chapter Writing xfconf-xfconf-backend.html for refentry(xfconf-xfconf-backend) Writing ch02.html for chapter Writing xfconf-xfconf.html for refentry(xfconf-xfconf) Writing xfconf-xfconf-channel.html for refentry(xfconf-xfconf-channel) Writing xfconf-xfconf-binding.html for refentry(xfconf-xfconf-binding) Writing ch03.html for chapter Writing index.html for book(index) Writing index.sgml for book(index) Writing xfconf.devhelp for book(index) Writing xfconf.devhelp2 for book(index) test "x" = "x" || ( cd . && cp html ) gtk-doc: Fixing cross-references cd . && gtkdoc-fixxref --module-dir=html --html-dir=/usr/local/share/gtk-doc/html Use of uninitialized value $MODULE in concatenation (.) or string at /usr/local/bin/gtkdoc-fixxref line 171. Use of uninitialized value $MODULE in concatenation (.) or string at /usr/local/bin/gtkdoc-fixxref line 171. Can't open -sections.txt: No such file or directory at /usr/local/bin/gtkdoc-fixxref line 171. gmake[3]: *** [html-build.stamp] Error 2 gmake[3]: Leaving directory `/home/ports_work/home/ports/x11/xfce4-conf/work/xfconf-4.6.1/docs/reference' gmake[2]: *** [all-recursive] Error 1 gmake[2]: Leaving directory `/home/ports_work/home/ports/x11/xfce4-conf/work/xfconf-4.6.1/docs' gmake[1]: *** [all-recursive] Error 1 gmake[1]: Leaving directory `/home/ports_work/home/ports/x11/xfce4-conf/work/xfconf-4.6.1' gmake: *** [all] Error 2 This is because docs/reference/Makefile (and docs/reference/Makefile.in) does not specify the --module=xfconf flag. The following patch worked for me: --- xfconf-4.6.1/docs/reference/Makefile.in.bak 2009-04-08 07:24:18.000000000 +1000 +++ xfconf-4.6.1/docs/reference/Makefile.in 2010-03-10 16:26:52.000000000 +1100 @@ -546,7 +546,7 @@ cd $(srcdir)/html && gtkdoc-mkhtml $(DOC_MODULE) ../$(DOC_MAIN_SGML_FILE) test "x$(HTML_IMAGES)" = "x" || ( cd $(srcdir) && cp $(HTML_IMAGES) html ) @echo 'gtk-doc: Fixing cross-references' - cd $(srcdir) && gtkdoc-fixxref --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) + cd $(srcdir) && gtkdoc-fixxref --module=$(DOC_MODULE) --module-dir=html --html-dir=$(HTML_DIR) $(FIXXREF_OPTIONS) touch html-build.stamp ##############
Although this should not be needed, I added to module option to the fixxref parameters (1d2c2da).
There's probably something in the makefile that requires GNU make, but the reporter was using BSD make... that's usually the case when someone's building on *BSD and gets weird build errors that make no sense.
Well, my build output didn't specify the --module parameter too (and a plain run of gtkdoc-fixxref showed the same warning), so adding this to the fixxref_options doesn't harm and makes sure the parameter is defined. If a small patch like this fixes the build with bsd make, I'm fine with it.
(In reply to comment #2) > There's probably something in the makefile that requires GNU make, but the > reporter was using BSD make... that's usually the case when someone's building > on *BSD and gets weird build errors that make no sense. Notice that the build messages terminate with a pile of messages from GNU make: gmake[3]: *** [html-build.stamp] Error 2 gmake[3]: Leaving directory `/home/ports_work/home/ports/x11/xfce4-conf/work/xfconf-4.6.1/docs/reference' gmake[2]: *** [all-recursive] Error 1 gmake[2]: Leaving directory `/home/ports_work/home/ports/x11/xfce4-conf/work/xfconf-4.6.1/docs' gmake[1]: *** [all-recursive] Error 1 gmake[1]: Leaving directory `/home/ports_work/home/ports/x11/xfce4-conf/work/xfconf-4.6.1' gmake: *** [all] Error 2 I think this bug is a bug in the GTKDoc hooks for Automake. Can anyone confirm this?