Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 730268 - >=sys-devel/llvm-11[-doc]: Configuration error: There is a programmable error in your configuration file: ModuleNotFoundError: No module named 'recommonmark'
Summary: >=sys-devel/llvm-11[-doc]: Configuration error: There is a programmable error...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: Normal normal
Assignee: LLVM support project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-06-30 17:49 UTC by Oleh
Modified: 2020-07-23 10:00 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Minimal patch (llvm.patch,1.58 KB, patch)
2020-07-23 06:45 UTC, Arfrever Frehtes Taifersar Arahesis
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Oleh 2020-06-30 17:49:09 UTC
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.
Comment 1 Larry the Git Cow gentoo-dev 2020-07-04 17:33:56 UTC
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(-)
Comment 2 Oleh 2020-07-10 05:45:57 UTC
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
Comment 3 tt_1 2020-07-22 18:21:58 UTC
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
Comment 4 Arfrever Frehtes Taifersar Arahesis 2020-07-23 06:38:56 UTC
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.
Comment 5 Arfrever Frehtes Taifersar Arahesis 2020-07-23 06:45:15 UTC
Created attachment 650256 [details, diff]
Minimal patch
Comment 6 Arfrever Frehtes Taifersar Arahesis 2020-07-23 06:47:03 UTC
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?
Comment 7 Larry the Git Cow gentoo-dev 2020-07-23 10:00:31 UTC
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(-)