LINUX.ORG.RU

История изменений

Исправление mittorn, (текущая версия) :

да где там красиво? В deb-based - библиотеки в /lib/<triplet> и /usr/lib/<triplet>
Можно делать мультилибы с любыми архитектурами, лишь бы binfmt умелся. Например, возможен мультилиб с aarch32/aarch64, с бинарными трансляторами возможностей ещё больше Думаю, при желании можно сделать мультилиб с разными libc в пределах этой схемы.

А в gentoo? Во-первых захардкоженные пути - lib32/lib64/libx32
Во вторых под все архитектуры собирается один пакет, только одной версии, ещё и атомарно. В третьих все архитектуры будут иметь один набор юз-флагов т.к сами abi - тоже юзфлаги.

Тебе нужно дособрать 32битную версию библиотеки? Пересобирай целиком все остальные архитектуры. Какая-то опция недоступна на одной из архитектур? Отключай её для всех. Не поддерживается одна из архитектур в в llvm? Собирай mesa без llvm (это приведёт например к очень низкой производительности в i915g т.к методы, работавшие через llvmpipe используют тормозной softpipe, да и сам llvmpipe мог бы быть полезен). В большинстве случаев 32битным версиям библиотек нужен минимум фич для работы какого-то определённого старого софта и wine. Но в генте придётся собирать полный набор.

Как минимум идеальный мультилиб подразумевал бы использование слотов для архитектур подобно слотам для версий. В каждом слоте можно было бы использовать отдельный каталог для include, сейчас же инклуды в мультилибе общие.

В общем, мультилиб в генте весьма и весьма посредственный. Даже старые бинарные emul пакеты, которые когда-то были вместо него были намного лучше.

В gentoo есть crossdev, который конечно же не мультилиб, а именно сборка другой архитектуры. Который обладает всеми этими свойствами, но заточен под кросскомпиляцию, а не исполнение, из-за чего очень ограничен. Так же есть префиксы. Но всё это не работает как мультилиб и потребует большого количества доработки

Исправление mittorn, :

да где там красиво? В deb-based - библиотеки в /lib/<triplet> и /usr/lib/<triplet>
Можно делать мультилибы с любыми архитектурами, лишь бы binfmt умелся. Например, возможен мультилиб с aarch32/aarch64, с бинарными трансляторами возможностей ещё больше Думаю, при желании можно сделать мультилиб с разными libc в пределах этой схемы.

А в gentoo? Во-первых захардкоженные пути - lib32/lib64/libx32
Во вторых под все архитектуры собирается один пакет, только одной версии, ещё и атомарно. В третьих все архитектуры будут иметь один набор юз-флагов т.к сами abi - тоже юзфлаги.

Тебе нужно дособрать 32битную версию библиотеки? Пересобирай целиком все остальные архитектуры. Какая-то опция недоступна на одной из архитектур? Отключай её для всех. Не поддерживается одна из архитектур в в llvm? Собирай mesa без llvm (это приведёт например к очень низкой производительности в i915g т.к методы, работавшие через llvmpipe используют тормозной softpipe, да и сам llvmpipe мог бы быть полезен). В большинстве случаев 32битным версиям библиотек нужен минимум фич для работы какого-то определённого старого софта и wine. Но в генте придётся собирать полный набор.

Как минимум идеальный мультилиб подразумевал бы использование слотов для архитектур подобно слотам для версий. В каждом слоте можно было бы использовать отдельный каталог для include, сейчас же инклуды в мультилибе общие.

В общем, мультилиб в генте весьма и весьма посредственный. Даже старые бинарные emul пакеты, которые когда-то были вместо него были намного лучше.

В gentoo есть crosdev, который конечно же не мультилиб, а именно сборка другой архитектуры. Который обладает всеми этими свойствами, но заточен под кросскомпиляцию, а не исполнение, из-за чего очень ограничен. Так же есть префиксы. Но всё это не работает как мультилиб и потребует большого количества доработки

Исходная версия mittorn, :

да где там красиво? В deb-based - библиотеки в /lib/<triplet> и /usr/lib/<triplet>
Можно делать мультилибы с любыми архитектурами, лишь бы binfmt умелся. Например, возможен мультилиб с aarch32/aarch64, с бинарными трансляторами возможностей ещё больше Думаю, при желании можно сделать мультилиб с разными libc в пределах этой схемы.

А в gentoo? Во-первых захардкоженные пути - lib32/lib64/libx32
Во вторых под все архитектуры собирается один пакет, только одной версии, ещё и атомарно. В третьих все архитектуры будут иметь один набор юз-флагов т.к сами abi - тоже юзфлаги.

Тебе нужно дособрать 32битную версию библиотеки? Пересобирай целиком все остальные архитектуры. Какая-то опция недоступна на одной из архитектур? Отключай её для всех. Не поддерживается одна из архитектур в в llvm? Собирай mesa без llvm (это приведёт например к очень низкой производительности в i915g т.к методы, работавшие через llvmpipe используют тормозной softpipe, да и сам llvmpipe мог бы быть полезен). В большинстве случаев 32битным версиям библиотек нужен минимум фич для работы какого-то определённого старого софта и wine. Но в генте придётся собирать полный набор.

Как минимум идеальный мультилиб подразумевал бы использование слотов для архитектур подобно слотам для версий. В каждом слоте можно было бы использовать отдельный каталог для include, сейчас же инклуды в мультилибе общие.

В общем, мультилиб в генте весьма и весьма посредственный. Даже старые бинарные emul пакеты, которые когда-то были вместо него были намного лучше.