Repo_docs throwing error on kit-extension-template-cpp

Hi all!

I am trying to get familiar to how to generate documentation using the template project from here: GitHub - NVIDIA-Omniverse/kit-extension-template-cpp: Omniverse Kit C++ Extension Template

I have a project derived from that which has problems generating Python API documentation. While looking into the issue I noticed that the omni.example.cpp.usd extension from the kit-extension-template-cpp throws the same error.
The result is that in the output documentation there is no link to Python API docs. The other cpp extensions do not show that error and create Python API docs just alright.
Here is a screenshot of the docs generated for the omni.example.cpp.helloworld extension:


For comparison, a corresponding screenshot from the omni.example.cpp.usd extension:

The logs from the omni.example.cpp.usd docs generation are here:

~/kit-extension-template-cpp$ ./repo.sh docs -p omni.example.cpp.usd
repo_changelog functionality not found, will be unavailable
repo_changelog functionality not found, will be unavailable
repo_changelog functionality not found, will be unavailable
cleaning folders: ['/home/user/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/1.0.0', '/home/user/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/latest']

cleaning folders: ['/home/user/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage']
removing folder: /home/user/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage
running python for module inspection, cmd: /var/tmp/packman/python/3.7.12-linux-x86_64/python /var/tmp/packman/chk/kit-sdk/104.2+release.295.529af2e4.tc.linux-x86_64.release/dev/tools/repoman/kit_repo_docs_inspect_module.py omni.example.cpp.usd /home/user/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/module_inspection.json
Running module inspections
inspecting contents of module omni.example.cpp.usd
failed importing module omni.example.cpp.usd. Traceback:
  File "/var/tmp/packman/chk/kit-sdk/104.2+release.295.529af2e4.tc.linux-x86_64.release/dev/tools/repoman/kit_repo_docs_inspect_module.py", line 19, in inspect_modules
    module = importlib.import_module(m)
  File "/var/tmp/packman/python/3.7.12-linux-x86_64/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/user/kit-extension-template-cpp/_build/linux-x86_64/release/exts/omni.example.cpp.usd/omni/example/cpp/usd/__init__.py", line 11, in <module>
    from .impl import *
  File "/home/user/kit-extension-template-cpp/_build/linux-x86_64/release/exts/omni.example.cpp.usd/omni/example/cpp/usd/impl/__init__.py", line 9, in <module>
    from .example_usd_extension import *
  File "/home/user/kit-extension-template-cpp/_build/linux-x86_64/release/exts/omni.example.cpp.usd/omni/example/cpp/usd/impl/example_usd_extension.py", line 10, in <module>
    import omni.usd
  File "/home/user/kit-extension-template-cpp/_build/linux-x86_64/release/kit/extscore/omni.usd/omni/usd/__init__.py", line 1, in <module>
    from ._impl import *
  File "/home/user/kit-extension-template-cpp/_build/linux-x86_64/release/kit/extscore/omni.usd/omni/usd/_impl/__init__.py", line 1, in <module>
    from .._usd import *
