gtkdoc-fixref problem on gentoo linux

Recently, when updating the gentoo linux on my amd64 box I got errors when building packages with the doc USE flag. All failing packages were using the gtkdoc tool for generating the documentation. Nowhere in the web was a topic concerning this problem. All these packages failed similar to example for libbonobo below. But many other ebuilds, i.e. glib, gedit etc. were also affected.

Writing libbonobo-bonobo-persist-file.html for refentry(libbonobo-bonobo-persist-file)
Writing libbonobo-bonobo-persist-stream.html for refentry(libbonobo-bonobo-persist-stream)
Writing libbonobo-bonobo-persist-client.html for refentry(libbonobo-bonobo-persist-client)
Writing persist.html for chapter(persist)
Writing debugging.html for refentry(debugging)
Writing libbonobo-faq.html for refentry(libbonobo-faq)
Writing libbonobo-bonobo-config-database.html for refentry(libbonobo-bonobo-config-database)
Writing misc.html for chapter(misc)
Writing ix01.html for index
Writing index.html for book(index)
Writing index.sgml for book(index)
Writing libbonobo.devhelp for book(index)
Writing libbonobo.devhelp2 for book(index)
gtk-doc: Fixing cross-references
try vitry vish: /usr/bin/vim: Datei oder Verzeichnis nicht gefunden
readline() on closed filehandle NEWFILE at /usr/bin/gtkdoc-fixxref line 467.
Use of uninitialized value in substitution (s///) at /usr/bin/gtkdoc-fixxref line 470.
Use of uninitialized value in substitution (s///) at /usr/bin/gtkdoc-fixxref line 471.
Use of uninitialized value in substitution (s///) at /usr/bin/gtkdoc-fixxref line 475.
Use of uninitialized value in substitution (s///) at /usr/bin/gtkdoc-fixxref line 476.
Use of uninitialized value in substitution (s///) at /usr/bin/gtkdoc-fixxref line 477.
Use of uninitialized value in substitution (s///) at /usr/bin/gtkdoc-fixxref line 478.
Use of uninitialized value in substitution (s///) at /usr/bin/gtkdoc-fixxref line 479.
Use of uninitialized value in substitution (s///) at /usr/bin/gtkdoc-fixxref line 480.
Use of uninitialized value in substitution (s///) at /usr/bin/gtkdoc-fixxref line 481.
Can’t delete html/_temp_src.15046.h.html: Datei oder Verzeichnis nicht gefunden at /usr/bin/gtkdoc-fixxref line 486.
make[1]: *** [html-build.stamp] Fehler 2
make[1]: Leaving directory `/var/tmp/portage/gnome-base/libbonobo-2.24.3/work/libbonobo-2.24.3/doc/api’
make: *** [all-recursive] Fehler 1

After some days of searching I was able to track the issue down to the part of gtk-docfixref that uses vim for highlighting. Perhaps my gtk-doc version (gtk-doc-1.13-r2) is not compatible to my vi version (vim-7.2.303). Even uninstalling vi for testing purposes was not successful since at least this version of gtk-docfixref tries to use vi even if it is not installed.

Line 290 of gtkdoc fixref:

if (“/usr/bin/vim” ne “”) {

Changing this line to

if (“/usr/bin/vim” ne “/usr/bin/vim”) {

for forcing gtk-docfixref to always ignore vi was the (temporary) solution for me. Afterwards I was again able to build all the packages using gtk-doc for documentation.

Since I did not find any information about the problem in the web I am quite unsure if I should open a bug report for it or if it is only a local problem.  So, if you experience the same problem please leave a comment.

Jürgen

 gtkdoc fixref problem on gentoo linux

siteinfo

Translator

English flagItalian flagKorean flagChinese (Simplified) flagChinese (Traditional) flagPortuguese flagGerman flagFrench flag
Spanish flagJapanese flagArabic flagRussian flagGreek flagDutch flagBulgarian flagCzech flag
Croatian flagDanish flagFinnish flagHindi flagPolish flagRomanian flagSwedish flagNorwegian flag
Catalan flagFilipino flagHebrew flagIndonesian flagLatvian flagLithuanian flagSerbian flagSlovak flag
Slovenian flagUkrainian flagVietnamese flag