GNOME Bugzilla – Bug 126019
make install fails, cannot stat `./html/index.sgml'
Last modified: 2004-12-22 21:47:04 UTC
Make install fails with the following error: /usr/bin/install: cannot stat `./html/index.sgml': No such file or directory I can reproduce this simply with 'make clean; make install', always getting: /bin/sh ../../mkinstalldirs /opt/gnome/share/gtk-doc/html/conglomerate (installfiles=`echo ./html/*.html`; \ if test "$installfiles" = './html/*.html'; \ then echo '-- Nothing to install' ; \ else \ for i in $installfiles; do \ echo '-- Installing '$i ; \ /usr/bin/install -c -m 644 $i /opt/gnome/share/gtk-doc/html/conglomerate; \ done; \ echo '-- Installing ./html/index.sgml' ; \ /usr/bin/install -c -m 644 ./html/index.sgml /opt/gnome/share/gtk-doc/html/conglomerate; \ fi) -- Installing ./html/ch01.html [...many successful installs...] -- Installing ./html/index.html -- Installing ./html/index.sgml /usr/bin/install: cannot stat `./html/index.sgml': No such file or directory make[3]: *** [install-data-local] Error 1 make[3]: Leaving directory `/opt/gnome/src/conglomerate/doc/reference' make[2]: *** [install-am] Error 2 make[2]: Leaving directory `/opt/gnome/src/conglomerate/doc/reference' make[1]: *** [install-recursive] Error 1 make[1]: Leaving directory `/opt/gnome/src/conglomerate/doc' make: *** [install-recursive] Error 1
<info value="background"> Retitled from "make install fails" into "make install fails, cannot stat `./html/index.sgml'". Compoment changed from "code" into "documentation", because the source code is fine. It should be "general", but it is an other gtkdoc issue (bug 125785) I think this the effect of "gtkdocize: GTK_DOC_CHECK not called in configure.in" (bug 125787). <info> Try the patch from bug 125736 and update this bugreport.
The patch does not work for me. It changes the error to this: -- Installing ./html/index.sgml /bin/sh: line 1: -/usr/bin/install: No such file or directory make[3]: *** [install-data-local] Error 127
Mmmm, not good. See bug 125736 for an other try.
No, that just changes it to -- Installing ./html/index.html /bin/sh: line 1: -echo: command not found /usr/bin/install: cannot stat `./html/index.sgml': No such file or directory If the absense of an index.sgml is allowable, I think what you want is something like the following, which runs without errors on my system: diff -u -r1.13 Makefile.am --- doc/reference/Makefile.am 28 Oct 2003 22:49:40 -0000 1.13 +++ doc/reference/Makefile.am 3 Nov 2003 21:42:25 -0000 @@ -157,8 +157,11 @@ echo '-- Installing '$$i ; \ $(INSTALL_DATA) $$i $(DESTDIR)$(TARGET_DIR); \ done; \ - echo '-- Installing $(srcdir)/html/index.sgml' ; \ - $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR); \ + if test -f $(srcdir)/html/index.sgml; \ + then echo '-- Installing $(srcdir)/html/index.sgml' ; \ + $(INSTALL_DATA) $(srcdir)/html/index.sgml $(DESTDIR)$(TARGET_DIR); \ + else echo '-- No index.sgml to install'; \ + fi; \ fi)
Over here I got it working with the -echo The Boris patch is much cleaner. I will verify it over here.
Boris, please attach a patch on doc/reference/ChangeLog
Created attachment 21184 [details] [review] Patch for Makefile.am including ChangeLog entry
Thank you. Patch applied into CVS.
Hello gtk-doc people, What are the side effects when I apply this patch also into gtk-doc?
I don't think such a fix should go into gtk-doc A) Tarballs should be distributed with the docs B) If the system has a gtk-doc setup, then the docs should be rebuilt If the system doesn't have a gtk-doc setup, then the docs should not be rebuilt If the docs get "rebuilt" and index.sgml is missing, what this means is that the distributed docs got trashed because the user had gtk-doc installed but no working SGML setup; the user won't get installed docs. We largely fixed these problems for GTK+ by making --disable-gtk-doc the default, so that users just compiling GTK+ from tarballs just get the distributed docs and don't need to worry about having a working SGML docbook setup. A real fix for this would probably require the GTK_DOC_CHECK() macro to do more extensive tests on the installed SGML setup, but the possibilities for breakage are so varied, that writing these checks would be extremely hard. (Things generally seem to work better with XML docbook, XSLT, and recent versions of gtk-doc.)
The patch is not appropriate; if index.sgml is missing, the doc build failed. gtk-doc has just started to be a bit less gracious about broken doc build setups. Either fix your doc build or --disable-gtk-doc.