[devel] Q: x86_64

Денис Смирнов =?iso-8859-1?q?mithraen_=CE=C1_altlinux=2Eru?=
Пт Сен 3 18:14:54 MSD 2004


On Fri, Sep 03, 2004 at 04:05:21PM +0400, Kachalov Anton wrote:

 KA> я бы сказал вот так:
 KA> - fix "long" -> "int" for compilation on 64-bit systems. (*.h, *.c)
 KA> это не только ia64 ;-)

Я вчера часть сизифа прогнал через сборку на оптероне. Выявил четыре типа
самых распространённых ошибок:

1. приведение указателей к целым (частенько, причём часто реально нужно
только знать 0/не 0).

2. установку не в lib64

3. (очень часто, также очень часто вместе с предыдущим) в %files
используется /lib и /usr/lib вместо соответствующих макросов. 

4. по каким-то причинам сборка происходит по x86, если руками не указать
-m64.

Решения:
1 -- ясное дело руками
2 -- может прямо в rpmbuild при сборке на x86_64 после секции %install
автоматически переименовывать /usr/lib в /usr/lib64 и /lib в /lib64?
3 -- таки надо добавить в sisyphus_check проверку спека на предмет
неиспользования макросов там, где это нужно делать.
4 -- в /usr/lib/rpm/rpmrc для платформы x86_64 добавить ключ -m64, а для
32-х битных ключ -m32. Это ещё не раз пригодится.

bugzilla сейчас пользоваться не могу (тонкий диалап), если интересует --
могу при изготовлении патчей к пакетам для сборки кидаться ими в тебя.

-- 
С уважением, Денис

http://freesource.info

----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/20040903/8efc42c3/attachment-0001.bin>


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