LinuxForum.Fans
Тема

Смешать две ФС

Автор: fragment 22 сообщений 1765 просмотров
#312076

Суть такова: мне нравится VLC-1.1.11. Более поздние версии ветки 1.х у меня работают нестабильно, а в ветке 2.х вообще издерьмили звук до невозможности. Но VLC-1.1.11 некорректно работает с ffmpeg-1.x, а в ~arch эта ветка ffmpeg уже размаскирована. Не хочется играться масками из-за одного только VLC. Я подумал, что неплохо было бы посадить VLC в отдельный корень и накатить туда ffmpeg-0.x, но хочется избежать лишнего расходования места на системном SSD. Итого: нужно, чтобы в этом отдельном корне по факту были только два пакета: vlc-1.1.11 и ffmpeg-0.10.6, а все остальные зависимости динамически подключались бы из основного корня. Вопрос: какими средствами можно это сделать? Я краем уха что-то слышал про каскадно-объединённое монтирование в лице Aufs - это не то, что мне нужно?

#312077

Собрать все это в какой-нибудь теплой, уютной директории и запускать vlc методом
env LD_LIBRARY_PATH=/path/to/ffmpeg /path/to/vlc
не?

#312096
"fragment⇓" написал:
Не хочется играться масками из-за одного только VLC

можно без масок обойтись просто emerge'ишь <media-video/ffmpeg-1.0
если ни кто не потребует новых версий, то отделаешься лёгкой кроовью....

"fragment⇓" написал:
Я краем уха что-то слышал про каскадно-объединённое монтирование в лице Aufs - это не то, что мне нужно?

конечно с этим можно что-то придумать, но скорей всего не взлетит...

#312098

В Slackware я бы собрал пакеты VLC и ffmpeg так, чтобы они ставились в /opt. Да даже и собирать не пришлось бы, просто установил бы их туда и дело с концом... У installpkg есть опция --root, благодаря которой это возможно. Я так понял, ТСу нужно что-то подобное.

#312133
neol написал:
Собрать все это в какой-нибудь теплой, уютной директории и запускать vlc методом
env LD_LIBRARY_PATH=/path/to/ffmpeg /path/to/vlc
не?

А остальные библиотеки (Qt, например)?

#312140

"yars⇓" написал:
просто установил бы их туда и дело с концом... У installpkg есть опция --root
И оно сразу забудет с каким --prefix= было собрано? Не верю.
#312142
yars написал:
В Slackware я бы собрал пакеты VLC и ffmpeg так, чтобы они ставились в /opt. Да даже и собирать не пришлось бы, просто установил бы их туда и дело с концом... У installpkg есть опция --root, благодаря которой это возможно. Я так понял, ТСу нужно что-то подобное.

У emerge тоже есть опция --ROOT=... Только это не решает мою задачу.

#312143
"fragment⇓" написал:
Но VLC-1.1.11 некорректно работает с ffmpeg-1.x, а в ~arch эта ветка ffmpeg уже размаскирована. Не хочется играться масками из-за одного только VLC

Проще замаскировать ненужное, тем более, это штатные возможности emerge.
P.S. ...или я вас не допонял :(

#312146
Lupo Alberto написал:
[quote="fragment⇓"]Но VLC-1.1.11 некорректно работает с ffmpeg-1.x, а в ~arch эта ветка ffmpeg уже размаскирована. Не хочется играться масками из-за одного только VLC

Проще замаскировать ненужное, тем более, это штатные возможности emerge.
P.S. ...или я вас не допонял :([/quote]

Проще, но, как я уже сказал, это не вариант.

#312150
"bormant" написал:
И оно сразу забудет с каким --prefix= было собрано? Не верю.

Ну да, оно не "забывает". Но опция полезная.

#312158

Собери локально с нужными опциями. Зачем отдельную ФС городить?

#312161
Vascom написал:
Собери локально с нужными опциями. Зачем отдельную ФС городить?

Что именно собрать локально?

#312163

Всё что требуется: vlc, ffmpeg.

#312166
fragment написал:
[quote=neol]Собрать все это в какой-нибудь теплой, уютной директории и запускать vlc методом
env LD_LIBRARY_PATH=/path/to/ffmpeg /path/to/vlc
не?

А остальные библиотеки (Qt, например)?[/quote]
Возьмет системные.

#312170
neol написал:
[quote=fragment][quote=neol]Собрать все это в какой-нибудь теплой, уютной директории и запускать vlc методом
env LD_LIBRARY_PATH=/path/to/ffmpeg /path/to/vlc
не?

А остальные библиотеки (Qt, например)?[/quote]
Возьмет системные.[/quote]

Откуда он узнает, где их брать?

#312171

Он умный, догадается.

#312173
Vascom написал:
Он умный, догадается.

Не надо детского лепета, плз.

Я в этих вопросах не разбирался толком, но, насколько я понимаю, если приложению указать env LD_LIBRARY_PATH=/path/to, это перекроет общесистемный LD_LIBRARY_PATH, а значит, все нужные ему библиотеки он будет искать по указанному пути.

Или нет?

#312174

Тогда ни что не мешает сделать так:

text
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to

Чего гадать теоретически, надо взять и сделать. И не забыть включить опции статической линковки, если есть.

#312193
"Vascom" написал:
И не забыть включить опции статической линковки, если есть.

Зачем?

#312194
fragment написал:
[quote=neol][quote=fragment]

А остальные библиотеки (Qt, например)?

Возьмет системные.[/quote]

Откуда он узнает, где их брать?[/quote]
Емнип, если не найдет ничего подходящего в $LD_LIBRARY_PATH, то полезет в кеш (в debian /etc/ld.so.cache).

Войдите или зарегистрируйтесь, чтобы ответить.