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 570216 - glibmm fails to build outside source tree
glibmm fails to build outside source tree
Status: RESOLVED FIXED
Product: glibmm
Classification: Bindings
Component: build
2.19.x
Other Linux
: Normal minor
: ---
Assigned To: gtkmm-forge
gtkmm-forge
Depends on:
Blocks: 569778
 
 
Reported: 2009-02-02 14:09 UTC by Theppitak Karoonboonyanan
Modified: 2009-02-05 16:00 UTC
See Also:
GNOME target: ---
GNOME version: 2.25/2.26


Attachments
Summarized fixes (1.81 KB, patch)
2009-02-02 14:12 UTC, Theppitak Karoonboonyanan
none Details | Review
$(top_builddir) instead of $(builddir) (1.83 KB, patch)
2009-02-03 13:44 UTC, Theppitak Karoonboonyanan
none Details | Review
without builddir (1.80 KB, patch)
2009-02-03 16:45 UTC, Theppitak Karoonboonyanan
none Details | Review

Description Theppitak Karoonboonyanan 2009-02-02 14:09:50 UTC
When building glibmm outside source tree, following errors were found:

- In docs/reference/, doxygen fails to find glibmm_header.html_fragment:

---8<---
make[3]: Entering directory `/home/thep/build/gnome_svn/glibmm/docs/reference'
rm -rf html
rm -rf xml
doxygen Doxyfile
Error: tag HTML_HEADER: header file `glibmm_header.html_fragment' does not exist
make[3]: *** [html/index.html] Error 1
make[3]: Leaving directory `/home/thep/build/gnome_svn/glibmm/docs/reference'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/thep/build/gnome_svn/glibmm/docs'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/thep/build/gnome_svn/glibmm'
make: *** [all] Error 2
---8<---

The files 'glibmm_{header,footer}.html_fragment' are in $srcdir, which is different from $builddir for non-source-dir builds. And their paths are missing in Doxyfile.

- In the same subdir, glibmm-2.4.devhelp generation fails, with complaint that "doxygen_to_devhelp.xsl" is missing:

---8<---
processing group__Markup.html...
xsltproc --stringparam book_title "glibmm 2.4 Reference Manual" \
                --stringparam book_name "glibmm 2.4" \
                --stringparam reference_prefix "../../../doc/glibmm-2.4/docs/reference/html" \
                -o glibmm-2.4.devhelp doxygen_to_devhelp.xsl xml/index.xml
warning: failed to load external entity "doxygen_to_devhelp.xsl"
cannot parse doxygen_to_devhelp.xsl
make[3]: *** [glibmm-2.4.devhelp] Error 4
make[3]: Leaving directory `/home/thep/build/gnome_svn/glibmm/docs/reference'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/thep/build/gnome_svn/glibmm/docs'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/thep/build/gnome_svn/glibmm'
make: *** [all] Error 2
---8<---

Again, the file is located in $srcdir. So the path is just missing here.

- With errors above fixed, 'make install' still fails in docs/reference/, because glibmm-2.4.devhelp is not found again:

---8<---
/home/thep/bin/install-check -m 644 /home/thep/vcs/gnome_svn/glibmm/docs/reference/glibmm-2.4.devhelp /home/gnome2/share/devhelp/books/glibmm-2.4/$f;
/usr/bin/install: cannot stat `/home/thep/vcs/gnome_svn/glibmm/docs/reference/glibmm-2.4.devhelp': No such file or directory
make[3]: *** [install-reference] Error 1
make[3]: Leaving directory `/home/thep/build/gnome_svn/glibmm/docs/reference'
make[2]: *** [install-am] Error 2
make[2]: Leaving directory `/home/thep/build/gnome_svn/glibmm/docs/reference'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/home/thep/build/gnome_svn/glibmm/docs'
make: *** [install-recursive] Error 1
---8<---

This is under the 'install-reference:' target. It tries to install the devhelp file from $srcdir (/home/thep/vcs/gnome_svn/glibmm/... for my case above), not from $builddir where it's generated.
Comment 1 Theppitak Karoonboonyanan 2009-02-02 14:12:32 UTC
Created attachment 127764 [details] [review]
Summarized fixes

This patch summarizes all the fixes, which make the build successful on my machine.
Comment 2 Theppitak Karoonboonyanan 2009-02-03 13:44:19 UTC
Created attachment 127835 [details] [review]
$(top_builddir) instead of $(builddir)

Use $(top_builddir), as some automake versions do not provide $(builddir), e.g.
Bug #570357.
Comment 3 Theppitak Karoonboonyanan 2009-02-03 16:45:22 UTC
Created attachment 127855 [details] [review]
without builddir

Better yet, the built file is already at current dir. Just remove the path.
Comment 4 Murray Cumming 2009-02-05 16:00:49 UTC
Committed. Thanks.

Please remember to patch the Changelog in future.