LINUX.ORG.RU

Gentoo не работает odeskteam

 , ,


0

1

Поставил app-office/odeskteam из репозиториев - не запускается, говорит:

odeskteam-qt4: error while loading shared libraries: libavdevice.so.53: cannot open shared object file: No such file or directory

В системе действительно нет такого файла, но есть libavdevice.so и libavdevice.so.54:

$ equery belongs libavdevice.so.54
 * Searching for libavdevice.so.54 ... 
app-emulation/emul-linux-x86-medialibs-20131008-r1 (/usr/lib32/libavdevice.so.54 -> libavdevice.so.54.2.101)
media-video/ffmpeg-1.0.8 (/usr/lib64/libavdevice.so.54 -> libavdevice.so.54.2.101)
$ equery belongs libavdevice.so
 * Searching for libavdevice.so ... 
app-emulation/emul-linux-x86-medialibs-20131008-r1 (/usr/lib32/libavdevice.so -> libavdevice.so.54.2.101)
media-video/ffmpeg-1.0.8 (/usr/lib64/libavdevice.so -> libavdevice.so.54.2.101)

Как решить эту проблему?

app-office/odeskteam-3.6.1-r1 was built with the following:
USE="(multilib) (policykit)" ABI_X86="64"

я продолжаю открывать для себя мир. и это генту? и оно не притянуло по зависимостям из своих портов нужную версию?..

ну сделай симлинк с тем именем либы (.so.53), что она хочет.

moot ★★★★ ()

Если оно проприетарное, то проще собрать libavdevice.so.53.

Если нет, то revdep-rebuild.

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

Как? Мне придется искать старую версию ffmpeg, в которой 53, а не 54, и устанавливать ее вместо текущей? Или можно попроще и не портя всю систему?

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

То есть сделать симлинк .so.53 на просто .so? А не обосрется ли emerge от этого когда-нибудь в будущем? Да и сейчас, подойдет ли 54 вместо 53?

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

Он ставит проприетарную уже скомпиленную программу, которая требует библиотеку той версии, которой нет в текущей версии ffmpeg .

Так что либо создать ссылку вручную, либо использовать LD_PRELOAD.

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

то, что я посоветовал - это адский костыль и так делать нельзя :) но если ты хочешь запустить свою программу, то можешь попробовать. вероятно, программа будет падать на каждый чих, но хоть заработает.

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

Если не пойдёт, то либо ставь более старый ffmpeg, либо скачивай, например deb пакет из Debian с более старой версией ffmpeg, в котором есть эта версия библиотеки и используй эту библиотеку, хотя это не совсем хорошо.

Всё же я бы посоветовал использовать LD_PRELOAD с указанием библиотеки .54.

Заодно можете написать bug report.

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

просто он написал «Поставил app-office/odeskteam из репозиториев» у вас в бинарных репах лежат хрен-пойми-что с неизветсно чем слинкованное при том?

ну ок, буду знать, my bad.

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

Используется сборка с сайта производителя, я же тебе написал. Нет, если ты найдешь на сайте производителя https://www.odesk.com/ исходники его продукта, то конечно сообщи об этом, что бы можно было собрать пакет вручную. А вот если не найдёшь, то сообщи пожалуйста разработчику https://www.odesk.com/ о том, что порабы пересобрать программу, что бы она была слинкована с новыми версиями библиотек.

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

На сайте производителя версия 3.10.5, а в portage - только 3.6.1. На сайте производителя только всякие deb и rpm пакеты - что мне с этим делать? Как мне попробовать оттуда установить?

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

меня ввело в заблуждение название типа «category/name» - у нас так только нормальные порты из официального дерева называются. всякое самоскаченное так не называется.

ок, бинарник с сайта - это понятно. тут вопросов нет.

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

На сайте производителя версия 3.10.5, а в portage - только 3.6.1

Напиши версию ebuild`а под версию 3.10.5.

На сайте производителя только всякие deb и rpm пакеты - что мне с этим делать?

Ну как бы версия 3.6.1 так же из RPM и ставится. Она просто конвертируется в tar.gz и распаковывается.

Как мне попробовать оттуда установить?

Через написанный тобой ebuild, ну или просто скачай версию под используемую тобой архитектуру, конвертируй rpm или deb пакет в обычный архив, распакуй его куда-либо и проверь линковку бинарных файлов с текущими версиями библиотек в твоей системе, если всё удачно, то можешь писать ebuild под новую версию, помещать его в локальный оверлей и ставить обычным способом через emerge.

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

Точно так же добавляется категория пакетов, в неё помещаются ebuild`ы, которые скачивают архивы / пакеты с бинарными сборками с сайта разработчика и ставят в систему.

