[devel] gcc -m32 не работает в x86_64

Anton Farygin rider на altlinux.com
Чт Окт 5 13:00:39 MSD 2006


Dmitry V. Levin wrote:
> On Thu, Oct 05, 2006 at 12:33:22AM +0400, Vitaly Lipatov wrote:
>> $ gcc -m32 test.c
>> /usr/bin/ld: skipping 
>> incompatible /usr/lib64/gcc/x86_64-alt-linux/4.1.1/./libgcc.a 
>> when searching for -lgcc
>> /usr/bin/ld: cannot find -lgcc
>> collect2: ld returned 1 exit status
>>
>> Пытался собрать wine и вот что получил для начала.
>> Как нужно поступить, если нужно собрать 32-битную программу на 
>> 64-битной машине?
> 
> Я в таких случаях (да и в других случаях, когда надо что-то собрать)
> использую hasher; в данном случае setarch i686 hasher --apt-conf=...

Дима, ты не понял вопроса.

Я тоже с этим столкнулся.. задача - собрать 32-х разрядное приложения 
для x86_64. Зачем это нужно ? Понятно зачем.. что бы работало.

Примеры таких приложений:
grub
wine
пускалка плагинов для браузеров (позволяющая запускать 32-х разрядные 
плагины в собранных под x86_64 плагинах).
...

и т.д.

Что для этого нужно:
- зафиксить kernel-headers
- собрать gcc с поддержкой -m32
- собрать glibc-x86-compat для x86_64
- собрать все необходимые библиотеки для x86_64 в режиме compat с i586.

И если мы планируем использовать grub на x86_64, то это придётся сделать 
до фриза. Во всяком случае я сходу не смог собрать grub для x86_64 без -m32

Rgds,
Rider



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