On Thu, Oct 05, 2006 at 01:00:39PM +0400, Anton Farygin wrote: > 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 Боюсь что на всё меня не хватит, и -m32 явно не на первом месте. -- ldv