kostik87 ★★★★★ ()

а кто же контролирует работоспособность новых ебилдов? или анархия, можно вот такую кривизну отправить?

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

ebild простейший - достаточно переименовать. Там путь загрузки пакета для Fedora 17, а версия подхватывается из имени.

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

Я написал тебе уже, берёшь код текущего ebuild`а под версию 3.6.1-r1, например, копируешь его в локальный оверлей, затем правишь:

# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-office/odeskteam/odeskteam-3.10.5.ebuild,v 1.0 2014/02/18 14:22:00 pesa Exp $

EAPI=4

inherit rpm eutils

# Binary only distribution
QA_PREBUILT="*"

DESCRIPTION="Project collaboration and tracking software for oDesk.com"
HOMEPAGE="https://www.odesk.com/"
SRC_URI="amd64? ( https://www.odesk.com/downloads/linux/beta/${P}-1fc19.x86_64.rpm )
		 x86? ( https://www.odesk.com/downloads/linux/beta/${P}-1fc19.i386.rpm )
"

LICENSE="ODESK"
SLOT="0"
KEYWORDS="~amd64 ~x86"

S=${WORKDIR}

RDEPEND=">=dev-libs/glib-2
		 app-arch/bzip2
		 dev-libs/expat
		 dev-libs/icu
		 dev-libs/libxml2
		 dev-libs/openssl:0
		 dev-qt/qtcore:4[ssl]
		 dev-qt/qtdbus:4
		 dev-qt/qtgui:4
		 dev-qt/qtdeclarative:4
		 media-libs/alsa-lib
		 media-libs/fontconfig
		 media-libs/freetype
		 media-libs/libpng
		 media-libs/openjpeg:0
		 media-video/ffmpeg
		 sys-apps/dbus
		 sys-apps/util-linux
		 sys-libs/zlib
		 virtual/libffi
		 x11-libs/libICE
		 x11-libs/libSM
		 x11-libs/libX11
		 x11-libs/libXScrnSaver
		 x11-libs/libXau
		 x11-libs/libXcursor
		 x11-libs/libXdmcp
		 x11-libs/libXext
		 x11-libs/libXfixes
		 x11-libs/libXi
		 x11-libs/libXrandr
		 x11-libs/libXrender
		 x11-libs/libxcb
"

src_prepare() {
	epatch "${FILESDIR}/${P}_desktop_file.patch"
}

src_install() {
	into /opt
	dobin usr/bin/odeskteam-qt4

	domenu usr/share/applications/odeskteam.desktop

	doicon usr/share/pixmaps/odeskteam.png
}
Помещаешь в локальный оверлей и сохраняешь под именем odeskteam-3.10.5.ebuild, после чего выполняешь ebuild odeskteam-3.10.5.ebuild digest и ставишь.

Из изменений по сравнение с ebuild`ом из дерева изменил постфиксы в путях на загрузку и добавил зависимость dev-qt/qtdeclarative:4 .

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

Контролируется по баг репортам от тех, кто ставит этот пакет. Хотя репорт по этому ebuild`у есть, но видимо мантейнер не особо «чешется».

Так что ТС может ещё раз написать репорт и прикрепить туда ebuild, который выложил я здесь или написать свой вариант.

К тому же написать свой ebuild не составляет труда.

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

Нужно ещё зависимость добавить dev-qt/qtdeclarative:4, т.к. новая версия слинкована с библиотекой libQtDeclarative.so.4 .

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

Наверное по-хорошему и для ффмпега нужно указать конкретные версии, если им там хочется libavdevice.so.число

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

В текущей стабильной версии ffmpeg-1.0.8 есть эта библиотека. Можете ставить с тем вариантом ebuild`а, который есть, если возникнут проблемы поправите.

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

А еще исправил даты копирайтной подписи сверху. Или это какой-то особый плагинчик в текстовом редакторе сам сделал это?

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

Нет, я поправил, но это несущественно, это так, на всякий случай.

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

Ты бы не мог бегом свалить из тредов, которые тебя не касаются?

tazhate ★★★★★ ()

балбесы!
ТС, ставишь ffmpeg из слота 0.10 и всё.
развели тут...

megabaks ★★★★ ()

В итоге не стал ставить другую версию ффмпега или качать бандлы, а сделал ебилд, сделал оверлей, сгенерировал манифест, установил. Вроде работает. Всем спасибо, все свободны.

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

а мог бы запостить багу, дабы другие на это не натыкались.
ну и там же напомнить про бамп версии, дабы не держали в системе люди ffmpeg:0.10

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

Я запостил багу, могу в принципе туда залить и ебилд.

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

туда лучше патчи для ебилдов запиливать.
хотя они могут и сами :3

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