Установка RPM - кривые симлинки

Установил на Gentoo проприетарную софтину из RPM, написанную на QT (QT3).
Установку произвёл при помощи app-arch/rpm.

Суть проблемы: не видит файл libqt-mt.so.3, а вместе с ним, видимо, и ещё какие-то не находит.

Зависимости по portage удовлетворены. Файл присутствует по адресу /usr/qt/3/lib/libqt-mt.so.3 .
revdep-rebuild из gentoolkit не спасает. Программа, судя по всему, ищет либы в /usr/local/lib .
Пробовал наделать симлинков - не спасло.

Знает ли кто решение проблемы? А так же знает ли кто, чем можно отмониторить события в файловой системе?

На всякий случай, программа: Rumus2 (клиент ForexClub-а).
_http://download.fxclub.org/Rumus2/FxClub/Rumus2.rpm

Странно, стоит

Странно, стоит x11-libs/qt-3.3.8b-r1
И при этом rumus удовлетворен

$ ldd rumus
        linux-gate.so.1 =>  (0xb80d8000)
        libqt-mt.so.3 => /usr/qt/3/lib/libqt-mt.so.3 (0xb799d000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0xb798d000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0xb7894000)
        libstdc++.so.6 => /usr/lib/gcc/i686-pc-linux-gnu/4.3.2/libstdc++.so.6 (0xb77a6000)
        libm.so.6 => /lib/libm.so.6 (0xb7780000)
        libgcc_s.so.1 => /usr/lib/gcc/i686-pc-linux-gnu/4.3.2/libgcc_s.so.1 (0xb7771000)
        libc.so.6 => /lib/libc.so.6 (0xb762e000)
        libmng.so.1 => /usr/lib/libmng.so.1 (0xb75c6000)
        libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0xb75a5000)
        libpng12.so.0 => /usr/lib/libpng12.so.0 (0xb757e000)
        libz.so.1 => /lib/libz.so.1 (0xb756a000)
        libXi.so.6 => /usr/lib/libXi.so.6 (0xb755f000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0xb7555000)
        libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0xb754d000)
        libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0xb7542000)
        libXft.so.2 => /usr/lib/libXft.so.2 (0xb752d000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0xb74a1000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0xb7473000)
        libSM.so.6 => /usr/lib/libSM.so.6 (0xb746a000)
        libICE.so.6 => /usr/lib/libICE.so.6 (0xb7452000)
        libdl.so.2 => /lib/libdl.so.2 (0xb744e000)
        libpthread.so.0 => /lib/libpthread.so.0 (0xb7436000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0xb7431000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb742b000)
        /lib/ld-linux.so.2 (0xb80d9000)
        libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0xb7425000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0xb73fd000)
        libuuid.so.1 => /lib/libuuid.so.1 (0xb73f8000)

Я предпочитаю конвертировать в архив rpm2tarz и распаковывать, чтобы посмотреть что внутри.

Нащяльника, мая сервира паставиль, фрибизьдя инсталя сделаль, апачи сабраль, пыхапе патключиль, сапускаю, а ано - ажамбех пашамбе эшельбе шайтанама!

Я тоже конвертил и смотрел

Я тоже конвертил и смотрел каталог. Но ничем особо это не помогло.

ldd /usr/local/bin/rumus

linux-gate.so.1 => (0xf7fc7000)
libqt-mt.so.3 => not found
libXext.so.6 => /usr/lib32/libXext.so.6 (0xf7f93000)
libX11.so.6 => /usr/lib32/libX11.so.6 (0xf7ea7000)
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/32/libstdc++.so.6 (0xf7db6000)
libm.so.6 => /lib32/libm.so.6 (0xf7d90000)
libgcc_s.so.1 => /lib32/libgcc_s.so.1 (0xf7d82000)
libc.so.6 => /lib32/libc.so.6 (0xf7c40000)
libXau.so.6 => /usr/lib32/libXau.so.6 (0xf7c3c000)
libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf7c36000)
libdl.so.2 => /lib32/libdl.so.2 (0xf7c31000)
/lib/ld-linux.so.2 (0xf7fc8000)

Если бы найти, где именно софтина ищет libqt-mt.so.3 .

Почитайте про ld-config и

Почитайте про ld-config и переменную LD_LIBRARY_PATH. Это подсказка. Еще неплохо почитать про /etc/env.d и о том, как работают ебилды qt.

Благодарю за подсказку. Буду

Благодарю за подсказку. Буду изучать.

