By default, -doc is set for the llvm-*, with USE="doc" additional dependency required: dev-python/recommonmark In https://gitweb.gentoo.org/repo/gentoo.git/commit/sys-devel/llvm?id=dc7702b045941e0ea91a0e1af69afff094b2395f USE="-doc" attempted to fix, however, it does not work. llvm-11.0.9999 keep failing unless dev-python/recommonmark installed Reproducible: Always Steps to Reproduce: 1. USE="-doc" emerge -1avt =sys-devel/llvm-11.0.9999 ( -doc is the default, anyway ) 2. notice build failure as in Actual Results, below 3. emerge -1 dev-python/recommonmark 4 USE="-doc" emerge -1 =sys-devel/llvm-11.0.9999 succeeded. Actual Results: /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/docs /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm-11.0.0.9999_build-abi_x86_64.amd64/docs/html FAILED: docs/CMakeFiles/docs-llvm-html cd /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm-11.0.0.9999_build-abi_x86_64.amd64/docs && /usr/bin/sphinx-build -b html -d /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm-11.0.0.9999_build-abi_x86_64.amd64/docs/_doctrees-llvm-html -q /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/docs /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm-11.0.0.9999_build-abi_x86_64.amd64/docs/html Extension error: Could not import extension recommonmark (exception: No module named 'recommonmark') [2135/2168] /usr/lib/llvm/11/bin/x86_64-pc-linux-gnu-clang++ -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_LANG_CXX11=1 -DLLVM_ENABLE_PLUGINS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Iunittests/Passes -I/var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/unittests/Passes -Iinclude -I/var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/include -I/var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/utils/unittest/googletest/include -I/var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/utils/unittest/googlemock/include -DNDEBUG -march=sandybridge -O2 -pipe -mretpoline -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -fdiagnostics-color -ffunction-sections -fdata-sections -fPIC -std=c++14 -MD -MT unittests/Passes/CMakeFiles/TestPlugin.dir/TestPlugin.cpp.o -MF unittests/Passes/CMakeFiles/TestPlugin.dir/TestPlugin.cpp.o.d -o unittests/Passes/CMakeFiles/TestPlugin.dir/TestPlugin.cpp.o -c /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/unittests/Passes/TestPlugin.cpp [2136/2168] cd /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm-11.0.0.9999_build-abi_x86_64.amd64/docs && /usr/bin/sphinx-build -b man -d /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm-11.0.0.9999_build-abi_x86_64.amd64/docs/_doctrees-llvm-man -q /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/docs /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm-11.0.0.9999_build-abi_x86_64.amd64/docs/man FAILED: docs/CMakeFiles/docs-llvm-man cd /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm-11.0.0.9999_build-abi_x86_64.amd64/docs && /usr/bin/sphinx-build -b man -d /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm-11.0.0.9999_build-abi_x86_64.amd64/docs/_doctrees-llvm-man -q /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/docs /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm-11.0.0.9999_build-abi_x86_64.amd64/docs/man Extension error: Could not import extension recommonmark (exception: No module named 'recommonmark') [2137/2168] cd /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm-11.0.0.9999_build-abi_x86_64.amd64/docs && /usr/bin/sphinx-build -b man -d /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm-11.0.0.9999_build-abi_x86_64.amd64/docs/_doctrees-llvm-dwarfdump-man -q /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/docs /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm-11.0.0.9999_build-abi_x86_64.amd64/docs/man FAILED: docs/CMakeFiles/docs-llvm-dwarfdump-man cd /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm-11.0.0.9999_build-abi_x86_64.amd64/docs && /usr/bin/sphinx-build -b man -d /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm-11.0.0.9999_build-abi_x86_64.amd64/docs/_doctrees-llvm-dwarfdump-man -q /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/docs /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm-11.0.0.9999_build-abi_x86_64.amd64/docs/man Extension error: Could not import extension recommonmark (exception: No module named 'recommonmark') [2138/2168] /usr/lib/llvm/11/bin/x86_64-pc-linux-gnu-clang++ -DGTEST_HAS_RTTI=0 -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_LANG_CXX11=1 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Iutils/unittest/UnitTestMain -I/var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/utils/unittest/UnitTestMain -Iinclude -I/var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/include -I/var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/utils/unittest/googletest/include -I/var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/utils/unittest/googletest -I/var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/utils/unittest/googlemock/include -I/var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/utils/unittest/googlemock -DNDEBUG -march=sandybridge -O2 -pipe -mretpoline -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-variadic-macros -Wno-gnu-zero-variadic-macro-arguments -Wno-covered-switch-default -std=c++14 -MD -MT utils/unittest/UnitTestMain/CMakeFiles/gtest_main.dir/TestMain.cpp.o -MF utils/unittest/UnitTestMain/CMakeFiles/gtest_main.dir/TestMain.cpp.o.d -o utils/unittest/UnitTestMain/CMakeFiles/gtest_main.dir/TestMain.cpp.o -c /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/utils/unittest/UnitTestMain/TestMain.cpp [2139/2168] /usr/lib/llvm/11/bin/x86_64-pc-linux-gnu-clang++ -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools/obj2yaml -I/var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/tools/obj2yaml -Iinclude -I/var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/include -DNDEBUG -march=sandybridge -O2 -pipe -mretpoline -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -fdiagnostics-color -ffunction-sections -fdata-sections -std=c++14 -MD -MT tools/obj2yaml/CMakeFiles/obj2yaml.dir/elf2yaml.cpp.o -MF tools/obj2yaml/CMakeFiles/obj2yaml.dir/elf2yaml.cpp.o.d -o tools/obj2yaml/CMakeFiles/obj2yaml.dir/elf2yaml.cpp.o -c /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/tools/obj2yaml/elf2yaml.cpp [2140/2168] /usr/lib/llvm/11/bin/x86_64-pc-linux-gnu-clang++ -DGTEST_HAS_RTTI=0 -DGTEST_HAS_TR1_TUPLE=0 -DGTEST_LANG_CXX11=1 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Iutils/unittest -I/var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/utils/unittest -Iinclude -I/var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/include -I/var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/utils/unittest/googletest/include -I/var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/utils/unittest/googletest -I/var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/utils/unittest/googlemock/include -I/var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/utils/unittest/googlemock -DNDEBUG -march=sandybridge -O2 -pipe -mretpoline -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -fdiagnostics-color -ffunction-sections -fdata-sections -Wno-variadic-macros -Wno-gnu-zero-variadic-macro-arguments -Wno-covered-switch-default -std=c++14 -MD -MT utils/unittest/CMakeFiles/gtest.dir/googletest/src/gtest-all.cc.o -MF utils/unittest/CMakeFiles/gtest.dir/googletest/src/gtest-all.cc.o.d -o utils/unittest/CMakeFiles/gtest.dir/googletest/src/gtest-all.cc.o -c /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/utils/unittest/googletest/src/gtest-all.cc [2141/2168] /usr/lib/llvm/11/bin/x86_64-pc-linux-gnu-clang++ -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools/llvm-readobj -I/var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/tools/llvm-readobj -Iinclude -I/var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/include -DNDEBUG -march=sandybridge -O2 -pipe -mretpoline -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wstring-conversion -fdiagnostics-color -ffunction-sections -fdata-sections -std=c++14 -MD -MT tools/llvm-readobj/CMakeFiles/llvm-readobj.dir/ELFDumper.cpp.o -MF tools/llvm-readobj/CMakeFiles/llvm-readobj.dir/ELFDumper.cpp.o.d -o tools/llvm-readobj/CMakeFiles/llvm-readobj.dir/ELFDumper.cpp.o -c /var/src/build/portage/sys-devel/llvm-11.0.0.9999/work/llvm/tools/llvm-readobj/ELFDumper.cpp ninja: build stopped: subcommand failed.
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=582dc78d14807a04e9d7608b15c5524bb560a2b6 commit 582dc78d14807a04e9d7608b15c5524bb560a2b6 Author: Michał Górny <mgorny@gentoo.org> AuthorDate: 2020-07-04 17:10:58 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2020-07-04 17:33:51 +0000 sys-devel/llvm: Update recommonmark sed in 11.0.0.9999 Closes: https://bugs.gentoo.org/730268 Signed-off-by: Michał Górny <mgorny@gentoo.org> sys-devel/llvm/llvm-11.0.0.9999.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
re-opening due to #gentoo-toolchain: <+angry_vincent> mgorny: did https://reviews.llvm.org/D83161 land into the lllvm-11.0.9999 ? <+angry_vincent> mgorny: i did try most recent head, and still does fail with this recommonmark issue yet <+angry_vincent> https://bpa.st/HXXA <+angry_vincent> by looking at code, it is applied <+angry_vincent> let me look, if it's a problem due to fact, i have outdate sphinx installed ( it was required for recommonmark, from previous tests ) <+mgorny> hmm, the error is correct <+mgorny> but you shouldn't be running the *-html target <+mgorny> hmm, it's a bug in the ebuild <+mgorny> i need to look if we can pass components explicitly to build <+angry_vincent> oh, ok <+angry_vincent> i need to ctrl+c the build, then <+angry_vincent> :) <+mgorny> angry_vincent: plz reopen the bug if you didn't yet
I'm also affected by this, with recent git checkout from today and with USE="-doc" [ebuild NS *] sys-devel/llvm-11.0.0.9999:11::gentoo [9.0.1:9::gentoo] USE="gold libffi ncurses xml -debug -doc -exegesis -libedit -test -xar -z3" ABI_X86="32 (64) (-x32)" LLVM_TARGETS="AMDGPU ARM WebAssembly (X86) -AArch64 -ARC% -AVR% -BPF -Hexagon -Lanai -MSP430 -Mips -NVPTX -PowerPC -RISCV -Sparc -SystemZ -VE% -XCore" 0 KiB Total: 1 package (1 in new slot), Size of downloads: 0 KiB
Currently: > [2832/2954] cd /var/tmp/portage/sys-devel/llvm-12.0.0.9999/work/llvm-12.0.0.9999_build-abi_x86_64.amd64/docs && /usr/bin/sphinx-build -b html -d /var/tmp/portage/sys-devel/llvm-12.0.0.9999/work/llvm-12.0.0.9999_build-abi_x86_64.amd64/docs/_doctrees-llvm-html -q -t builder-html /var/tmp/portage/sys-devel/llvm-12.0.0.9999/work/llvm/docs /var/tmp/portage/sys-devel/llvm-12.0.0.9999/work/llvm-12.0.0.9999_build-abi_x86_64.amd64/docs/html > FAILED: docs/CMakeFiles/docs-llvm-html > cd /var/tmp/portage/sys-devel/llvm-12.0.0.9999/work/llvm-12.0.0.9999_build-abi_x86_64.amd64/docs && /usr/bin/sphinx-build -b html -d /var/tmp/portage/sys-devel/llvm-12.0.0.9999/work/llvm-12.0.0.9999_build-abi_x86_64.amd64/docs/_doctrees-llvm-html -q -t builder-html /var/tmp/portage/sys-devel/llvm-12.0.0.9999/work/llvm/docs /var/tmp/portage/sys-devel/llvm-12.0.0.9999/work/llvm-12.0.0.9999_build-abi_x86_64.amd64/docs/html > > Configuration error: > There is a programmable error in your configuration file: > > Traceback (most recent call last): > File "/usr/lib/python3.8/site-packages/sphinx/config.py", line 319, in eval_config_file > execfile_(filename, namespace) > File "/usr/lib/python3.8/site-packages/sphinx/util/pycompat.py", line 88, in execfile_ > exec(code, _globals) > File "/var/tmp/portage/sys-devel/llvm-12.0.0.9999/work/llvm/docs/conf.py", line 40, in <module> > import recommonmark > ModuleNotFoundError: No module named 'recommonmark' Relevant part is "docs/CMakeFiles/docs-llvm-html". It means that CMake build system still wants to generate HTML documentation. https://github.com/llvm/llvm-project/blob/fb7bf1d7f263fea43212ae283b52fd9432402185/llvm/docs/CMakeLists.txt#L105-L120 contains: [[[ if (LLVM_ENABLE_SPHINX) include(AddSphinxTarget) if (SPHINX_FOUND) if (${SPHINX_OUTPUT_HTML}) add_sphinx_target(html llvm) endif() if (${SPHINX_OUTPUT_MAN}) add_sphinx_target(man llvm) add_sphinx_target(man llvm-dwarfdump) add_sphinx_target(man dsymutil) endif() endif() endif() ]]] https://github.com/llvm/llvm-project/blob/afa1afd4108d973e059e5f5ad68cf01efe7985da/llvm/docs/CMake.rst contains: [[[ **SPHINX_OUTPUT_HTML**:BOOL If enabled (and ``LLVM_ENABLE_SPHINX`` is enabled) then the targets for building the documentation as html are added (but not built by default unless ``LLVM_BUILD_DOCS`` is enabled). There is a target for each project in the source tree that uses sphinx (e.g. ``docs-llvm-html``, ``docs-clang-html`` and ``docs-lld-html``). Defaults to ON. **SPHINX_OUTPUT_MAN**:BOOL If enabled (and ``LLVM_ENABLE_SPHINX`` is enabled) the targets for building the man pages are added (but not built by default unless ``LLVM_BUILD_DOCS`` is enabled). Currently the only target added is ``docs-llvm-man``. Defaults to ON. ]]] sys-devel/llvm ebuilds: > llvm-8.0.1.ebuild: -DLLVM_BUILD_DOCS=$(usex doc) > llvm-9.0.1.ebuild: -DLLVM_BUILD_DOCS=$(usex doc) > llvm-10.0.0.ebuild: -DLLVM_BUILD_DOCS=$(usex doc) > llvm-10.0.1.9999.ebuild: -DLLVM_BUILD_DOCS=ON > llvm-10.0.1.ebuild: -DLLVM_BUILD_DOCS=ON > llvm-10.0.1_rc1.ebuild: -DLLVM_BUILD_DOCS=ON > llvm-10.0.1_rc2.ebuild: -DLLVM_BUILD_DOCS=ON > llvm-10.0.1_rc3.ebuild: -DLLVM_BUILD_DOCS=ON > llvm-10.0.1_rc4.ebuild: -DLLVM_BUILD_DOCS=ON > llvm-11.0.0.9999.ebuild: -DLLVM_BUILD_DOCS=ON > llvm-12.0.0.9999.ebuild: -DLLVM_BUILD_DOCS=ON Minimal fix is to properly set SPHINX_OUTPUT_HTML and SPHINX_OUTPUT_MAN in ebuilds.
Created attachment 650256 [details, diff] Minimal patch
Sphinx and its dependencies are 16 new packages. Many users have LLVM installed only as library needed by other packages and do not need to read LLVM man pages. Would patch adding IUSE="man" be accepted?
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=79e35e6dd5867e42d2ca0705794fff65d8745ec7 commit 79e35e6dd5867e42d2ca0705794fff65d8745ec7 Author: Michał Górny <mgorny@gentoo.org> AuthorDate: 2020-07-23 06:35:59 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2020-07-23 10:00:24 +0000 sys-devel/llvm: Build only distribution targets in src_compile() Build only distribution targets rather than everything. Most importantly, this fixes the build failure due to trying to build HTML docs when sphinx is available but recommonmark is not. As a side result, this may prevent some unnecessary targets from being built and delay some others into src_test(). Closes: https://bugs.gentoo.org/730268 Signed-off-by: Michał Górny <mgorny@gentoo.org> sys-devel/llvm/llvm-11.0.0.9999.ebuild | 2 +- sys-devel/llvm/llvm-12.0.0.9999.ebuild | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)