При обновлении не собирается cmake по зависимости libuv
При обновлении мира падает в ошибку компиляция cmake.
Требует версию libuv выше 1.2.28, хотя в системе установлена версия 1.44.
#equery --quiet list libuv
dev-libs/libuv-1.44.2-r1
Вопрос: как это решить? Читал на багзилле решения, честно не понял что надо сделать.
Ошибка:
-- Found JsonCpp: /usr/lib64/libjsoncpp.so (found suitable version "1.9.5", minimum required is "1.4.1")
-- Could NOT find LibUV: Found unsuitable version "1.20.0", but required is at least "1.28.0" (found /usr/lib64/libuv.so)
CMake Error at CMakeLists.txt:676 (message):
CMAKE_USE_SYSTEM_LIBUV is ON but a libuv is not found!
Call Stack (most recent call first):
CMakeLists.txt:807 (CMAKE_BUILD_UTILITIES)
Логи сборки cmake:
output - http://dpaste.com/HECPWPNK4
error - http://dpaste.com/GC63YPDZ8
Вывод emerge --info:
http://dpaste.com/5XPNSQJVG
- Для комментирования войдите или зарегистрируйтесь
CMAKE_USE_SYSTEM_LIBUV is ON
CMAKE_USE_SYSTEM_LIBUV is ON but a libuv is not found!
libuv включен в системе, но не найде?! Странно и правда.
Рискну преложить поискать именно то, что просит компилятор: 1.28.0.
My website: http://comb.org.ru
С ноября 2022 нетбук HP mini (Processor: Atom n570)
Плохой совет
@setavr, Я вижу, что ты недавно обновил
glibc
, и рискну предположить, что другие зависимые библиотеки/пакеты, которые явно не обновились, не были перекомпилированы, в том числе иlibuv
...Поэтому предлагаю обновление с принудительным обновлением, включая зависимости:
Если будут проблемы - покажи выдачу команды выше.
Ошибка та же при компиляции
Ошибка та же при компиляции cmake.
При подсчете зависимостей проблем, конфликтов и блокировок нет.
"
-- Could NOT find LibUV: Found unsuitable version "1.20.0", but required is at least "1.28.0" (found /usr/lib64/libuv.so)
CMake Error at CMakeLists.txt:676 (message):
CMAKE_USE_SYSTEM_LIBUV is ON but a libuv is not found!
Call Stack (most recent call first):
CMakeLists.txt:807 (CMAKE_BUILD_UTILITIES)
-- Configuring incomplete, errors occurred!
See also "/var/tmp/portage/dev-util/cmake-3.24.3/work/cmake-3.24.3_build/CMakeFiles/CMakeOutput.log".
See also "/var/tmp/portage/dev-util/cmake-3.24.3/work/cmake-3.24.3_build/CMakeFiles/CMakeError.log".
* ERROR: dev-util/cmake-3.24.3::gentoo failed (configure phase):
* cmake failed
*
* Call stack:
* ebuild.sh, line 122: Called src_configure
* environment, line 2499: Called cmake_src_configure
* environment, line 1196: Called die
* The specific snippet of code:
* "${CMAKE_BINARY}" "${cmakeargs[@]}" "${CMAKE_USE_DIR}" || die "cmake failed";
"
вывод emerge --info
http://0x0.st/o02e.22.txt
вывод emerge -1DNU --with-bdeps=y --changed-deps=y --verbose-conflicts --backtrack=40 libuv cmake -pv
http://0x0.st/o02Q.txt
Оставшиеся пакеты тянет за собой cmake.
Ну так и отлично!
Ну так и отлично, а теперь убери
-pv
и выполни! :)Очень странное "обновление".
Часть обновляемых пакетов была собрана с cmake. Сам же cmake - новый, в системе его нет. Как так получилось?
P.S. Впрочем, это не так уж и интересно. Система явно порушена вручную и злонамеренно. При вивисекции зависимости пакетов не учитывались.
Сначала нужно добиться выполнения emerge -qe @system. И только после этого обновляться.
cmake я вынес сам, пытаясь
cmake я вынес сам, пытаясь разрулить ошибку обновления
То есть, видимо, еще надо
То есть, видимо, еще надо заглянуть в пользовательскую кастомизацию (package.use/custom, package.accept.keywords и т.д.)?! Чтобы понять, в какие "шахматы играл автор" с системой.
My website: http://comb.org.ru
С ноября 2022 нетбук HP mini (Processor: Atom n570)
emerge -qe @system Компиляция
emerge -qe @system
Компиляция остановилась опять на cmake. В переборку попало 476 пакетов, остановилась на 363,
далее emerge --resume --skipfirst и компиляция оставшихся. Пока жду завершения.
packadge.use
http://0x0.st/o0WU.use
portage/package.accept_keywords
http://0x0.st/o0WD.accept_k
setavr написал(а): ...
Это вполне нормально. Ибо неизвестно, чего там еще не хватает. Пусть хоть в system все будет стройно, хоть обновится можно будет. Если соберется.
Проверил, cmake без самого себя собирается, если все остальное будет, должно восстановиться.
А вот то, что package.use, как и package.accept_keywords, автоматически заполняется, на мой взгляд, очень плохо. Потому что фиксируются, например, флаги для целевых python, а их бы оставить на усмотрение профиля и зависимостей. Да и вообще все прибивается гвоздями и дальнейшему контролю не подлежит.
Компиляция завершилась. Все
Компиляция завершилась. Все что не собралось:
http://0x0.st/o0JA.txt
Что делать дальше?
Компиляция завершилась.
Собралось все, кроме cmake и cmake-зависимых. Наверно, стоило обратить внимание, почему cmake не собрался. Наверно, из-за libuv, который пересобрался во второй части сборки. В любом случае, выяснить версию собранной libuv, из-за которой валилась сборка cmake, не лишне. И если снова собралась не та версия, которая нужна, то почему не собралась нужная - это и будет намек на источник проблем.
Без понятия, что тебе нужно. :-D
Собирай cmake, что ли? Или пойди, погуляй уже, сколько можно тупо из интернета всякую херню перепечатывать. :)
//------------
О вечном.
Автозаполнение accept_keywords и use для packages (как и включение произвольных промежуточных зависимостей в world, например), с каждой сборкой отдаляет мир от профиля, уводя на дорогу оригинальности и самобытности. Той же дорожкой идут и зависимости, их неудовлетворенности, и прочие косяки. Соответственно, с этим будет разбираться тот, на чьей совести лежит установка флага упомянутого автозаполнения.
Gentoo обеспечивает огромное количество таких дорог, тропинок и автострад. Каждый на своей. Причем, с какого-то времени, на чужую становится наплевать (ведь число их, см. выше, огромно).
Это же касается и ручной правки профиля с помощью таких файлов для своих оригинальных нужд. Но исправляя ручками, рут делает самостоятельный выбор и процедура подчеркивает его ответственноть за каждую правку. Выражение "оно само, я ничего не делал" становится явно нелогичным даже для особ, одаренных альтернативным сознанием, скажем, средней тяжести.
Уйдя в дремучий тропический лес (или стерильную арктическую пустыню) своих представлений о системе, бесполезно звать на помощь. Из чащи и тупика выдираться придется пересборкой мира со stage3 после предварительной кардинальной прочистки world.
Пойду подышу...
Пойду подышу...
Вот тут ты прав!
Бездумная автокорректировка конфигурации портажа - это ССЗБ, мина замедленного действия... не знаешь когда и как рванёт.
Умный учится на ошибках
Умный учится на ошибках других, остальные на своих.
В общем, все решилось откатом и перекомпиляцией.
Всем спасибо за наставление на путь истинный.
Можно топик закрывать.
setavr написал(а):Умный
Извини, но в чем ошибка-то была? Откат - куда откат, перекомпиляцией чего? Почему cmake-то не собирался?
Сборка новой версии libuv не
Сборка новой версии libuv не заменяла версию ранее установленной библиотеки. Как и почему - объяснить не могу. А cmake требовал версию библиотеки, которой в системе не нет и из-за этого не собирался.
Ошибка - я наворотил с зависимостями, не прочитал вывод портажа, сломал профиль...
Откатился на образ годовой давности, подрезал до минимума USE флаги и все пересобрал @system & @world, без ошибок, при чем проверил профиль - в нем все в норме.
Спасибо.
Спасибо, все понятно.