Re: Кросскомпиляция на машине x86_64 в i386
On 18.10.2013 22:32, dimas wrote: -m32 хватает. нормально собирается, про что я и расписывал тут. но нужен бубен)) так что насчет "сильно упростить" - не факт Так не, после того, как собралось с pbuilder - чисто теоретический интерес был: почему не собирается и как сделать? Тут не упрощение, а усложнение... -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/52618285.9060...@yandex.ru
Re: Кросскомпиляция на машине x86_64 в i386
-m32 хватает. нормально собирается, про что я и расписывал тут. но нужен бубен)) так что насчет "сильно упростить" - не факт 2013-291 21:08 Артём Н. wrote: > On 18.10.2013 20:05, Dmitrii Kashin wrote: > > "Артём Н." writes: > > > >> А нафига держать 32-х разрядный GCC, если 64-х разрядный вполне себе > >> может генерировать 32-х разрядный код? > > > > Что, правда? Так. Я сейчас пойду читать маны, и у меня предчувствие, что > > моя жизнь резко упростится. =) > > > -march=арх-ра, не? > > -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20131018223235.7ac86...@ulf.tvoe.tv
Re: Кросскомпиляция на машине x86_64 в i386
On 18.10.2013 20:05, Dmitrii Kashin wrote: "Артём Н." writes: А нафига держать 32-х разрядный GCC, если 64-х разрядный вполне себе может генерировать 32-х разрядный код? Что, правда? Так. Я сейчас пойду читать маны, и у меня предчувствие, что моя жизнь резко упростится. =) -march=арх-ра, не? -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/52616af1.6050...@yandex.ru
Re: Кросскомпиляция на машине x86_64 в i386
On Fri, Oct 18, 2013 at 08:51:52AM +0400, Konstantin Fadeyev wrote: > Мультиарч не подойдёт? Как замена бочке? P.S. У меня уже около двух третей писем в этой рассылке от заскоренных отправителей приходит. Пора отписываться. -- WBR, wRAR signature.asc Description: Digital signature
Re: Кросскомпиляция на машине x86_64 в i386
"Артём Н." writes: > А нафига держать 32-х разрядный GCC, если 64-х разрядный вполне себе > может генерировать 32-х разрядный код? Что, правда? Так. Я сейчас пойду читать маны, и у меня предчувствие, что моя жизнь резко упростится. =) pgp0ycdODVl4m.pgp Description: PGP signature
Re: Кросскомпиляция на машине x86_64 в i386
On 17.10.2013 23:29, Dmitrii Kashin wrote: dimas writes: ради трех пакетов мало того, что изучать pbuilder, так еще и ведро перебирать, лично мне смысла не было никакого. Для того, чтобы собирать в чруте пакеты не нужно иметь 32-битное ядро. Более того, никаким другим способом Вы не сможете иметь в одной системе одновременно установленными 32- и 64-разрядные версии GCC. А нафига держать 32-х разрядный GCC, если 64-х разрядный вполне себе может генерировать 32-х разрядный код? -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/526152d3.40...@yandex.ru
Re: Кросскомпиляция на машине x86_64 в i386
On 17.10.2013 21:46, dimas wrote: о, как-то я занимался этой фигней, и вскоре еще придется, только я уж все забыл, как оно делается, ну да вот и повод вспомнить подвернулся)) там всего О, спасибо. Но, конечно, совсем не простой путь. С pbuilder легче. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/526152ff.8080...@yandex.ru
Re: Кросскомпиляция на машине x86_64 в i386
Konstantin Fadeyev writes: > 17 октября 2013 г., 23:29 пользователь Dmitrii Kashin > написал: > >> ядро. Более того, никаким другим способом Вы не сможете иметь в одной >> системе одновременно установленными 32- и 64-разрядные версии GCC. > > Мультиарч не подойдёт? Нет. https://wiki.debian.org/Multiarch pgprdg4kubxye.pgp Description: PGP signature
Re: Кросскомпиляция на машине x86_64 в i386
Мультиарч не подойдёт? 17 октября 2013 г., 23:29 пользователь Dmitrii Kashin написал: > dimas writes: > >> ради трех пакетов мало того, что изучать pbuilder, так еще и ведро >> перебирать, лично мне смысла не было никакого. > > Для того, чтобы собирать в чруте пакеты не нужно иметь 32-битное > ядро. Более того, никаким другим способом Вы не сможете иметь в одной > системе одновременно установленными 32- и 64-разрядные версии GCC. > >> ну, у меня, например, в 64-битном ведре даже отключена поддержка всяких >> 32-битных штук. > > а Диоген, например, в бочке жил. -- Константин Фадеев
Re: Кросскомпиляция на машине x86_64 в i386
dimas writes: > ради трех пакетов мало того, что изучать pbuilder, так еще и ведро > перебирать, лично мне смысла не было никакого. Для того, чтобы собирать в чруте пакеты не нужно иметь 32-битное ядро. Более того, никаким другим способом Вы не сможете иметь в одной системе одновременно установленными 32- и 64-разрядные версии GCC. > ну, у меня, например, в 64-битном ведре даже отключена поддержка всяких > 32-битных штук. а Диоген, например, в бочке жил. pgpkg3P8YV5ik.pgp Description: PGP signature
Re: Кросскомпиляция на машине x86_64 в i386
On Thu, Oct 17, 2013 at 10:29:56PM +0400, dimas wrote: > ну, у меня, например, в 64-битном ведре даже отключена поддержка всяких > 32-битных штук. Сочувствую. -- WBR, wRAR signature.asc Description: Digital signature
Re: Кросскомпиляция на машине x86_64 в i386
ну, у меня, например, в 64-битном ведре даже отключена поддержка всяких 32-битных штук. ради трех пакетов мало того, что изучать pbuilder, так еще и ведро перебирать, лично мне смысла не было никакого. так-то конечно лучше по-хорошему, но когда оно оправдано. а если один бинарь нужен - можно и извратиться иногда. 2013-291 00:04 Andrey Rahmatullin wrote: > On Thu, Oct 17, 2013 at 09:46:41PM +0400, dimas wrote: > > а вообще в каждом конкретном случае требуется индивидуальный подход и > > пляски с бубном. либо нужно собирать патченный кросс-тулчейн, тогда это > > дело должно получше автоматизироваться. > Либо не мучать моск и собирать в чруте. > Всё равно пакеты в чруте собирать надо. > -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20131017222956.7349f...@ulf.tvoe.tv
Re: Кросскомпиляция на машине x86_64 в i386
On Thu, Oct 17, 2013 at 09:46:41PM +0400, dimas wrote: > а вообще в каждом конкретном случае требуется индивидуальный подход и пляски с > бубном. либо нужно собирать патченный кросс-тулчейн, тогда это дело должно > получше автоматизироваться. Либо не мучать моск и собирать в чруте. Всё равно пакеты в чруте собирать надо. -- WBR, wRAR signature.asc Description: Digital signature
Re: Кросскомпиляция на машине x86_64 в i386
о, как-то я занимался этой фигней, и вскоре еще придется, только я уж все забыл, как оно делается, ну да вот и повод вспомнить подвернулся)) там всего несколько пакетов надо было пересобрать, отучив от от всяких юдевов и прочего системд, вот остались команды для сборки: >21:23:01 290 /usr/src/rescue/build$ cat busybox-snapshot-20121124 make ARCH=i386 CROSS_COMPILE=i486-linux-gnu- CFLAGS="-m32" \ LDEMULATION="elf_i386" busybox >21:23:14 290 /usr/src/rescue/build$ cat lvm2-2.02.95 ./configure --host=i486-linux-gnu --бла-бла-бла \ LDFLAGS="-L /usr/lib/i386-linux-gnu" CC=i486-linux-gnu-gcc LD=i486-linux-gnu-ld \ CROSS_COMPILE=i486-linux-gnu LDEMULATION="elf_i386" CFLAGS="-m32" make CC=i486-linux-gnu-gcc LD=i486-linux-gnu-ld CROSS_COMPILE=i486-linux-gnu \ LDEMULATION="elf_i386" CFLAGS="-m32" -j2 >21:23:47 290 /usr/src/rescue/build$ cat parted-2.3 ./configure --host=i486-linux-gnu --бла-бла-бла \ CC=i486-linux-gnu-gcc LD=i486-linux-gnu-ld CROSS_COMPILE=i486-linux-gnu \ LDEMULATION="elf_i386" CFLAGS="-m32" make CC=i486-linux-gnu-gcc LD=i486-linux-gnu-ld CROSS_COMPILE=i486-linux-gnu \ DEMULATION="elf_i386" CFLAGS="-m32" -j2 install >21:23:52 290 /usr/src/rescue/build$ cat cryptsetup-1.4.3/cryptsetup ./configure --host=i486-linux-gnu --бла-бла-бла \ LDFLAGS="-L/usr/lib/i386-linux-gnu" CC=i486-linux-gnu-gcc LD=i486-linux-gnu-ld \ CROSS_COMPILE=i486-linux-gnu LDEMULATION="elf_i386" CFLAGS="-m32" make CC=i486-linux-gnu-gcc LD=i486-linux-gnu-ld CROSS_COMPILE=i486-linux-gnu \ LDEMULATION="elf_i386" CFLAGS="-m32" -j2 обрати внимание на LDEMULATION и LDFLAGS, они страсть как нужны, без них лезут какие-то косяки с линковкой. еще иногда нужен вот такой костыль: >21:27:34 290 /usr/src/rescue/build$ cat malloc_fix #!/bin/bash # workaround to avoid autoconf bug, leading to "undefined reference" # with rpl_malloc on rpl_realloc when cross-compiling for i386. # if ypu build for native architecture, you don't need this export ac_cv_func_malloc_0_nonnull=yes export ac_cv_func_realloc_0_nonnull=yes что касается сборки пакетов через dpkg, заморрочился я с этим только один раз, но в итоге домучал его, и все собралось как я хотел. правда, пакет я все равно потом расковырял и накидал бинарей вручную, ибо все это нужно для liveusb микро-линукса, где городить пакетную систему нет смысла, ибо она собирается-то толком один раз и надолго)) но суть в том, что пришлось мне всю муть пихать в debian/rules. переправленные debian/rules и debian/control для cryptsetup 1.4.3 (я хз, где сейчас его взять, но в wheezy должна быть не сильно новее версия) см. в аттаче. да, еще помню, что dpkg-buildpackage вызывал через dpkg-architecture. да, симлинки: >21:40:14 290 /usr/src/rescue/build$ find /usr/bin /bin -type l -iname "*i*86*" /usr/bin/i386 /usr/bin/i486-linux-gnu-ar /usr/bin/i486-linux-gnu-ld /usr/bin/i486-linux-gnu-nm /usr/bin/i486-linux-gnu-gcc /usr/bin/i486-linux-gnu-strip /usr/bin/i486-linux-gnu-objcopy /usr/bin/i486-linux-gnu-objdump почему i486, а не 386? как-то давно я их создал, и так исторически сложилось почему-то, ну а переименовывать лень было, так с ниим и собирал все нужное. а вообще в каждом конкретном случае требуется индивидуальный подход и пляски с бубном. либо нужно собирать патченный кросс-тулчейн, тогда это дело должно получше автоматизироваться. да, либы собираются, с тем же cryptsetup нормально все вышло, все 32-битное. после сборки имеет смысл все бинари проверять с помощью file. ЗЫ. а еще я умею ведро кросс-компилять через make-kpkg, если интересно. вот с ведром, кстати, гораааздо проще все. control Description: Binary data rules Description: Binary data