# Documentation options when odig doesn't work

**URL:** <https://discuss.ocaml.org/t/documentation-options-when-odig-doesnt-work/1250>\
**Category:** Learning\
**Tags:** documentation\
**Created:** [December 7, 2017, 7:10pm UTC](https://discuss.ocaml.org/t/documentation-options-when-odig-doesnt-work/1250 "2017-12-07T19:10:15Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![mars0i](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/mars0i/32/1058_2.png) [@mars0i](https://discuss.ocaml.org/u/mars0i)\
**Post date:** [December 7, 2017, 7:10pm UTC](https://discuss.ocaml.org/t/documentation-options-when-odig-doesnt-work/1250/1 "2017-12-07T19:10:15Z")

</div>

`odig` tries to build all of the documentation for all of your installed packages. `odig` works very well, but my understanding is that it’s performing a difficult task, where challenges have to do with the different ways that packages can be written and configured. There are lots of error messages when it runs, and in some packages, the resulting documentation is incomplete. What are my options for other methods to attempt to get the packages documentation built?

For example, both `odig odoc` and `odig ocamldoc` produce documentation pages for `hdf5` that consist solely of bare module declarations such as

```
module H5 = H5

```

However, when I go into the source file `h5.mli`, there are numerous declarations each with its own ocamldoc in the correct `(**... *)` syntax.

(Of course one option is simply to read the ocamldoc in the .mli files.)

(In this case I tried running `make doc` in the source repo; that seems to do something, but I can’t find any resulting html files.)

---

<div class="post-metadata">

**Author:** ![dbuenzli](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/dbuenzli/32/18_2.png) [@dbuenzli](https://discuss.ocaml.org/u/dbuenzli)\
**Post date:** [December 7, 2017, 10:14pm UTC](https://discuss.ocaml.org/t/documentation-options-when-odig-doesnt-work/1250/2 "2017-12-07T22:14:04Z")

</div>

That’s a bug on odig’s side: hd5 seems to be using pack which is currently [not supported](https://github.com/dbuenzli/odig/issues/28) I’ll try to fix that in the next version sometime next year along with removing the useless warnings (most are related to the use of module aliases).

---

<div class="post-metadata">

**Author:** ![mars0i](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/mars0i/32/1058_2.png) [@mars0i](https://discuss.ocaml.org/u/mars0i)\
**Post date:** [December 8, 2017, 4:42pm UTC](https://discuss.ocaml.org/t/documentation-options-when-odig-doesnt-work/1250/3 "2017-12-08T16:42:48Z")

</div>

Thanks @dbuenzli.

I was having trouble figuring out how to run `ocamldoc` or `odoc` without using `odig`, but I figured out what to add to hdf5’s `_oasis` file to build the docs.