krotozer написал(а):Знает

krotozer написал(а):

Знает ли кто решение проблемы?

1) систему себе вы благополучно сломали: сакраментально правило 14443 действует и для данного случая :) (http://www.gentoo.ru/node/14443)
2)Естественно есть решение :), называется текст. редактор :) Как работает : $EDITOR my_supert_programm.ebuild
rpm.eclass (и например ебилд nero и подобные) вам в помощь

Цитата:
Если бы найти, где именно софтина ищет libqt-mt.so.3 .

Где прикажу, там и ищет, благо в еклассах есть враппер. А так :info ldd;man ld

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

slepnoga

slepnoga написал(а):
2)Естественно есть решение :), называется текст. редактор :) Как работает : $EDITOR my_supert_programm.ebuild
rpm.eclass (и например ебилд nero и подобные) вам в помощь

Премного благодарен за открытие Америки.

http://ylsoftware.com/view/402

# Подключаем класс rpm
inherit rpm

# Описываем программу
DESCRIPTION="Rumus2"
HOMEPAGE="http://www.fxclub.org/"
SLOT="0"
KEYWORDS="~x86"
IUSE=""
RESTRICT="nomirror"

# Описываем зависимости
DEPENDS="x11-libs/qt"

# Указываем откуда брать пакет
SRC_URI="http://download.fxclub.org/Rumus2/FxClub/Rumus2.rpm"

# Дальше всё будет сделано само. Кроме собственно установки.