libomniclient.so: cannot open shared object file: No such file or directory
Writing module inspection results to: /home/user/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/module_inspection.json
Running Sphinx v4.5.0
myst v0.18.0: MdParserConfig(commonmark_only=False, gfm_only=False, enable_extensions=['colon_fence'], disable_syntax=[], all_links_external=False, url_schemes=('http', 'https', 'mailto', 'ftp'), ref_domains=None, highlight_code_blocks=True, number_code_blocks=[], title_to_header=False, heading_anchors=4, heading_slug_func=None, footnote_transition=True, words_per_minute=200, sub_delimiters=('{', '}'), linkify_fuzzy_links=True, dmath_allow_labels=True, dmath_allow_space=True, dmath_allow_digits=True, dmath_double_inline=False, update_mathjax=True, mathjax_classes='tex2jax_process|mathjax_process|math|output_area')
[autosummary] generating autosummary for: CHANGELOG.md, Overview.md, index.rst
[~] Exhale: adding tree view css / javascript.
[+] Exhale: added tree view css / javascript.
[~] Exhale: parsing Doxygen XML.
[+] Exhale: finished parsing Doxygen XML in 0.01 seconds.
[~] Exhale: generating reStructuredText documents.
[+] Exhale: generated reStructuredText documents in 0.03 seconds.
Running Sphinx v4.5.0
myst v0.18.0: MdParserConfig(commonmark_only=False, gfm_only=False, enable_extensions=['colon_fence'], disable_syntax=[], all_links_external=False, url_schemes=('http', 'https', 'mailto', 'ftp'), ref_domains=None, highlight_code_blocks=True, number_code_blocks=[], title_to_header=False, heading_anchors=4, heading_slug_func=None, footnote_transition=True, words_per_minute=200, sub_delimiters=('{', '}'), linkify_fuzzy_links=True, dmath_allow_labels=True, dmath_allow_space=True, dmath_allow_digits=True, dmath_double_inline=False, update_mathjax=True, mathjax_classes='tex2jax_process|mathjax_process|math|output_area')
[autosummary] generating autosummary for: CHANGELOG.md, Overview.md, _build/docs/omni.example.cpp.usd/latest/class_view_hierarchy.rst, _build/docs/omni.example.cpp.usd/latest/classomni_1_1example_1_1cpp_1_1usd_1_1IExampleUsdInterface.rst, _build/docs/omni.example.cpp.usd/latest/dir_omni.rst, _build/docs/omni.example.cpp.usd/latest/dir_omni_example.rst, _build/docs/omni.example.cpp.usd/latest/dir_omni_example_cpp.rst, _build/docs/omni.example.cpp.usd/latest/dir_omni_example_cpp_usd.rst, _build/docs/omni.example.cpp.usd/latest/file_omni_example_cpp_usd_IExampleUsdInterface.h.rst, _build/docs/omni.example.cpp.usd/latest/file_view_hierarchy.rst, _build/docs/omni.example.cpp.usd/latest/namespace_omni.rst, _build/docs/omni.example.cpp.usd/latest/namespace_omni__example.rst, _build/docs/omni.example.cpp.usd/latest/namespace_omni__example__cpp.rst, _build/docs/omni.example.cpp.usd/latest/namespace_omni__example__cpp__usd.rst, _build/docs/omni.example.cpp.usd/latest/omni.example.cpp.usd_api.rst, _build/docs/omni.example.cpp.usd/latest/program_listing_file_omni_example_cpp_usd_IExampleUsdInterface.h.rst, _build/docs/omni.example.cpp.usd/latest/unabridged_api.rst, index.rst
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 18 source files that are out of date
updating environment: [new config] 18 added, 0 changed, 0 removed
reading sources... [  5%] CHANGELOG
reading sources... [ 11%] Overview
reading sources... [ 16%] _build/docs/omni.example.cpp.usd/latest/class_view_hierarchy
reading sources... [ 22%] _build/docs/omni.example.cpp.usd/latest/classomni_1_1example_1_1cpp_1_1usd_1_1IExampleUsdInterface
reading sources... [ 27%] _build/docs/omni.example.cpp.usd/latest/dir_omni
reading sources... [ 33%] _build/docs/omni.example.cpp.usd/latest/dir_omni_example
reading sources... [ 38%] _build/docs/omni.example.cpp.usd/latest/dir_omni_example_cpp
reading sources... [ 44%] _build/docs/omni.example.cpp.usd/latest/dir_omni_example_cpp_usd
reading sources... [ 50%] _build/docs/omni.example.cpp.usd/latest/file_omni_example_cpp_usd_IExampleUsdInterface.h
reading sources... [ 55%] _build/docs/omni.example.cpp.usd/latest/file_view_hierarchy
reading sources... [ 61%] _build/docs/omni.example.cpp.usd/latest/namespace_omni
reading sources... [ 66%] _build/docs/omni.example.cpp.usd/latest/namespace_omni__example
reading sources... [ 72%] _build/docs/omni.example.cpp.usd/latest/namespace_omni__example__cpp
reading sources... [ 77%] _build/docs/omni.example.cpp.usd/latest/namespace_omni__example__cpp__usd
reading sources... [ 83%] _build/docs/omni.example.cpp.usd/latest/omni.example.cpp.usd_api
reading sources... [ 88%] _build/docs/omni.example.cpp.usd/latest/program_listing_file_omni_example_cpp_usd_IExampleUsdInterface.h
reading sources... [ 94%] _build/docs/omni.example.cpp.usd/latest/unabridged_api
reading sources... [100%] index

looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [  5%] CHANGELOG
writing output... [ 11%] Overview
writing output... [ 16%] _build/docs/omni.example.cpp.usd/latest/class_view_hierarchy
writing output... [ 22%] _build/docs/omni.example.cpp.usd/latest/classomni_1_1example_1_1cpp_1_1usd_1_1IExampleUsdInterface
writing output... [ 27%] _build/docs/omni.example.cpp.usd/latest/dir_omni
writing output... [ 33%] _build/docs/omni.example.cpp.usd/latest/dir_omni_example
writing output... [ 38%] _build/docs/omni.example.cpp.usd/latest/dir_omni_example_cpp
writing output... [ 44%] _build/docs/omni.example.cpp.usd/latest/dir_omni_example_cpp_usd
writing output... [ 50%] _build/docs/omni.example.cpp.usd/latest/file_omni_example_cpp_usd_IExampleUsdInterface.h
writing output... [ 55%] _build/docs/omni.example.cpp.usd/latest/file_view_hierarchy
writing output... [ 61%] _build/docs/omni.example.cpp.usd/latest/namespace_omni
writing output... [ 66%] _build/docs/omni.example.cpp.usd/latest/namespace_omni__example
writing output... [ 72%] _build/docs/omni.example.cpp.usd/latest/namespace_omni__example__cpp
writing output... [ 77%] _build/docs/omni.example.cpp.usd/latest/namespace_omni__example__cpp__usd
writing output... [ 83%] _build/docs/omni.example.cpp.usd/latest/omni.example.cpp.usd_api
writing output... [ 88%] _build/docs/omni.example.cpp.usd/latest/program_listing_file_omni_example_cpp_usd_IExampleUsdInterface.h
writing output... [ 94%] _build/docs/omni.example.cpp.usd/latest/unabridged_api
writing output... [100%] index

generating indices... genindex done
writing additional pages... search done
copying images... [100%] animated_prims.gif

copying static files... done
copying extra files... done
dumping search index in English (code: en)... done
dumping object inventory... done
build succeeded.

The HTML pages are in ../latest.
Wrote: file:///home/user/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/latest/index.html

As you can see, I am on Linux. The log is the original output with one exception: I replaced my username in the paths with “user”.
The error is

libomniclient.so: cannot open shared object file: No such file or directory

I tried to fixed it by looking for its location and adding that path to the library_path variable in the [repo_docs] section of the projects repo,toml. That generated other errors like this for different libraries. Once I had all library paths added, I got other errors about Python imports.

Can you help me here? I am not particularly interested in getting the Python API docs for the usd example extension (they Python code does not contain any docstrings anyway), but as I said, I have an extension throwing the same error and thus not generating any Python API docs either.

Thanks a lot!
Arne

For reference: what I tried to fix this is adding the following lines to repo.toml (inside the [repo_docs] section):

library_paths = [
    "${root}/_build/${platform_target}/${config}/kit/*",
    "${root}/_build/${platform_target}/${config}/kit/extscore/omni.client/bin/deps",
    "${root}/_build/${platform_target}/${config}/kit/extscore/omni.usd.libs/bin",
    "${root}/_build/${platform_target}/${config}/kit/extscore/omni.usd.schema.audio/bin",
    "${root}/_build/${platform_target}/${config}/kit/extscore/omni.usd.schema.semantics/bin",
    "${root}/_build/${platform_target}/${config}/kit/extscore/omni.usd.schema.omnigraph/bin",
    "${root}/_build/${platform_target}/${config}/kit/extscore/omni.ui/bin",
    "${root}/_build/${platform_target}/${config}/kit/extscore/omni.kit.renderer.imgui/bin",
]

After a clean rebuild (./repo.sh build -x) there are no errors anymore complaining about missing shared libraries (.so files), but that some Python modules cannot be found.
The error log is (again, my username has been replaced with “user”):

~/kit-extension-template-cpp$ ./repo.sh docs -p omni.example.cpp.usd
repo_changelog functionality not found, will be unavailable
repo_changelog functionality not found, will be unavailable
repo_changelog functionality not found, will be unavailable
cleaning folders: ['/home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/1.0.0', '/home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/latest']

cleaning folders: ['/home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage']
removing folder: /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage
running python for module inspection, cmd: /var/tmp/packman/python/3.7.12-linux-x86_64/python /var/tmp/packman/chk/kit-sdk/104.2+release.295.529af2e4.tc.linux-x86_64.release/dev/tools/repoman/kit_repo_docs_inspect_module.py omni.example.cpp.usd /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/module_inspection.json
Running module inspections
inspecting contents of module omni.example.cpp.usd
inspecting contents of module omni.example.cpp.usd.example_usd_extension
failed importing module omni.example.cpp.usd.example_usd_extension. Traceback:
  File "/var/tmp/packman/chk/kit-sdk/104.2+release.295.529af2e4.tc.linux-x86_64.release/dev/tools/repoman/kit_repo_docs_inspect_module.py", line 19, in inspect_modules
    module = importlib.import_module(m)
  File "/var/tmp/packman/python/3.7.12-linux-x86_64/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
