Portál AbcLinuxu, 13. května 2025 22:32

Dotaz: Ako ./configure nastavit na kompilovanie 32bit na x86_64

27.12.2005 15:47 robob | skóre: 12 | blog: robob
Ako ./configure nastavit na kompilovanie 32bit na x86_64
Přečteno: 143×
Odpovědět | Admin
Zdravim, nejako sa mi nedari najst odpoved akou volbou nastavit ./configure --xxxxx , aby som v prostredi x86_64 skompiloval zdrojaky ako 32bit aplikaciu.

Nasiel som iba --build=BUILD, ale nie som si isty ci je to ta spravna volba, a ak ano, co dat namiesto BUILD.

V kompilatore by som dal '-m32', ale nemam zaujem prepisovat cely ./configure

Vdaka.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

27.12.2005 15:53 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Ako ./configure nastavit na kompilovanie 32bit na x86_64
Odpovědět | | Sbalit | Link | Blokovat | Admin
Obvykle se kompilátoru předává obsah proměnné CFLAGS (resp. CXXFLAGS pro C++), ale záleží samozřejmě na tom, jak je ten configure skript napsaný.
27.12.2005 15:58 robob | skóre: 12 | blog: robob
Rozbalit Rozbalit vše Re: Ako ./configure nastavit na kompilovanie 32bit na x86_64
Vacsinou to byva klasicky skript vygenerovany GNU Autoconf 2.59
27.12.2005 16:00 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Ako ./configure nastavit na kompilovanie 32bit na x86_64
To samozřejmě ano. Ale záleží na tom, jak vypadá ten configure.in a hlavně jak vypadají příslušné Makefile.in - už jsem bohužel viděl ledacos.
27.12.2005 16:10 robob | skóre: 12 | blog: robob
Rozbalit Rozbalit vše Re: Ako ./configure nastavit na kompilovanie 32bit na x86_64
Takze by to malo byt takto ?

$export CFLAGS='-m32'
$export CXXFLAGS='-m32'
$./configure
27.12.2005 16:55 robob | skóre: 12 | blog: robob
Rozbalit Rozbalit vše Re: Ako ./configure nastavit na kompilovanie 32bit na x86_64
Ocividne to na vytvorenie 32bit aplikacie nestaci. Aj ked ./configure prebehol uspesne pri make berie gcc 64-bitove include subory "... -I/usr/lib64/..." :-(
27.12.2005 17:10 robob | skóre: 12 | blog: robob
Rozbalit Rozbalit vše Re: Ako ./configure nastavit na kompilovanie 32bit na x86_64
Ani toto nepomaha:
./configure --build=i686-pc-linux-gnu
27.12.2005 17:24 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Ako ./configure nastavit na kompilovanie 32bit na x86_64
Tak se podívejte, s jakými parametry se skutečně spouští gcc a případně opravte Makefile.in. Mimochodem, v /usr/lib64 žádné include soubory nejsou, asi si pletete -I a -L.
27.12.2005 18:35 robob | skóre: 12 | blog: robob
Rozbalit Rozbalit vše Re: Ako ./configure nastavit na kompilovanie 32bit na x86_64
V mojom distre (Mandriva 2006) je subor:
/usr/lib64/glib-2.0/include/glibconfig.h
a gcc ho v Makefile co vytvory ./configure pouziva. Aby som bol konkretnejsi, make spusti v pohode ale pri gcc -m32 suboru gtkvideo.c vyhodi chybu. Budem sa tomu musiet trochu viac venovat. Skontrolovat ake devel subory tam mam a hlavne ci su v 32bit verzii. Mal som za to, ze C subory su rovnake pre 32bit a 64bit aplikacie, ale evidentne sa mylim.
27.12.2005 18:54 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Ako ./configure nastavit na kompilovanie 32bit na x86_64
To je ovšem čuňárna, na hlavičkové soubory máte /usr/{,local/}include a pokud mimořádně potřebujete rozdělit 32-bitovou a 64-bitovou verzi (při rozumně napsaném by to nemělo být potřeba), slouží k tomu preprocesor.
27.12.2005 19:15 robob | skóre: 12 | blog: robob
Rozbalit Rozbalit vše Re: Ako ./configure nastavit na kompilovanie 32bit na x86_64
Uplne suhlasim,

nakoniec upravenim gtkvideo.c som to cele skompiloval ako 32bit, avsak linkovanie bohuzial dopadlo takto:

/usr/lib64/libxine.so: could not read symbols: File in wrong format

Takze to linkoval ako 64bit aplikaciu. Preco chce linkovat 64bit kniznice ked ma pri kompilovani volbu -m32 ? A to sa len snazim skompilovat stiahnuty plugin gxine pre Firefox (co je 32bit aplikacia).
27.12.2005 22:50 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Ako ./configure nastavit na kompilovanie 32bit na x86_64
Tohle vypadá, jako kdyby některé objecty, které se snažíte linkovat, byly 64-bitové a některé 32-bitové.
27.12.2005 19:27 robob | skóre: 12 | blog: robob
Rozbalit Rozbalit vše Re: Ako ./configure nastavit na kompilovanie 32bit na x86_64
Dobru diskuziu na temu kompilovanie 32bit aplikacii pod x86_64 som nasiel tu
28.12.2005 23:22 robob | skóre: 12 | blog: robob
Rozbalit Rozbalit vše Re: Ako ./configure nastavit na kompilovanie 32bit na x86_64
Odpovědět | | Sbalit | Link | Blokovat | Admin
Konecne sa mi podarilo najst sposob ako dosiahnut vytvorenie 32bit aplikacie v linux-x86_64 prostredi. Staci si stiahnut balicek obsahujuci linux32 a potom spustit:
$linux32 ./configure
$linux32 make

Prikaz linux32 totiz nastavi oznam prostredia, ze je i868 namiesto x86_64 vid prikaz:
linux32 uname -a

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.