Portál AbcLinuxu, 19. července 2025 12:03


Dotaz: x86-64 nebo x86_64 ?

17.6.2004 20:17 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
x86-64 nebo x86_64 ?
Přečteno: 91×
Odpovědět | Admin
Nainstaloval jsem SUSE Linux pro AMD64. Všechno chodí ok (mc mi ale padá, někomu taky?), ALE.

1) když zkompiluju jádro s konfigurací SUSE, samozřejmě to funguje, ale jakmile změním platformu z generic x86-64 na AMD64, tak mám kernel panic, přitom můj notebook Acer obsahuje tento procesor...

2) a nyní hlavní problém: Snažim se nainstalovat ovladač mého USB modemu, ale make (resp. gcc) mi píše: "unknown platform x86_64". zjistil jsem, že by to mělo být "x86-64", tak to taky projde. Jenže!

Když jsem se díval do jádra, je tam adresář ./arch/x86_64. V SUSE mi uname vrací právě toto, ale v login screenu je zase ta verze s pomlčkou. A gcc očekává taky pomlčku. Mám v tom totální zmatek. Vím, že to AMD přejmenovali, ale kde je teda chyba? Proč uname vrací to co vrací a jak to mohu změnit na tu verzi s pomlčkou? Neuškodím nějak touto změnou systému?

Nepomůže zde ani příkaz linux32, který "přepne" uname tak, aby vracel i686. V tomto případě mě zase gcc skončí s chybou, že to není x86-64, tečka. Tohle že je cross-compiler? Nějak se mi to nezdá, snad nemám nějakou chybnou verzi gcc.

Děkuji za pomoc.
Later --- Lukáš Zapletal
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

17.6.2004 21:33 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: x86-64 nebo x86_64 ?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Pokusím se odpovědět alespoň na něco.

Název architektury je x86-64, na filesystému se to zapisuje x86_64 (neptej se mě proč, prostě to tak je, v archívu LKML možná najdeš vysvětlení :-)).

linux32 přepne to 32-bitového prostředí, takže pokud chceš kompilovat 64-bitové aplikace, musíš použít crosscompiler, který se určitě nejmenuje jenom gcc, to je i386 kompilátor, ale něco jako gcc-linux-x86_64 (nevím přesný název).
Weblate - překládání přes web | Gammu SMSD - posílání SMS | Blog
17.6.2004 21:39 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Rozbalit Rozbalit vše Re: x86-64 nebo x86_64 ?
Takže by bylo možné nějakým tím crosscompilerem udělat 386kovou binárku? Jak přesně na to?
17.6.2004 21:47 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: x86-64 nebo x86_64 ?
Na x86-64 nepotřebuješ crosscompiler, po přepnutí to 32-bitového režimu (pomocí linux32) by to mělo vytvářet i386 binárky.
17.6.2004 21:53 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Rozbalit Rozbalit vše Re: x86-64 nebo x86_64 ?
Právě že tomu tak není...

gcc: cannot generate this code

Nebo něcona ten smysl... (Jsem ve Windows, nejde mi síť).
17.6.2004 22:08 Michal Čihař | skóre: 61 | blog: Bláboly | Praha
Rozbalit Rozbalit vše Re: x86-64 nebo x86_64 ?
Omlouvám se. chyba: gcc -m32 generuje 32-bitový kód, gcc -m64 64-bitový (tohle je defaultní).
17.6.2004 22:15 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Rozbalit Rozbalit vše Re: x86-64 nebo x86_64 ?
Nějak jsme sešli z cesty :D neřeší to můj problém, kdy uname vrací x86_64 místo x86-64...

přesto díky moc!
18.6.2004 08:59 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Rozbalit Rozbalit vše Re: x86-64 nebo x86_64 ?
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak jinak...

Uname vraci s podtržítkem, gcc chce s pomlčkou, kde je chyba?

Díky
Later --- Lukáš Zapletal
Stanislav Brabec avatar 18.6.2004 10:52 Stanislav Brabec | skóre: 45 | Praha
Rozbalit Rozbalit vše Re: x86-64 nebo x86_64 ?
Problém je možná v tom, že starší automake generoval configure, který x86-64 nedetekoval dobře.

Spousta SuSE RPM balíčků používá %suse_update_config (z /usr/lib/rpm/suse_macros). Ten zkopíruje nejnovější config.guess, depcomp a missing a upraví ltconfig a ltmain.sh.

Někdy nepomůže ani ten a musíte dát autoreconf -f -i.

MC padá i pod i386. Pod x86-64 možná častěji.
18.6.2004 19:18 Lukáš Zapletal | skóre: 42 | blog: lzapův svět | Olomouc
Rozbalit Rozbalit vše Re: x86-64 nebo x86_64 ?
Tak jsem to vyřešil. Ovladač neměl autoconf ani automake, prostě to měl natvrdo napsaný, ať si to zjistí z uname -m, což vracelo verzi s podtržítkem. Dal jsem to tam natvrdo a je to.

Nicméně nechápu, proč se to neujednotí...

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.