No module named 'omni.example.cpp.usd.example_usd_extension'
inspecting contents of module omni.example.cpp.usd.impl
inspecting contents of module omni.example.cpp.usd.impl.example_usd_extension
inspecting contents of module omni.example.cpp.usd.impl.example_usd_extension.omni
failed importing module omni.example.cpp.usd.impl.example_usd_extension.omni. Traceback:
  File "/var/tmp/packman/chk/kit-sdk/104.2+release.295.529af2e4.tc.linux-x86_64.release/dev/tools/repoman/kit_repo_docs_inspect_module.py", line 19, in inspect_modules
    module = importlib.import_module(m)
  File "/var/tmp/packman/python/3.7.12-linux-x86_64/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 962, in _find_and_load_unlocked
No module named 'omni.example.cpp.usd.impl.example_usd_extension.omni'; 'omni.example.cpp.usd.impl.example_usd_extension' is not a package
inspecting contents of module omni.example.cpp.usd.impl.omni
failed importing module omni.example.cpp.usd.impl.omni. Traceback:
  File "/var/tmp/packman/chk/kit-sdk/104.2+release.295.529af2e4.tc.linux-x86_64.release/dev/tools/repoman/kit_repo_docs_inspect_module.py", line 19, in inspect_modules
    module = importlib.import_module(m)
  File "/var/tmp/packman/python/3.7.12-linux-x86_64/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
No module named 'omni.example.cpp.usd.impl.omni'
inspecting contents of module omni.example.cpp.usd.omni
failed importing module omni.example.cpp.usd.omni. Traceback:
  File "/var/tmp/packman/chk/kit-sdk/104.2+release.295.529af2e4.tc.linux-x86_64.release/dev/tools/repoman/kit_repo_docs_inspect_module.py", line 19, in inspect_modules
    module = importlib.import_module(m)
  File "/var/tmp/packman/python/3.7.12-linux-x86_64/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 965, in _find_and_load_unlocked
