After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 125646 - Build fails in doc/reference directory
Build fails in doc/reference directory
Status: VERIFIED FIXED
Product: conglomerate
Classification: Other
Component: Documentation
CVS
Other All
: Normal major
: 0.8.0
Assigned To: conglomerate list
conglomerate list
Depends on: 125785 125787
Blocks:
 
 
Reported: 2003-10-28 00:09 UTC by David Malcolm
Modified: 2009-08-15 18:40 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description David Malcolm 2003-10-28 00:09:10 UTC
From a clean CVS checkout, I get this:

*** Building conglomerate-overrides.txt ***
../../uss/mkgtkdocoverrides ../..'/src'
../..'/doc/reference/conglomerate-overrides.txt'
*** Added 0 objects to conglomerate-overrides.txt ***
touch scan-build.stamp
make[3]: *** No rule to make target `conglomerate-overrides.txt', needed by
`tmpl-build.stamp'.  Stop.
Comment 1 Geert Stappers 2003-10-28 01:23:57 UTC
file is now in CVS.

I expect there are more this kind of files in doc/reference.
Comment 2 Geert Stappers 2003-10-28 01:57:30 UTC
 rm -r doc/reference
 cvs update -d doc
 ./autogen.sh
 make
results now in:
 make[3]: *** No rule to make target `tmpl/*.sgml', needed by
`sgml-build.stamp'.  Stop.
 make[3]: Leaving directory `/usr/src/conglomerate/doc/reference'
 make[2]: *** [all-recursive] Error 1
 make[2]: Leaving directory `/usr/src/conglomerate/doc'
 make[1]: *** [all-recursive] Error 1
 make[1]: Leaving directory `/usr/src/conglomerate'
 make: *** [all] Error 2

On a next `make` the directory exists and build of doc is completed.

This should be fixed also.


Comment 3 Geert Stappers 2003-10-28 02:03:44 UTC
On the cong developers mailinglist was this discussion:
| On Sun, Oct 26, 2003 at 03:11:12AM +0200, Robert Varga wrote:
| > On Sun, 2003-10-26 at 01:30, Geert Stappers wrote:
| > > On Sat, Oct 25, 2003 at 11:28:42PM +0300, Robert Varga wrote:
|  .....
| > > > So the gtk-doc part is ok now, right?
| > > IM(NS)HO it is still not what the gtkdoc authors had mind.
| > > I think that we should not do several things at the same time.
| > >
| > > Reverse doc/reference/Makefile.am more to the original example.
| > >
| > >
| > > See also bugzilla.g.o/123318 & 123315
| > >
| > >
| > I agree with you that the reference generation is messy right now.
| > Please bare with me a few days while I investigate some more the
GObject
| > tree issue.
|
| No worries Mate!
| You are doing fine.
|
| >
| > Robert Varga
| >
|
| Geert Stappers

We known that reference generation is not as is should be
and we are working on it.
Comment 4 Paul Smith 2003-10-28 10:15:49 UTC
I checked out the CVS code a few days ago and got the "No rule to make
tmpl/*.sgml" error as well.  It seems that the * simply isn't being
expanded - the line in the makefile (doc/reference/Makefile) that
caues the problem is of the form

sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) $(srcdir)/tmpl/*.sgml

Which I presume means simply that the sgml-build.stamp target depends
on all the .sgml files in the tmpl directory, and if any .sgml file is
updated, this target needs to be run.

Are either of the 2 macros on that line stopping the * expanding? 
Could this be taken care of with a $(wildcard)?
Comment 5 Paul Smith 2003-10-28 10:21:51 UTC
Update description of this bug?
Comment 6 Geert Stappers 2003-10-28 11:57:43 UTC
retitled.
Comment 7 Geert Stappers 2003-10-28 12:08:13 UTC
only a crossreference to bug 123360
Comment 8 Geert Stappers 2003-10-28 22:18:25 UTC
In CVS now the doc/reference/sgml directory,
which goes also in dist tarballs
Comment 9 Geert Stappers 2003-10-29 16:13:55 UTC
Added also a tmpl directory to CVS.
While documenting it here, I'm realizing that we mis some important thing.
Comment 10 Geert Stappers 2003-10-29 16:43:02 UTC
The missing part could be in 125787 or 125785
Comment 11 Geert Stappers 2003-11-02 08:33:26 UTC
The missing part could be in bug 125787 or bug 125785
(now you can click on the hyperlinks)
Comment 12 Geert Stappers 2003-12-14 21:59:32 UTC
Ask me next year what the progress is.

Comment 13 Geert Stappers 2004-01-15 21:45:17 UTC
I knew already that this is a nasty bug,
now I saying loudly IT IS A NASTY BUG.
Comment 14 Geert Stappers 2004-01-15 21:48:03 UTC
Bug #131600, disable gtk-doc, allows us to lower the severity
Comment 15 Geert Stappers 2004-07-01 15:22:20 UTC
From #conglomerate at irc.gimp.net

16:37 < nsh> It's about problem with gtk-doc make we discussed.
16:38 < nsh> Probably, it is possible to create empty file dummy.sgml in
             reference/gtk-doc dir
16:38 < nsh> and add it to CVS.
16:39 < nsh> Then CVS could be build with only one make from the clean
             checkout.:)
16:39 < stappers> mmm, I remember vaguely such tests

Comment 16 Nickolay V. Shmyrev 2004-07-01 16:07:29 UTC
The reason for that is error in common gtk-doc.make file (Common rule for build
documentation). Here is part of makefile which fails:

sgml-build.stamp: tmpl.stamp $(CFILE_GLOB) $(srcdir)/tmpl/*.sgml
        @echo '*** Building SGML ***'
        cd $(srcdir) && \
        gtkdoc-mkdb --module=$(DOC_MODULE) --source-dir=$(DOC_SOURCE_DIR) --main
       touch sgml-build.stamp

The problem is that make builds dependency tree before doing all rules. In that
moment, the $(srcdir)/tmpl/*.sgml dir is empty, that is the cause of error. 

Here is possible solutions:

1. Correct makefile. I don't like this change, because makefile is common and
used in many gnome projects.

2. Most projects avoid this by including tmpl/*.sgml files into CVS. Those are
gtk, libgnomeui, gnome-vfs and many others. I also don't like this because
tmpl/*.sgml files are autogenerated by gtk-doc from conglomerate-sections.txt.
The only advantage of such change is that it is a common practice.

3. Create empty dummy.sgml file and add this to CVS

$touch doc/reference/tmpl/dummy.sgml
$cvs add doc/reference/tmpl/dummy.sgml

This is solution I prefer, since it fixes the error and doesn't dirty CVS with
autogenerated files.

Comment 17 Geert Stappers 2004-07-02 07:34:01 UTC
Filed bug 145292 against gtk-doc, is is titled

 That not so funny feature

Now it makes sense to "hide" the problem in this project.
Comment 18 Geert Stappers 2004-07-02 11:48:30 UTC
Bug 145292 is retitled into

 Confusing mention of make failure

Comment 19 Geert Stappers 2004-07-02 11:53:26 UTC
Now there is doc/reference/tmpl/dummy.sgml in CVS

A first-and-single compile run after "checkout" is now possible.
Comment 20 Geert Stappers 2004-07-02 16:32:40 UTC
17:32 < stappers> nsh: how do like the current state of
                  http://bugzilla.gnome.org/show_bug.cgi?id=125646
17:33 < stappers> nsh: please "verify" it
17:34 < nsh> It's great. :)
17:40 < stappers> could you mark it "VERIFIED" ?
17:47 < nsh> I have no permissions :(
17:56 -!- nsh [~shmyrev@193.232.173.25] has quit [Download Gaim:
          http://gaim.sourceforge.net/]
Comment 21 Geert Stappers 2004-07-02 16:33:15 UTC
and CLOSED