LINUX.ORG.RU

ошибка при сборке llvm

 ,


0

3

пакет sys-devel/llvm-4.0.1 не собрался с gcc-6.3.0 и вылетел с ошибкой, почему такое может быть?

[1515/1516] /usr/bin/x86_64-pc-linux-gnu-g++ -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools/yaml2obj -I/var/tmp/portage/sys-devel/llvm-4.0.1/work/llvm-4.0.1.src/tools/yaml2obj -Iinclude -I/var/tmp/portage/sys-devel/llvm-4.0.1/work/llvm-4.0.1.src/include  -DNDEBUG -O2 -pipe -fPIC -fvisibility-inlines-hidden -Wall -W -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wno-missing-field-initializers -pedantic -Wno-long-long -Wno-maybe-uninitialized -Wdelete-non-virtual-dtor -Wno-comment -Werror=date-time -std=c++11 -ffunction-sections -fdata-sections -MD -MT tools/yaml2obj/CMakeFiles/yaml2obj.dir/yaml2elf.cpp.o -MF tools/yaml2obj/CMakeFiles/yaml2obj.dir/yaml2elf.cpp.o.d -o tools/yaml2obj/CMakeFiles/yaml2obj.dir/yaml2elf.cpp.o -c /var/tmp/portage/sys-devel/llvm-4.0.1/work/llvm-4.0.1.src/tools/yaml2obj/yaml2elf.cpp
ninja: build stopped: subcommand failed.
 * ERROR: sys-devel/llvm-4.0.1::gentoo failed (compile phase):
 *   ninja -v -j5 -l0 failed
 * 
 * Call stack:
 *     ebuild.sh, line  115:  Called src_compile
 *   environment, line 4614:  Called multilib-minimal_src_compile
 *   environment, line 2887:  Called multilib_foreach_abi 'multilib-minimal_abi_src_compile'
 *   environment, line 3118:  Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_compile'
 *   environment, line 2753:  Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_compile'
 *   environment, line 2751:  Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_compile'
 *   environment, line  568:  Called multilib-minimal_abi_src_compile
 *   environment, line 2881:  Called multilib_src_compile
 *   environment, line 3330:  Called cmake-utils_src_compile
 *   environment, line  991:  Called cmake-utils_src_make
 *   environment, line 1163:  Called _cmake_ninja_src_make
 *   environment, line  334:  Called eninja
 *   environment, line 1491:  Called die
 * The specific snippet of code:
 *       "$@" || die "${nonfatal_args[@]}" "${*} failed"

флаги:

USE="git subversion -vanilla dbus unicode pcre16* ruby20 ruby21 ruby23 python icu minizip gstreamer X -kde \
     cups gtk3 custom-cflags gn gnome hangouts gnome-keyring \
     kerberos neon pic proprietary-codecs pulseaudio suid system-ffmpeg \
     tcmalloc widevine mmx sse qt4 alsa cdr savedconfig opengl sound -amdgpu -intel -radeon"

Ответ на: комментарий от Pinkbyte

ну вроде вот:

>>> Failed to emerge sys-devel/llvm-4.0.1, Log file:

>>>  '/var/tmp/portage/sys-devel/llvm-4.0.1/temp/build.log'

 * Messages for package sys-devel/llvm-4.0.1:

 * ERROR: sys-devel/llvm-4.0.1::gentoo failed (compile phase):
 *   ninja -v -j5 -l0 failed
 * 
 * Call stack:
 *     ebuild.sh, line  115:  Called src_compile
 *   environment, line 4614:  Called multilib-minimal_src_compile
 *   environment, line 2887:  Called multilib_foreach_abi 'multilib-minimal_abi_src_compile'
 *   environment, line 3118:  Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_compile'
 *   environment, line 2753:  Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_compile'
 *   environment, line 2751:  Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_compile'
 *   environment, line  568:  Called multilib-minimal_abi_src_compile
 *   environment, line 2881:  Called multilib_src_compile
 *   environment, line 3330:  Called cmake-utils_src_compile
 *   environment, line  991:  Called cmake-utils_src_make
 *   environment, line 1163:  Called _cmake_ninja_src_make
 *   environment, line  334:  Called eninja
 *   environment, line 1491:  Called die
 * The specific snippet of code:
 *       "$@" || die "${nonfatal_args[@]}" "${*} failed"
 * 
 * If you need support, post the output of `emerge --info '=sys-devel/llvm-4.0.1::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=sys-devel/llvm-4.0.1::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/sys-devel/llvm-4.0.1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-devel/llvm-4.0.1/temp/environment'.
 * Working directory: '/var/tmp/portage/sys-devel/llvm-4.0.1/work/llvm-4.0.1.src-abi_x86_64.amd64'
 * S: '/var/tmp/portage/sys-devel/llvm-4.0.1/work/llvm-4.0.1.src'

 * GNU info directory index is up-to-date.

!!! existing preserved libs:
>>> package: app-text/poppler-0.56.0
 *  - /usr/lib64/libpoppler.so.66
 *  - /usr/lib64/libpoppler.so.66.0.0
 *      used by /usr/lib64/libgdal.so.2.0.3 (sci-libs/gdal-2.0.3)
>>> package: media-libs/x264-0.0.20170701
 *  - /usr/lib64/libx264.so.148
 *      used by /usr/bin/mencoder (media-video/mplayer-1.3.0)
 *      used by /usr/lib64/vlc/plugins/codec/libx264_plugin.so (media-video/vlc-2.2.4-r1)
>>> package: x11-libs/libdrm-2.4.81
 *  - /usr/lib64/libdrm_nouveau.so.2
 *  - /usr/lib64/libdrm_nouveau.so.2.0.0
 *      used by /usr/lib64/xorg/modules/drivers/nouveau_drv.so (x11-drivers/xf86-video-nouveau-1.0.15)
Use emerge @preserved-rebuild to rebuild packages using these libraries

xperious ()
Ответ на: комментарий от xperious

Еще раз - это не полный лог. Читай ВНИМАТЕЛЬНО что тебе пишет emerge:

The complete build log is located at '/var/tmp/portage/sys-devel/llvm-4.0.1/temp/build.log'.

Вот его содержимое и нужно показывать. Для больших пакетов там обычно километр текста - залей его куда-нибудь на pastebin или если он ну уж очень большой - на какой-нибудь неотмороженный файлообменник.

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Ответ на: комментарий от Pinkbyte

чет не могу я загрузить на файлобменник этот файл, в общем из логов:

[1512/1516] cd /var/tmp/portage/sys-devel/llvm-4.0.1/work/llvm-4.0.1.src-abi_x86_64.amd64/docs && /usr/bin/sphinx-build -b man -d /var/tmp/portage/sys-devel/llvm-4.0.1/work/llvm-4.0.1.src-abi_x86_64.amd64/docs/_doctrees-man -q /var/tmp/portage/sys-devel/llvm-4.0.1/work/llvm-4.0.1.src/docs /var/tmp/portage/sys-devel/llvm-4.0.1/work/llvm-4.0.1.src-abi_x86_64.amd64/docs/man
FAILED: docs/CMakeFiles/docs-llvm-man
cd /var/tmp/portage/sys-devel/llvm-4.0.1/work/llvm-4.0.1.src-abi_x86_64.amd64/docs && /usr/bin/sphinx-build -b man -d /var/tmp/portage/sys-devel/llvm-4.0.1/work/llvm-4.0.1.src-abi_x86_64.amd64/docs/_doctrees-man -q /var/tmp/portage/sys-devel/llvm-4.0.1/work/llvm-4.0.1.src/docs /var/tmp/portage/sys-devel/llvm-4.0.1/work/llvm-4.0.1.src-abi_x86_64.amd64/docs/man
Traceback (most recent call last):
  File "/usr/lib/python-exec/python2.7/sphinx-build", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 3037, in <module>
    @_call_aside
  File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 3021, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 3050, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 655, in _build_master
    ws.require(__requires__)
  File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 969, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 855, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'typing' distribution was not found and is required by Sphinx
[1513/1516] cd /var/tmp/portage/sys-devel/llvm-4.0.1/work/llvm-4.0.1.src-abi_x86_64.amd64/docs && /usr/bin/sphinx-build -b html -d /var/tmp/portage/sys-devel/llvm-4.0.1/work/llvm-4.0.1.src-abi_x86_64.amd64/docs/_doctrees-html -q /var/tmp/portage/sys-devel/llvm-4.0.1/work/llvm-4.0.1.src/docs /var/tmp/portage/sys-devel/llvm-4.0.1/work/llvm-4.0.1.src-abi_x86_64.amd64/docs/html
FAILED: docs/CMakeFiles/docs-llvm-html
cd /var/tmp/portage/sys-devel/llvm-4.0.1/work/llvm-4.0.1.src-abi_x86_64.amd64/docs && /usr/bin/sphinx-build -b html -d /var/tmp/portage/sys-devel/llvm-4.0.1/work/llvm-4.0.1.src-abi_x86_64.amd64/docs/_doctrees-html -q /var/tmp/portage/sys-devel/llvm-4.0.1/work/llvm-4.0.1.src/docs /var/tmp/portage/sys-devel/llvm-4.0.1/work/llvm-4.0.1.src-abi_x86_64.amd64/docs/html
Traceback (most recent call last):
  File "/usr/lib/python-exec/python2.7/sphinx-build", line 6, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 3037, in <module>
    @_call_aside
  File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 3021, in _call_aside
    f(*args, **kwargs)
  File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 3050, in _initialize_master_working_set
    working_set = WorkingSet._build_master()
  File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 655, in _build_master
    ws.require(__requires__)
  File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 969, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib64/python2.7/site-packages/pkg_resources/__init__.py", line 855, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'typing' distribution was not found and is required by Sphinx

ну а дальше то что в первом сообщении... если этого не достаточно, то могу еще выдрать куски

xperious ()
Ответ на: комментарий от xperious

Вроде всё на месте.
Запусти тогда python-updater, но переустановит некоторые пакеты; по окончании (успешном) повтори попытку с llvm. Также убери флаг doc в LLVM (тебе ж документация по llvm не нужна?).

Kroz ★★★★★ ()
Ответ на: комментарий от xperious

Это я понял.
Пока пропусти этот пакет. Знаешь как пропускать пакет, который упал?
Потом, когда мир докомпилится, попробуешь то, что я сказал. Только doc флаг нужно убирать не везде, а только в llvm.

Kroz ★★★★★ ()
Ответ на: комментарий от Kroz

пропускать пакет из вашей темы узнал как:

emerge --resume --skipfirst

я тут кстати помозговал: llvm с флагом ncurses стоит сборка, а ncurses у меня >=sys-libs/ncurses-6.0-r1:0 стоит замаскированным, может ли в этом быть трабл? не помню зачем его маскировал, что-то не собиралось вроде

xperious ()
Ответ на: комментарий от xperious

llvm с флагом ncurses стоит сборка, а ncurses у меня >=sys-libs/ncurses-6.0-r1:0 стоит замаскированным, может ли в этом быть трабл?

Не думаю что трабл в этом.
Погугли по фразе «The 'typing' distribution was not found and is required by Sphinx» из твоего лога (что, собственно, я и сделал)
Судя по всему трабл в том, что sphynx не нашел зависимости. Поскольку это python'овская тулза, скорее всего ты не всегда запускал python-updater после апдейта python.

emerge --resume --skipfirst

Это да.
Но есть два нюанса:
1. Если установка прервалась, и после этого ты запустил emerge, например чтобы доустановить другой пакет, а потом решил продолжить предыдущую инсталляцию, то скорее всего это не удастся, так как installation list (или как он там зовётся) перезапишется. На самом деле, ЕМНИП, там два таких листа, и, строго говоря, в приведенном мною примере так получится. Но я сильно в этом не разбирался, и предпочитаю не экспериментировать с этим, особенно на компиляции мира, когда потерять installation list особенно обидно. Мой подход - если компиляция мира прервалась, то далее только один путь: --resume.
2. --skipfirst пропускает первый пакет в списке. ЕМНИП может быть кейс, когда при --resume упавший пакет будет не первым; например, если порядок установки первых нескольких пакетов не важен; тогда emerge может их перетасовать. Я рекомендую сначала делать --resume (без --skipfirst), убедиться, что пакет, который упал, таки самый первый по списку (ну, то есть дождаться чтобы он начал устанавливаться), а только после этого запускать --resume --skipfirst . Опять же, может что-то путаю, но у меня нет гарантии обратного, так что я делаю именно сначала --resume, а только потом --resume --skipfirst.

Kroz ★★★★★ ()
Ответ на: комментарий от xperious

llvm с флагом ncurses стоит сборка, а ncurses у меня >=sys-libs/ncurses-6.0-r1:0 стоит замаскированным

Вот у меня (но у меня 32-битная платформа):

$ gcc-config -l
 [1] i686-pc-linux-gnu-5.4.0
 [2] i686-pc-linux-gnu-6.3.0 *

$ emerge -pv --nodeps llvm sphinx sphinx_rtd_theme ncurses

These are the packages that would be merged, in order:

[ebuild   R    ] sys-devel/llvm-4.0.1:4::gentoo  USE="doc libffi ncurses -debug -gold -libedit {-test}" LLVM_TARGETS="AMDGPU BPF NVPTX (X86) -AArch64 -ARM -Hexagon -Lanai -MSP430 -Mips -PowerPC -RISCV -Sparc -SystemZ -XCore" 0 KiB
[ebuild   R    ] dev-python/sphinx-1.6.3-r1::gentoo  USE="-doc -latex -net {-test}" PYTHON_TARGETS="python2_7 python3_4 -python3_5 -python3_6" 0 KiB
[ebuild   R    ] dev-python/sphinx_rtd_theme-0.1.9::gentoo  PYTHON_TARGETS="python2_7 python3_4 -pypy -pypy3 -python3_5 -python3_6" 0 KiB
[ebuild   R    ] sys-libs/ncurses-6.0-r1:0/6::gentoo  USE="cxx unicode -ada -debug -doc -gpm -minimal -profile -static-libs {-test} -threads -tinfo -trace" 0 KiB

Kroz ★★★★★ ()
Последнее исправление: Kroz (всего исправлений: 1)
Ответ на: комментарий от xperious

Resume list называется.

Вообще-то он бинарный (не знаю зачем это сделано), хранится в /var/cache/edb/mtimedb, и стандартными утилитами не смотрится.
Но можно посмотреть вот так:

# Основной
$ python -c 'exec("import portage;lst = portage.mtimedb.get(\"resume\", {}).get(\"mergelist\");\nif lst:\n\tfor a in lst: print a[2]\nelse: print \"None\"")'

# Backup
$ python -c 'exec("import portage;lst = portage.mtimedb.get(\"resume\", {}).get(\"mergelist_backup\");\nif lst:\n\tfor a in lst: print a[2]\nelse: print \"None\"")'

Kroz ★★★★★ ()
Последнее исправление: Kroz (всего исправлений: 1)