No module named 'omni.example.cpp.usd.omni'
Writing module inspection results to: /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/module_inspection.json
running sphinx-autogen for stub generation, cmd: /var/tmp/packman/python/3.7.12-linux-x86_64/python -m sphinx.ext.autosummary.generate -o /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl.example_usd_extension --templates /home/jacobs/kit-extension-template-cpp/_build/linux-x86_64/release/kit/dev/tools/rst-templates --imported-members --respect-module-all /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl.example_usd_extension.rst
[autosummary] generating autosummary for: /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl.example_usd_extension.rst
[autosummary] writing to /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl.example_usd_extension
[autosummary] generating autosummary for: /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl.example_usd_extension/omni.example.cpp.usd.impl.example_usd_extension.ExampleUsdExtension.rst, /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl.example_usd_extension/omni.example.cpp.usd.impl.example_usd_extension.IExampleUsdInterface.rst, /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl.example_usd_extension/omni.example.cpp.usd.impl.example_usd_extension.acquire_example_usd_interface.rst, /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl.example_usd_extension/omni.example.cpp.usd.impl.example_usd_extension.get_example_usd_interface.rst, /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl.example_usd_extension/omni.example.cpp.usd.impl.example_usd_extension.release_example_usd_interface.rst
[autosummary] writing to /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl.example_usd_extension
running sphinx-autogen for stub generation, cmd: /var/tmp/packman/python/3.7.12-linux-x86_64/python -m sphinx.ext.autosummary.generate -o /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl --templates /home/jacobs/kit-extension-template-cpp/_build/linux-x86_64/release/kit/dev/tools/rst-templates --imported-members --respect-module-all /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl.rst
[autosummary] generating autosummary for: /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl.rst
[autosummary] writing to /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl
[autosummary] generating autosummary for: /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.ExampleUsdExtension.rst, /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.IExampleUsdInterface.rst, /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.acquire_example_usd_interface.rst, /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.example_usd_extension.rst, /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.get_example_usd_interface.rst, /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.release_example_usd_interface.rst
[autosummary] writing to /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl
[autosummary] generating autosummary for: /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.example_usd_extension.ExampleUsdExtension.rst, /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.example_usd_extension.IExampleUsdInterface.rst, /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.example_usd_extension.acquire_example_usd_interface.rst, /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.example_usd_extension.get_example_usd_interface.rst, /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.example_usd_extension.release_example_usd_interface.rst
[autosummary] writing to /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.impl
running sphinx-autogen for stub generation, cmd: /var/tmp/packman/python/3.7.12-linux-x86_64/python -m sphinx.ext.autosummary.generate -o /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd --templates /home/jacobs/kit-extension-template-cpp/_build/linux-x86_64/release/kit/dev/tools/rst-templates --imported-members --respect-module-all /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.rst
[autosummary] generating autosummary for: /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd.rst
[autosummary] writing to /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd
[autosummary] generating autosummary for: /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd/omni.example.cpp.usd.ExampleUsdExtension.rst, /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd/omni.example.cpp.usd.IExampleUsdInterface.rst, /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd/omni.example.cpp.usd.acquire_example_usd_interface.rst, /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd/omni.example.cpp.usd.get_example_usd_interface.rst, /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd/omni.example.cpp.usd.impl.rst, /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd/omni.example.cpp.usd.release_example_usd_interface.rst
[autosummary] writing to /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd
[autosummary] generating autosummary for: /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd/omni.example.cpp.usd.impl.ExampleUsdExtension.rst, /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd/omni.example.cpp.usd.impl.IExampleUsdInterface.rst, /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd/omni.example.cpp.usd.impl.acquire_example_usd_interface.rst, /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd/omni.example.cpp.usd.impl.get_example_usd_interface.rst, /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd/omni.example.cpp.usd.impl.release_example_usd_interface.rst
[autosummary] writing to /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/omni.example.cpp.usd
running sphinx-autogen for stub generation, cmd: /var/tmp/packman/python/3.7.12-linux-x86_64/python -m sphinx.ext.autosummary.generate -o /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage --templates /home/jacobs/kit-extension-template-cpp/_build/linux-x86_64/release/kit/dev/tools/rst-templates --imported-members --respect-module-all /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/API.rst
[autosummary] generating autosummary for: /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage/API.rst
[autosummary] writing to /home/jacobs/kit-extension-template-cpp/_build/docs/omni.example.cpp.usd/stage
Running Sphinx v4.5.0
myst v0.18.0: MdParserConfig(commonmark_only=False, gfm_only=False, enable_extensions=['colon_fence'], disable_syntax=[], all_links_external=False, url_schemes=('http', 'https', 'mailto', 'ftp'), ref_domains=None, highlight_code_blocks=True, number_code_blocks=[], title_to_header=False, heading_anchors=4, heading_slug_func=None, footnote_transition=True, words_per_minute=200, sub_delimiters=('{', '}'), linkify_fuzzy_links=True, dmath_allow_labels=True, dmath_allow_space=True, dmath_allow_digits=True, dmath_double_inline=False, update_mathjax=True, mathjax_classes='tex2jax_process|mathjax_process|math|output_area')
[autosummary] generating autosummary for: API.rst, CHANGELOG.md, Modules.rst, Overview.md, index.rst, omni.example.cpp.usd.Classes.rst, omni.example.cpp.usd.Functions.rst, omni.example.cpp.usd.Submodules.rst, omni.example.cpp.usd.impl.Classes.rst, omni.example.cpp.usd.impl.Functions.rst, ..., omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.IExampleUsdInterface.rst, omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.acquire_example_usd_interface.rst, omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.get_example_usd_interface.rst, omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.release_example_usd_interface.rst, omni.example.cpp.usd.rst, omni.example.cpp.usd/omni.example.cpp.usd.ExampleUsdExtension.rst, omni.example.cpp.usd/omni.example.cpp.usd.IExampleUsdInterface.rst, omni.example.cpp.usd/omni.example.cpp.usd.acquire_example_usd_interface.rst, omni.example.cpp.usd/omni.example.cpp.usd.get_example_usd_interface.rst, omni.example.cpp.usd/omni.example.cpp.usd.release_example_usd_interface.rst
[~] Exhale: adding tree view css / javascript.
[+] Exhale: added tree view css / javascript.
[~] Exhale: parsing Doxygen XML.
[+] Exhale: finished parsing Doxygen XML in 0.01 seconds.
[~] Exhale: generating reStructuredText documents.
[+] Exhale: generated reStructuredText documents in 0.04 seconds.
Running Sphinx v4.5.0
myst v0.18.0: MdParserConfig(commonmark_only=False, gfm_only=False, enable_extensions=['colon_fence'], disable_syntax=[], all_links_external=False, url_schemes=('http', 'https', 'mailto', 'ftp'), ref_domains=None, highlight_code_blocks=True, number_code_blocks=[], title_to_header=False, heading_anchors=4, heading_slug_func=None, footnote_transition=True, words_per_minute=200, sub_delimiters=('{', '}'), linkify_fuzzy_links=True, dmath_allow_labels=True, dmath_allow_space=True, dmath_allow_digits=True, dmath_double_inline=False, update_mathjax=True, mathjax_classes='tex2jax_process|mathjax_process|math|output_area')
[autosummary] generating autosummary for: API.rst, CHANGELOG.md, Modules.rst, Overview.md, _build/docs/omni.example.cpp.usd/latest/class_view_hierarchy.rst, _build/docs/omni.example.cpp.usd/latest/classomni_1_1example_1_1cpp_1_1usd_1_1IExampleUsdInterface.rst, _build/docs/omni.example.cpp.usd/latest/dir_omni.rst, _build/docs/omni.example.cpp.usd/latest/dir_omni_example.rst, _build/docs/omni.example.cpp.usd/latest/dir_omni_example_cpp.rst, _build/docs/omni.example.cpp.usd/latest/dir_omni_example_cpp_usd.rst, ..., omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.IExampleUsdInterface.rst, omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.acquire_example_usd_interface.rst, omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.get_example_usd_interface.rst, omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.release_example_usd_interface.rst, omni.example.cpp.usd.rst, omni.example.cpp.usd/omni.example.cpp.usd.ExampleUsdExtension.rst, omni.example.cpp.usd/omni.example.cpp.usd.IExampleUsdInterface.rst, omni.example.cpp.usd/omni.example.cpp.usd.acquire_example_usd_interface.rst, omni.example.cpp.usd/omni.example.cpp.usd.get_example_usd_interface.rst, omni.example.cpp.usd/omni.example.cpp.usd.release_example_usd_interface.rst
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 46 source files that are out of date
updating environment: [new config] 46 added, 0 changed, 0 removed
reading sources... [  2%] API
reading sources... [  4%] CHANGELOG
reading sources... [  6%] Modules
reading sources... [  8%] Overview
reading sources... [ 10%] _build/docs/omni.example.cpp.usd/latest/class_view_hierarchy
reading sources... [ 13%] _build/docs/omni.example.cpp.usd/latest/classomni_1_1example_1_1cpp_1_1usd_1_1IExampleUsdInterface
reading sources... [ 15%] _build/docs/omni.example.cpp.usd/latest/dir_omni
reading sources... [ 17%] _build/docs/omni.example.cpp.usd/latest/dir_omni_example
reading sources... [ 19%] _build/docs/omni.example.cpp.usd/latest/dir_omni_example_cpp
reading sources... [ 21%] _build/docs/omni.example.cpp.usd/latest/dir_omni_example_cpp_usd
reading sources... [ 23%] _build/docs/omni.example.cpp.usd/latest/file_omni_example_cpp_usd_IExampleUsdInterface.h
reading sources... [ 26%] _build/docs/omni.example.cpp.usd/latest/file_view_hierarchy
reading sources... [ 28%] _build/docs/omni.example.cpp.usd/latest/namespace_omni
reading sources... [ 30%] _build/docs/omni.example.cpp.usd/latest/namespace_omni__example
reading sources... [ 32%] _build/docs/omni.example.cpp.usd/latest/namespace_omni__example__cpp
reading sources... [ 34%] _build/docs/omni.example.cpp.usd/latest/namespace_omni__example__cpp__usd
reading sources... [ 36%] _build/docs/omni.example.cpp.usd/latest/omni.example.cpp.usd_api
reading sources... [ 39%] _build/docs/omni.example.cpp.usd/latest/program_listing_file_omni_example_cpp_usd_IExampleUsdInterface.h
reading sources... [ 41%] _build/docs/omni.example.cpp.usd/latest/unabridged_api
reading sources... [ 43%] index
reading sources... [ 45%] omni.example.cpp.usd
reading sources... [ 47%] omni.example.cpp.usd.Classes
reading sources... [ 50%] omni.example.cpp.usd.Functions
reading sources... [ 52%] omni.example.cpp.usd.Submodules
reading sources... [ 54%] omni.example.cpp.usd.impl
reading sources... [ 56%] omni.example.cpp.usd.impl.Classes
reading sources... [ 58%] omni.example.cpp.usd.impl.Functions
reading sources... [ 60%] omni.example.cpp.usd.impl.Submodules
reading sources... [ 63%] omni.example.cpp.usd.impl.example_usd_extension
reading sources... [ 65%] omni.example.cpp.usd.impl.example_usd_extension.Classes
reading sources... [ 67%] omni.example.cpp.usd.impl.example_usd_extension.Functions
reading sources... [ 69%] omni.example.cpp.usd.impl.example_usd_extension/omni.example.cpp.usd.impl.example_usd_extension.ExampleUsdExtension
reading sources... [ 71%] omni.example.cpp.usd.impl.example_usd_extension/omni.example.cpp.usd.impl.example_usd_extension.IExampleUsdInterface
reading sources... [ 73%] omni.example.cpp.usd.impl.example_usd_extension/omni.example.cpp.usd.impl.example_usd_extension.acquire_example_usd_interface
reading sources... [ 76%] omni.example.cpp.usd.impl.example_usd_extension/omni.example.cpp.usd.impl.example_usd_extension.get_example_usd_interface
reading sources... [ 78%] omni.example.cpp.usd.impl.example_usd_extension/omni.example.cpp.usd.impl.example_usd_extension.release_example_usd_interface
reading sources... [ 80%] omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.ExampleUsdExtension
reading sources... [ 82%] omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.IExampleUsdInterface
reading sources... [ 84%] omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.acquire_example_usd_interface
reading sources... [ 86%] omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.get_example_usd_interface
reading sources... [ 89%] omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.release_example_usd_interface
reading sources... [ 91%] omni.example.cpp.usd/omni.example.cpp.usd.ExampleUsdExtension
reading sources... [ 93%] omni.example.cpp.usd/omni.example.cpp.usd.IExampleUsdInterface
reading sources... [ 95%] omni.example.cpp.usd/omni.example.cpp.usd.acquire_example_usd_interface
reading sources... [ 97%] omni.example.cpp.usd/omni.example.cpp.usd.get_example_usd_interface
reading sources... [100%] omni.example.cpp.usd/omni.example.cpp.usd.release_example_usd_interface

