LINUX.ORG.RU

Yaourt не ставит multilib-пакеты из исходников

 , , , ,


0

1

Доброй ночи! Решил сделать оптимизированые пакеты, отвечающие за графику и ядро с системд. И всё бы ничего, вот только yaourt вообще не хочет качать исходники из реп multilib. Пишет curl error: url not found. Как быть, или так надо?

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

Да? Чёрт, былинный отказ. Как тогда поставить эти мультилиб-пакеты из исходников? Pkgbuild со страницы пакета? Пробовал с месой, не прокатило, ашипка. А можно стырить pkgbuild с i686 реп и поменять название в pkgbuild?

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

Ну если вручную, то сначала надо поставить все зависимости + build-time зависимости пакета, потом скачать все файлы, доступные по ссылке source files, исправить их как тебе нужно и запустить в их директории makepkg -i.

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

Как выявить build-time зависимости? Кстати, lib32-mesa устарела (10.6.4), если собирать из pkgbuild из source files, соберётся i686-версия и поставится как lib32?

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

Как выявить build-time зависимости?


Они прописываются в PKGBUILD как

makedepends=(...)
и нужны только для сборки (т.е. если тебе больше они ни для чего не требуются, после сборки их можно будет удалить).

Кстати, lib32-mesa устарела (10.6.4), если собирать из pkgbuild из source files, соберётся i686-версия и поставится как lib32?


Ну так исправь

pkgver=10.6.4
на актуальную версию, подправь ссылку на исходник (если нужно) и замени хеш (хеш можно заменить автоматом с помощью makepkg -g).

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

Но ведь там версия старая, не? Или подмена оной в pkgbuild должна сработать?

mradermaxlol
() автор топика
Ответ на: комментарий от m0rph

Хмм, при попытке собрать любой мультилиб-пакет получаю ошибку make...

Makefile:17474: ошибка выполнения рецепта для цели «all-recursive»

make[1]: *** [all-recursive] Ошибка 1

Makefile:8709: ошибка выполнения рецепта для цели «all»

make: *** [all] Ошибка 2

Может, нужно поставить lib32-make?

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

Может, нужно поставить lib32-make?


поставь группу multilib-devel

Но ведь там версия старая, не? Или подмена оной в pkgbuild должна сработать?

В этом и фишка Арча - ты можешь собрать нужную тебе верисю пакета с минимумом телодвижений (бывают исключения, но не часто).

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

Multilib-devel стоит и стоял до этого, а пакеты всё равно не собираются :С Может, в makepkg.conf подправить -march? Сейчас стоит native, т.е. под FX-шки.

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

А в чем заключается ошибка? То, что ты привел выше - это выхлоп make о том, что произошла ошибка в принципе. А интересно как раз то, что именно пошло не так. Есть там текст от gcc?

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

Нет, только от make. Через полчаса буду дома, попробую пересобрать lib32-mesa и скину полный лог на пэйстбин, ссылку прикреплю.

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

Насколько я понял, линкер ругается на несовместимую (64-битную) версию libxvmc. Очень похоже, что у тебя не установлена lib32-libxvmc, но непонятно, как makepkg это пропускает при проверке зависимостей.

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

Попробую поставить. Действительно странно, ибо все makedep-ы поставил (из PKGBUILD-а)...

mradermaxlol
() автор топика
Ответ на: комментарий от m0rph

Вроде вышла 10.6.5, сейчас опробую с этой либой...

mradermaxlol
() автор топика
Ответ на: комментарий от m0rph

Да, собралось. Сейчас шаманю с lib32-systemd, make также ругается... Буду ставить зависимости и читать логи.

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

Пакет qrencode судя по всему как раз и содержит libqrencode. Линкер судя по всему хочет 32-битную версию, а у тебя стоит 64-битная (т.к. что-то я не вижу пакета lib32-qrencode в репах).

m0rph ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.