On Sat, Apr 16, 2005 at 06:29:33PM +0400, Anton D. Kachalov wrote: > Приветствую! > > Вот возникла примерно следующая проблема. Есть два пакета с библиотеками, > имеющие одинаковое имя и версию, но один пакет - i586, а другой - x86_64, > соответственно, один провайдит libfoo.so.1, а второй libfoo.so.1()(64bit). > А мне нужно поставить оба пакета. Сделать это rpm'ом не составляет труда, > а как быть с apt'ом? я попытался распилить glibc-core на либы и бинари > (ldconfig,etc...). Либы хотят /sbin/ldconfig. Кстати, x86_64 ldconfig умеет > ещё работать с i586 либами, а i586'ой - нет, т.ч. 64-битная glibc должна > хотеть именно 64'битный ldconfig, но это уже мелочи. Проблема в том, что у > меня не получается сказать: apt-get install 'libc.so.6' или > 'libc.so.6()(64bit)': "E: Пакет libc.so.6 это виртуальный пакет, который не > предоставляется ни одним пакетом." Что неправда. В общем, как это обходить > - неясно. В SuSE сделали кривость - i586 пакеты собирали специально для > x86_64 с добавлением "-32" в имени пакета. В сети проскакивали хак-эраунды > для apt'a, которые игнорировали совместимые пакеты > (x86_64->i686->i586...) при наличии dup'ов. Одно время apt присобачивал архитектуру к имени пакета в виде @i586 (как минимум для пакетов, входящих в Allow-Duplicated). Возможно, это стоит возродить в улучшенном виде. Только придётся как-то определить множество "своих" архитектур, для которых это добавлять не надо. Т.е, apt, собранный для x86_64, будет видеть пакеты в виде libfoo (Provides: libfoo.so.1()(64bit)) и libfoo@i586 (Provides: libfoo.so.1). > Уже пора изобретать камень, катающийся по двум разноколиберным желобам. :)