GNOME Bugzilla – Bug 366119
Installation breaks under Solaris (and probably other platforms)
Last modified: 2007-04-05 20:10:09 UTC
I haven't tested version 1.5.0, but I have checked the code and the bug appears to still be there. The problem starts in Makefile.in: install_docs: cp -r doc $(DOCDIR) cd $(DOCDIR)/doc ; $(MAKE) In doc/Makefile.in: all: language FORCE *Do install stuff* language: language.doc language.doc: $(wildcard ../src/translator*.h) maintainers.txt language.tpl translator.py python translator.py The problem is that "cp -r" might copy language.doc BEFORE maintainers.txt, language.tpl or translator.py. On Solaris this happens consistently. But "translator.py" doesn't work in the installation directory, it needs source files to work with. One fix is to replace "cd $(DOCDIR)/doc ; $(MAKE)" with "cd $(DOCDIR)/doc ; $(MAKE) --assume-new=language.doc". This is a bit ugly, and assumes "gmake". A better fix would be to to the MAKE under the build directory, and just copy the generated files into DOCDIR instead of running "make" in the installation location.
I agree. The files should be generated entirely within the build directory, not within the installation directory. Kevin -> Dimitri: Any ideas on what else we should change in the two Makefile.in's pointed to here?
Ok, I see the problem. I propose the following rule as a replacement: install_docs: $(INSTTOOL) -d $(DOCDIR) $(MAKE) -C examples $(MAKE) -C doc $(MAKE) -C latex cp latex/doxygen_manual.pdf $(DOCDIR) cp -r examples $(DOCDIR) cp -r html $(DOCDIR) Could you check for me if this works as expected?
Yes, this works well, thanks. I've tested this on NetBSD, Solaris and SUSE Linux.
assigning bug to Dimitri, so that the patch will be included in the next CVS update.
This bug was marked "assigned" by me some time ago, which means it should be fixed in version 1.5.2 and is hereby marked as such. I would kindly request you to check if this version indeed fixes the problem and reopen the bug report should you still see the same problem.