docstring of omni.example.cpp.usd._example_usd_bindings.IExampleUsdInterface:1: WARNING: duplicate object description of omni.example.cpp.usd._example_usd_bindings.IExampleUsdInterface, other instance in omni.example.cpp.usd.impl.example_usd_extension/omni.example.cpp.usd.impl.example_usd_extension.IExampleUsdInterface, use :noindex: for one of them
docstring of omni.example.cpp.usd._example_usd_bindings.IExampleUsdInterface:1: WARNING: duplicate object description of omni.example.cpp.usd._example_usd_bindings.IExampleUsdInterface, other instance in omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.IExampleUsdInterface, use :noindex: for one of them
looking for now-outdated files... none found
pickling environment... done
checking consistency... done
preparing documents... done
writing output... [  2%] API
writing output... [  4%] CHANGELOG
writing output... [  6%] Modules
writing output... [  8%] Overview
writing output... [ 10%] _build/docs/omni.example.cpp.usd/latest/class_view_hierarchy
writing output... [ 13%] _build/docs/omni.example.cpp.usd/latest/classomni_1_1example_1_1cpp_1_1usd_1_1IExampleUsdInterface
writing output... [ 15%] _build/docs/omni.example.cpp.usd/latest/dir_omni
writing output... [ 17%] _build/docs/omni.example.cpp.usd/latest/dir_omni_example
writing output... [ 19%] _build/docs/omni.example.cpp.usd/latest/dir_omni_example_cpp
writing output... [ 21%] _build/docs/omni.example.cpp.usd/latest/dir_omni_example_cpp_usd
writing output... [ 23%] _build/docs/omni.example.cpp.usd/latest/file_omni_example_cpp_usd_IExampleUsdInterface.h
writing output... [ 26%] _build/docs/omni.example.cpp.usd/latest/file_view_hierarchy
writing output... [ 28%] _build/docs/omni.example.cpp.usd/latest/namespace_omni
writing output... [ 30%] _build/docs/omni.example.cpp.usd/latest/namespace_omni__example
writing output... [ 32%] _build/docs/omni.example.cpp.usd/latest/namespace_omni__example__cpp
writing output... [ 34%] _build/docs/omni.example.cpp.usd/latest/namespace_omni__example__cpp__usd
writing output... [ 36%] _build/docs/omni.example.cpp.usd/latest/omni.example.cpp.usd_api
writing output... [ 39%] _build/docs/omni.example.cpp.usd/latest/program_listing_file_omni_example_cpp_usd_IExampleUsdInterface.h
writing output... [ 41%] _build/docs/omni.example.cpp.usd/latest/unabridged_api
writing output... [ 43%] index
writing output... [ 45%] omni.example.cpp.usd
writing output... [ 47%] omni.example.cpp.usd.Classes
writing output... [ 50%] omni.example.cpp.usd.Functions
writing output... [ 52%] omni.example.cpp.usd.Submodules
writing output... [ 54%] omni.example.cpp.usd.impl
writing output... [ 56%] omni.example.cpp.usd.impl.Classes
writing output... [ 58%] omni.example.cpp.usd.impl.Functions
writing output... [ 60%] omni.example.cpp.usd.impl.Submodules
writing output... [ 63%] omni.example.cpp.usd.impl.example_usd_extension
writing output... [ 65%] omni.example.cpp.usd.impl.example_usd_extension.Classes
writing output... [ 67%] omni.example.cpp.usd.impl.example_usd_extension.Functions
writing output... [ 69%] omni.example.cpp.usd.impl.example_usd_extension/omni.example.cpp.usd.impl.example_usd_extension.ExampleUsdExtension
writing output... [ 71%] omni.example.cpp.usd.impl.example_usd_extension/omni.example.cpp.usd.impl.example_usd_extension.IExampleUsdInterface
writing output... [ 73%] omni.example.cpp.usd.impl.example_usd_extension/omni.example.cpp.usd.impl.example_usd_extension.acquire_example_usd_interface
writing output... [ 76%] omni.example.cpp.usd.impl.example_usd_extension/omni.example.cpp.usd.impl.example_usd_extension.get_example_usd_interface
writing output... [ 78%] omni.example.cpp.usd.impl.example_usd_extension/omni.example.cpp.usd.impl.example_usd_extension.release_example_usd_interface
writing output... [ 80%] omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.ExampleUsdExtension
writing output... [ 82%] omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.IExampleUsdInterface
writing output... [ 84%] omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.acquire_example_usd_interface
writing output... [ 86%] omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.get_example_usd_interface
writing output... [ 89%] omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.release_example_usd_interface
writing output... [ 91%] omni.example.cpp.usd/omni.example.cpp.usd.ExampleUsdExtension
writing output... [ 93%] omni.example.cpp.usd/omni.example.cpp.usd.IExampleUsdInterface
writing output... [ 95%] omni.example.cpp.usd/omni.example.cpp.usd.acquire_example_usd_interface
writing output... [ 97%] omni.example.cpp.usd/omni.example.cpp.usd.get_example_usd_interface
writing output... [100%] omni.example.cpp.usd/omni.example.cpp.usd.release_example_usd_interface