# Устанавливаем пакет:
src_install() {
cp -vR ${S}/* ${D}/
}

ebuild /path/to/file.ebuild digest
ebuild /path/to/file.ebuild merge

Успешная установка и отсутствие файлов софтины в системе.
Этот вариант, вообще-то, был опробован в первую очередь.

-------------------------------------------------------------------------

Я не люблю огрызаться, а потому попрошу ответить без применения манеры
"систему себе вы благополучно сломали... правило 14443 действует..."
Это - как минимум, неуважение к собеседнику.

krotozer

krotozer написал(а):
slepnoga написал(а):
2)Естественно есть решение :), называется текст. редактор :) Как работает : $EDITOR my_supert_programm.ebuild
rpm.eclass (и например ебилд nero и подобные) вам в помощь

Я не люблю огрызаться, а потому попрошу ответить без применения манеры
"систему себе вы благополучно сломали... правило 14443 действует..."
Это - как минимум, неуважение к собеседнику.

Отвечаю: правило 14443 таки действует в любом дистре, включая винду.
Почему: потому что левые рпмовские либы/линки начинают участвовать в конфигурировании/сборке пакета
Посыл в FAQ это не оскорбление.

Цитата:
# Устанавливаем пакет:
src_install() {
cp -vR ${S}/* ${D}/
}

Хм, и что и куда вы скопировали ? :) Вы не в курсе , что у вас тут код совсем негодный ?
cp -R всегда возваращает 0, в не зависимости от успешности копирования, т.е cp -vR ${S}/* ${D}/ || die
тоже не поможет, выражение отработает, даже не скопировав ни одного файла.
2. Я написал про враппер LD_PRELOAD, пример из рабочего ебилда :

make_wrapper packettracer "./bin/PacketTracer5" "${PKT_HOME}${MY_NAME}" "${PKT_HOME}${MY_NAME}/lib"

( ебилд app-emulation/packettracer-52.ebuil, забирать в рионе )
3. ваш пример однозначно не рабочий, Вы не создаете необходимых директорий, к тому же в Гентоо не LBS,
и бинарному софту место в /opt/"${P}"
4.

Цитата:
# Указываем откуда брать пакет
SRC_URI="http://download.fxclub.org/Rumus2/FxClub/Rumus2.rpm"
# Дальше всё будет сделано само. К...

Так уж __всё__ , вы всерьез думаете, что rmp.eclass парсит скрипты установки из packet.rpm ?
И что еще надо для бинарников, кроме установки ? компилить там точно нечего

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

1) Честно говоря, ебилд этот

1) Честно говоря, ебилд этот даже не моего авторства (источник указан ссылкой выше).
С cp то догадался сразу, как покопал билд nero.
Тем не менее, проблема в знаниях, а точнее в их отсутствии.
Сейчас ищу, где бы почитать, чтобы разобраться с ebuild-ами.
Описание синтаксиса в man 5 ebuild не проливает свет на саму механику процесса установки.

Если не трудно, поделитесь ссылками на информацию.

2) В силу пункта 1), мне не пока что не понятно суть описания в пункте 2.

3) Учту впоследствии.

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

Кстати, я и не предполагал, что rmp.eclass должен парсить скрипты установки RPM.
Скорее надеялся на автоматический процесс распаковки бинарников во временный каталог.
Что до временного каталога - было предположение, что его-то ebuild должен создавать самостоятельно.

Найдена такая

Найдена такая документация:

http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml
http://devmanual.gentoo.org/

Чувствую, задача будет точно не из лёгких.
Если действо завершится удачей, выложу сюда код ebuild-а.

В любом случае, благодарю за вывод из заблуждений.

krotozer написал(а): Найдена

krotozer написал(а):
Найдена такая документация:

http://www.gentoo.org/proj/en/devrel/handbook/handbook.xml
http://devmanual.gentoo.org/

Чувствую, задача будет точно не из лёгких.
Если действо завершится удачей, выложу сюда код ebuild-а.

В любом случае, благодарю за вывод из заблуждений.

Всегда пожалуйста .
девмануал к прочтению обязателен, это базовая дока.
Еще из не найденого Вами http://www.gentoo.org/proj/en/qa/pms.xml, и app-portage/eclass-manpages ( сгенерены из исходников еклассов).
Хотя лучшие документы это сами ебилды от офф. девов и исходники eclass.

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

krotozer написал(а): Сейчас

krotozer написал(а):
Сейчас я нахожусь в процессе изучения, дабы написать свой.

Велкам в джаббер конфернцию:

krotozer написал(а):
Кстати, я и не предполагал, что rmp.eclass должен парсить скрипты установки RPM.
Скорее надеялся на автоматический процесс распаковки бинарников во временный каталог.
Что до временного каталога - было предположение, что его-то ebuild должен создавать самостоятельно.

Он и создал его, но там немного другой механизм.

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

slepnoga

slepnoga написал(а):
бинарному софту место в /opt/"${P}"

вы немного не правы коллега:
по FHS в /opt помещаются программы, которые не следуют иерархии FHS (например, когда исполняемые файлы, библиотеки, конфигурационные файлы должны обязательно находиться в одном каталоге, т.е. при распихивании всего этого дела по /usr/bin, /usr/lib и /etc программа становится нерабочей)

топикстартеру: если не хочется или не можется заморачиваться с ебилдами, что для софта неучтенного менеджером пакетов в любой Linux системе есть каталог /usr/local... rpm следовало переделать в tar.gz архив и ручками распаковать в /usr/local... прописать LD_LIBRARY_PATH в /usr/local/lib, PATH в /usr/local/bin и всё ;-)

Theli

Theli написал(а):
топикстартеру: если не хочется или не можется заморачиваться с ебилдами, что для софта неучтенного менеджером пакетов в любой Linux системе есть каталог /usr/local... rpm следовало переделать в tar.gz архив и ручками распаковать в /usr/local... прописать LD_LIBRARY_PATH в /usr/local/lib, PATH в /usr/local/bin и всё ;-)

Я всё же хочу сохранить возможность деинсталляции.

тогда пиши ебилды. Пример

тогда пиши ебилды. Пример лежит в оверлее science и именуется icm

___________________________________________
Working on Gentoo for iPAQ hx4700 and Openmoko Neo Freerunner :-)
Если у вас компьютер с Windows, есть два выхода: выбросить компьютер в форточку или выбросить форточки с компьютера

slepnoga написал(а): например

slepnoga написал(а):
например ебилд nero и подобные

Спасибо за подсказку.

Цитата: Суть проблемы: не

Цитата:
Суть проблемы: не видит файл libqt-mt.so.3, а вместе с ним, видимо, и ещё какие-то не находит.
Зависимости по portage удовлетворены. Файл присутствует по адресу /usr/qt/3/lib/libqt-mt.so.3 .
revdep-rebuild из gentoolkit не спасает. Программа, судя по всему, ищет либы в /usr/local/lib .

1) и не увидит, зная как собирают рпм :(
2) Зависимости по portage удовлетворены. какие , откуда? с какого перепуга портаге будет тягать что то из рпм ?
"revdep-rebuild из gentoolkit не спасает." Аналогичнй ответ, вашх файлов нет в базе портаге.
3) Программа, судя по всему, ищет либы в /usr/local/lib . Из чего сделан такой скоропалитьный вывод ? :)
Проги вообще то сами ( в 99% случаев )ничего сами не ищут, для это линкер есть.

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

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

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