[devel] python vs gcc

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вс Окт 28 20:34:10 MSK 2007


On Sun, Oct 28, 2007 at 08:52:39PM +0400, Peter V. Saveliev wrote:
> (исключая gcc -- там полный набор), лишая разработчика универсальности среды. 
> Сизиф сейчас дружественен пользователю и мэйнтейнеру, но враждебен 
> разработчику.

Полный набор gcc тоже даёт проблемы.  Я сейчас хочу запаковать
статические библиотеки libatlas-devel-static с фортрановским кодом.
Соответствено, я добавил зависимость на libgfortran-devel-static,
но её недостаточно.  Она может быть удовлетворена таким образом,
что gcc всё равно не найдёт libfortran.a.

То есть если мы компилируем другим gcc то зависимость на libgfortran.a
разрешается по-другому, и gcc её не находит.

/usr/lib/gcc/i586-alt-linux/4.1.1/libgfortran.a
/usr/lib/gcc/i586-alt-linux/4.2.0/libgfortran.a

Эта зависимость двусмысленна, потому что ей можно приписать два варианта
разрешения, точнее, интерпретировать её несколькими способами:
1) Должна разрешаться в тот же пакет, с которым был собран
libatlas-devel-static, в данном случае libgfortran4.1-devel-static.
2) Должна динамически разрешаться в тот пакет, который комплементарен
текущей версии /usr/bin/gcc.
3) Должна динамически разрешаться в соответствии с версией
%set_gcc_version.
4) ...

То есть дублирование системных вещей ВСЕГДА привносит какую-то
неопределённость в семантику зависимостей.  Они перестают разрешаться
"как надо" и начинают разрешаться как попало.

С gcc эта проблема возникает редко и стоит не очень остро,
просто потому что gcc это такая вещь в себе и она имеет ограниченное
количество "двусмысленных выплесков" типа libgfortran-devel-static.
Но если речь идёт о базовом системном интерпретаторе, который служит
ОСНОВОЙ для порождения иерархии зависимостей, тогда эта проблема
возникает часто и стоит остро.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20071028/ab704a74/attachment-0002.bin>


Подробная информация о списке рассылки Devel