generating indices... genindex done
writing additional pages... search done
copying images... [100%] animated_prims.gif

copying static files... done
copying extra files... done
dumping search index in English (code: en)... done
dumping object inventory... done
build finished with problems, 2 warnings.
[ERROR] Documentation build failed.
Errors (from: '/home/jacobs/kit-extension-template-cpp/_build/docs/sphinx_warnings.txt'):
docstring of omni.example.cpp.usd._example_usd_bindings.IExampleUsdInterface:1: WARNING: duplicate object description of omni.example.cpp.usd._example_usd_bindings.IExampleUsdInterface, other instance in omni.example.cpp.usd.impl.example_usd_extension/omni.example.cpp.usd.impl.example_usd_extension.IExampleUsdInterface, use :noindex: for one of them
docstring of omni.example.cpp.usd._example_usd_bindings.IExampleUsdInterface:1: WARNING: duplicate object description of omni.example.cpp.usd._example_usd_bindings.IExampleUsdInterface, other instance in omni.example.cpp.usd.impl/omni.example.cpp.usd.impl.IExampleUsdInterface, use :noindex: for one of them

Any ideas?

Cheers,
Arne

Hi @arne.jacobs. I’ve created an internal ticket, OM-86710, for the dev team to look at this.

Hi @arne.jacobs. Have you seen this repo_docs documentation? Omniverse Documentation System — repo_docs 0.20.3 documentation

