Суть такова: мне нравится 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 - это не то, что мне нужно?
Смешать две ФС
Собрать все это в какой-нибудь теплой, уютной директории и запускать vlc методом
env LD_LIBRARY_PATH=/path/to/ffmpeg /path/to/vlc
не?
Не хочется играться масками из-за одного только VLC
можно без масок обойтись просто emerge'ишь <media-video/ffmpeg-1.0
если ни кто не потребует новых версий, то отделаешься лёгкой кроовью....
Я краем уха что-то слышал про каскадно-объединённое монтирование в лице Aufs - это не то, что мне нужно?
конечно с этим можно что-то придумать, но скорей всего не взлетит...
В Slackware я бы собрал пакеты VLC и ffmpeg так, чтобы они ставились в /opt. Да даже и собирать не пришлось бы, просто установил бы их туда и дело с концом... У installpkg есть опция --root, благодаря которой это возможно. Я так понял, ТСу нужно что-то подобное.
Собрать все это в какой-нибудь теплой, уютной директории и запускать vlc методом
env LD_LIBRARY_PATH=/path/to/ffmpeg /path/to/vlc
не?
А остальные библиотеки (Qt, например)?
И оно сразу забудет с каким --prefix= было собрано? Не верю.просто установил бы их туда и дело с концом... У installpkg есть опция --root
В Slackware я бы собрал пакеты VLC и ffmpeg так, чтобы они ставились в /opt. Да даже и собирать не пришлось бы, просто установил бы их туда и дело с концом... У installpkg есть опция --root, благодаря которой это возможно. Я так понял, ТСу нужно что-то подобное.
У emerge тоже есть опция --ROOT=... Только это не решает мою задачу.
Но VLC-1.1.11 некорректно работает с ffmpeg-1.x, а в ~arch эта ветка ffmpeg уже размаскирована. Не хочется играться масками из-за одного только VLC
Проще замаскировать ненужное, тем более, это штатные возможности emerge.
P.S. ...или я вас не допонял :(
[quote="fragment⇓"]Но VLC-1.1.11 некорректно работает с ffmpeg-1.x, а в ~arch эта ветка ffmpeg уже размаскирована. Не хочется играться масками из-за одного только VLC
Проще замаскировать ненужное, тем более, это штатные возможности emerge.
P.S. ...или я вас не допонял :([/quote]
Проще, но, как я уже сказал, это не вариант.
И оно сразу забудет с каким --prefix= было собрано? Не верю.
Ну да, оно не "забывает". Но опция полезная.
Собери локально с нужными опциями. Зачем отдельную ФС городить?
Собери локально с нужными опциями. Зачем отдельную ФС городить?
Что именно собрать локально?
Всё что требуется: vlc, ffmpeg.
[quote=neol]Собрать все это в какой-нибудь теплой, уютной директории и запускать vlc методом
env LD_LIBRARY_PATH=/path/to/ffmpeg /path/to/vlc
не?
А остальные библиотеки (Qt, например)?[/quote]
Возьмет системные.
[quote=fragment][quote=neol]Собрать все это в какой-нибудь теплой, уютной директории и запускать vlc методом
env LD_LIBRARY_PATH=/path/to/ffmpeg /path/to/vlc
не?
А остальные библиотеки (Qt, например)?[/quote]
Возьмет системные.[/quote]
Откуда он узнает, где их брать?
Он умный, догадается.
Он умный, догадается.
Не надо детского лепета, плз.
Я в этих вопросах не разбирался толком, но, насколько я понимаю, если приложению указать env LD_LIBRARY_PATH=/path/to, это перекроет общесистемный LD_LIBRARY_PATH, а значит, все нужные ему библиотеки он будет искать по указанному пути.
Или нет?
Тогда ни что не мешает сделать так:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/toЧего гадать теоретически, надо взять и сделать. И не забыть включить опции статической линковки, если есть.
И не забыть включить опции статической линковки, если есть.
Зачем?
[quote=neol][quote=fragment]
А остальные библиотеки (Qt, например)?
Возьмет системные.[/quote]
Откуда он узнает, где их брать?[/quote]
Емнип, если не найдет ничего подходящего в $LD_LIBRARY_PATH, то полезет в кеш (в debian /etc/ld.so.cache).