[РЕШЕНО] Проблема со сборкой ulatencyd

Если кто не знает, это демон, динамически распределяющий ресурсы посредством cgroups, увеличивает отзывчивость системы.
Так как ебилд из оверлея сильно устарел, я решил переделать его в лайв-ебилд (благо собирается оно просто).
Ебилд: http://pastebin.com/ZATnwNR2
Сборка прекращается где-то на стадии линковки: http://pastebin.com/9tmVGHHA
Если собирать без портежа, (т.е. git clone, cmake, make), то все компилится нормально. Что я делаю не так?

equeim написал(а): Так как

equeim написал(а):
Так как ебилд из оверлея сильно устарел, я решил переделать его в лайв-ебилд (благо собирается оно просто). Ебилд: http://pastebin.com/ZATnwNR2

попробуйте ебилд подправить как-то так:

@@ -24,6 +24,10 @@
"
RDEPEND="${DEPEND}"

+src_prepare() {
+ append-libs -ldl
+}
+
pkg_setup() {
python_set_active_version 2
python_pkg_setup

Не выходит, та же ошибка.

Не выходит, та же ошибка.

Если заменить

Если заменить /var/tmp/portage/sys-process/ulatencyd-9999/work/ulatencyd-9999_build/src/CMakeFiles/ulatencyd.dir/link.txt на тот, что генерируется при обычной сборке без портежа, а затем набрать make в директории сборки, то все линкуется нормально.
"правильный" link.txt: http://pastebin.com/vyZeHaqQ
link.txt от портежа: http://pastebin.com/8wdf4we5

В сборке из исходников я не специалист, в чем там проблема?

Думается, что проблема с

Думается, что проблема с --as-needed, а патч ебилда, добавляющий в конец -ldl почему-то не сработал (я не знаком с cmake и не знаю, что обозначают используемые вызовы в ebuild). Может быть, это не в prepare phase надо, а позже.. '--as-needed' исключает из elf библиотеки, которые как "кажется" линкеру - не нужны

Надо бы добиться чтобы -ldl добавлялся в конец команды сборки, либо - избавиться от --as-needed. В eclass/flag-o-matic.eclass есть и другие функции для манипуляции опциями компилятора и линкера - посмотрите, может найдётся подходящее

Починил!

Починил! http://pastebin.com/VpX2Tb2E
Не уверен, правда, что это является правильным решением.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".