Yes, I have read the repo_docs documentation. That is why I tried to add the library paths to the repo.toml. But in the end I got errors regarding Python modules (see my second post) which should be available. I also tried adding these to the python_path in repo.toml, but to no avail. More and more import errors were appearing of modules which are quite basic and for which there should never be a problem to import, and at some point I was stuck.

It seemed that when setting the python_path, somehow the default imports were gone. I didn’t really understand it :-(.

But as mentioned, these errors pop up in the omni.example.cpp.usd example extension, which I took as is from the kit-extension-template-cpp repo…

Thanks for any help on this!

Hi @arne.jacobs. repo_docs is worked as designed, but we’re looking into fixing up those examples. Some info from the devs for your own knowledge:

The issue is simply that, in essence, repo_docs, and any kit_repo_docs functionality, whether in your extension or the example, do not have the right combination library_paths and python_paths exposed to repo_docs in order to import the python modules present. The error coming up is a module inspection that is attempting to determine what the public API is in order to generate an autosummary of it, and failing to do so for any of the [python.module] ‘s of the given extension. When zero such modules are able to be inspected due to such pathing/lib issues, no python API can be generated so it is turned off. It can’t always be considered an error due to some odd issues in kit, though the hope is to make it more strict as some of those are addressed. (Some plans for that are shaping up)
The thing to do is just to manipulate [repo_docs] library_paths / python_paths settings such that it correctly imports the modules/extensions involved.

Hi, and thanks for the reply.

Would it be possible for the devs to list the right library_paths/python_paths settings for the omni.example.cpp.usd extension in the kit-extension-template-cpp here? Because I tried to modify them, fixing one error at a time, but with the python_paths I at some point was stuck…

Or will the kit-extension-template-cpp repo be updated accordingly?

Cheers,
Arne

Hi @arne.jacob. Sorry, I didn’t get the ping for your latest reply on this issue. Yes, I’ve asked that the repo be updated on the issue that I mentioned here: OM-86710.