Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

missing referenced SGML file when building documentation #16

Open
andreasbaumann opened this issue Aug 25, 2019 · 7 comments
Open

missing referenced SGML file when building documentation #16

andreasbaumann opened this issue Aug 25, 2019 · 7 comments

Comments

@andreasbaumann
Copy link

version 0.3.2

./configure --prefix=/usr --enable-gtk-doc
make

results in:

warning: failed to load external entity "../xml/tree_index.sgml"
../keybinder-docs.sgml:26: element include: XInclude error : could not load ../xml/tree_index.sgml, and no fallback was found
make[1]: *** [Makefile:730: html-build.stamp] Error 6
make[1]: Leaving directory '/build/libkeybinder3/src/keybinder-3.0-0.3.2/docs'

Where are those SGML file supposed to come from?

@andreasbaumann andreasbaumann changed the title missing reference SGML file when building documentation missing referenced SGML file when building documentation Aug 25, 2019
@ulidtko
Copy link

ulidtko commented Aug 29, 2019

@andreasbaumann try running make V=1. The docs do build on my system (Ubuntu 18.04.3) from this repo master, having installed the gtk-doc-tools package.

From what I briefly tested, the whole docs/xml directory is created by a call to gtkdoc-mkdb.
That call is made from toplevel gtk-doc.make included from docs/Makefile.am here:

# This includes the standard gtk-doc make rules, copied by gtkdocize.
include $(top_srcdir)/gtk-doc.make

That gtk-doc.make isn't in the repo; as the comment suggests, it's put there somewhere during ./autogen.sh (hell I despise GNU Autotools).

Hope that helps.

@andreasbaumann
Copy link
Author

andreasbaumann commented Aug 29, 2019

So,

make -j <n>

with n>1 might be a problem here.. thanks :-)

@andreasbaumann
Copy link
Author

andreasbaumann commented Aug 30, 2019

Aha. Found it. Obviously in newer versions of gtkdoc it builds a xml/object_index.sgml
and no longer a xml/tree_index.sgml (as referenced in keybinder-docs.sgml).

So the following snippet in keybinder-docs.sgml should contain:

<title>Object Hierarchy</title> ```

Now the problem is: how can you make documentation build with different versions
of gtkdoc?

@andreasbaumann
Copy link
Author

I should say I'm using gtk-doc 1.31 on Archlinux.

@ulidtko
Copy link

ulidtko commented Sep 1, 2019

Now the problem is: how can you make documentation build with different versions of gtkdoc?

Oh geez. @andreasbaumann can you please poke the gnome people (e.g. on IRC) on what we're supposed to do in this situation?

@GNOME thanks for breaking app compat again! You're the best!..

@andreasbaumann
Copy link
Author

andreasbaumann commented Sep 6, 2019

Poked :-)

https://gitlab.gnome.org/GNOME/gtk/issues/2133

https://gitlab.gnome.org/GNOME/gtk-doc/issues/103

@andreasbaumann
Copy link
Author

Have a look at their feedback in https://gitlab.gnome.org/GNOME/gtk-doc/issues/103 :

"In your case the fix is simple - in https://github.com/kupferlauncher/keybinder/blob/master/docs/keybinder-docs.sgml#L24 - just don't include files you don't need anyway. From a quick look at your sources your library is not providing gobjects - its a plain c library."

ulidtko added a commit to ulidtko/keybinder that referenced this issue Sep 19, 2019
Since this library doesn't define any gobjects, the generated
xml/object_index.sgml is always empty, and xml/tree_index.sgml is altogether
absent with gtk-doc 1.31+.

Fix a possible doc build error by not including the tree_index.sgml.

See GitHub issue kupferlauncher#16.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants