abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 05:00 | Nová verze

    Byl vydán AlmaLinux OS 10.1 s kódovým názvem Heliotrope Lion. S podporou Btrfs. Podrobnosti v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 04:33 | Komunita

    Placená služba prohledávání zprostředkovatelů dat a automatického odstraňování uniklých osobních údajů Mozilla Monitor Plus bude 17. prosince ukončena. Bezplatná monitorovací služba Mozilla Monitor bude i nadále poskytovat okamžitá upozornění a podrobné pokyny k omezení rizik úniku dat. Služba Mozilla Monitor Plus byla představena v únoru loňského roku.

    Ladislav Hagara | Komentářů: 0
    včera 22:44 | Nová verze

    Waydroid (Wikipedie, GitHub) byl vydán v nové verzi 1.6.0. Waydroid umožňuje spouštět aplikace pro Android na běžných linuxových distribucích. Běhové prostředí vychází z LineageOS.

    Ladislav Hagara | Komentářů: 0
    včera 15:44 | Nová verze

    Příspěvek na blogu Raspberry Pi představuje novou kompletně přepracovanou verzi 2.0 aplikace Raspberry Pi Imager (YouTube) pro stažení, nakonfigurování a zapsání obrazu operačního systému pro Raspberry Pi na SD kartu. Z novinek lze vypíchnout volitelnou konfiguraci Raspberry Pi Connect.

    Ladislav Hagara | Komentářů: 2
    včera 11:22 | Nová verze

    Memtest86+ (Wikipedie), svobodný nástroj pro kontrolu operační paměti, byl vydán ve verzi 8.00. Přináší podporu nejnovějších procesorů Intel a AMD nebo také tmavý režim.

    Ladislav Hagara | Komentářů: 0
    včera 10:55 | Nová verze

    Programovací jazyk Racket (Wikipedie), tj. jazyk z rodiny jazyků Lisp a potomek jazyka Scheme, byl vydán v nové major verzi 9.0. Hlavní novinku jsou paralelní vlákna (Parallel Threads).

    Ladislav Hagara | Komentářů: 0
    včera 10:11 | Komunita

    Před šesti týdny bylo oznámeno, že Qualcomm kupuje Arduino. Minulý týden byly na stránkách Arduina aktualizovány podmínky používání a zásady ochrany osobních údajů. Objevily se obavy, že by otevřená povaha Arduina mohla být ohrožena. Arduino ubezpečuje, že se nic nemění a například omezení reverzního inženýrství v podmínkách používání se týká pouze SaaS cloudové aplikace.

    Ladislav Hagara | Komentářů: 0
    23.11. 13:33 | Bezpečnostní upozornění

    Knihovna libpng, tj. oficiální referenční knihovna grafického formátu PNG (Portable Network Graphics), byla vydána ve verzi 1.6.51. Opraveny jsou 4 bezpečnostní chyby obsaženy ve verzích 1.6.0 (vydána 14. února 2013) až 1.6.50. Nejvážnější z chyb CVE-2025-65018 může vést ke spuštění libovolného kódu.

    Ladislav Hagara | Komentářů: 10
    23.11. 12:22 | Zajímavý článek

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 159 (pdf).

    Ladislav Hagara | Komentářů: 0
    21.11. 22:33 | Zajímavý software

    Hru Warhammer: Vermintide 2 (ProtonDB) lze na Steamu získat zdarma napořád, když aktivaci provedete do pondělí 24. listopadu.

    Ladislav Hagara | Komentářů: 3
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (46%)
     (19%)
     (18%)
     (22%)
     (15%)
     (23%)
     (16%)
     (17%)
    Celkem 396 hlasů
     Komentářů: 17, poslední 19.11. 21:57
    Rozcestník

    Dotaz: Jak lze vytvořit cross-compiler? host=build=i686 target=sparc64

    29.8.2007 16:58 Andrej | skóre: 51 | blog: Republic of Mordor
    Jak lze vytvořit cross-compiler? host=build=i686 target=sparc64
    Přečteno: 884×
    Ahoj, zkoušel jsem vytvořit cross-compiler. Chtěl bych vytvářet na stroji i686-pc-linux-gnu binárky pro sparc64-unknown-linux-gnu. Existuje několik poměrně podrobných návodů: 1, 2, 3. Všechny mají několik společných vlastností:
    1. Nefungují.

    2. Jsou beznadějně zastaralé.

    3. Jsou nepřesné a nikde není seznam vstupních požadavků.

    Postup podle návodu:

    1. Kompilace binutils pro sparc64 - OK, funguje.

    2. Kompilace základního GCC (nejspíš kvůli vytvoření důležitých knihoven) - selže. Někdy make & spol vygeneruje neplatný parametr -Q příkazu exec a překlad neúspěšně skončí. Jindy to hlásí C compiler cannot create executables. Oba případy se střídají náhodně.

      První problém rozhodně není moje chyba. Druhý problém jsem zkoušel řešit modifikací proměnné PATH i přidáním symlinků na nové binutils pro sparc64, avšak bezvýsledně.

    3. A další kroky už vůbec nemá cenu zkoušet.

    Je snad nutné použít nějakou starou verzi GCC, která tyto chyby nemá?

    Nemáte někdo s něčím podobným zkušenost? Víte o nějakém funkčním řešení? Správci distribucí cross-compiler nutně potřebují. Tedy jistě existuje způsob, jak GCC přeložit. Jen ho najít...

    Předejdu otázce: Ne, nechci si stáhnout předpřipravené obrazy. Chci vědět, jak to funguje.

    Odpovědi

    Luboš Doležel (Doli) avatar 29.8.2007 17:53 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Jak lze vytvořit cross-compiler? host=build=i686 target=sparc64
    crossdev na Gentoo je jednoduchý a přitom funkční nástroj pro kompilaci crosskompilátorů. Použij Gentoo ;-) nebo se podívej, jak to dělá.
    29.8.2007 20:21 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Jak lze vytvořit cross-compiler? host=build=i686 target=sparc64
    Použij Gentoo ;-) nebo se podívej, jak to dělá.

    Z obojího mám trochu obavy... Možná bych si mohl spustit pouze základní instalaci Gentoo ve VirtualBoxu nebo VMWare a pak odtamtud vzít hotovou binárku. Hlavně bych se rád dopídil toho, jak crossdev zajistí, aby kompilace fungovala. Asi používá starší verzi GCC. Aspoň u cross-compileru pro Win32, který jsem úspěšně vytvořil z PKGBUILDu přímo pod Archem, tomu tak bylo. Tam měli nějaké GCC 3.x a tím se pak znovu přeložilo výsledné GCC 4.x.

    Luboš Doležel (Doli) avatar 29.8.2007 20:24 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
    Rozbalit Rozbalit vše Re: Jak lze vytvořit cross-compiler? host=build=i686 target=sparc64
    Hlavně bych se rád dopídil toho, jak crossdev zajistí, aby kompilace fungovala.
    Mám tu i686-mingw 4.2.0 kompilované s x86-64 gcc 4.2.0, gcc 3.x to nepoužívá. Hlásí to tyto podrobnosti:

    Configured with: /var/tmp/cross/i686-mingw32/portage/cross-i686-mingw32/gcc-4.2.0/work/gcc-4.2.0/configure --prefix=/usr --bindir=/usr/x86_64-pc-linux-gnu/i686-mingw32/gcc-bin/4.2.0 --includedir=/usr/lib/gcc/i686-mingw32/4.2.0/include --datadir=/usr/share/gcc-data/i686-mingw32/4.2.0 --mandir=/usr/share/gcc-data/i686-mingw32/4.2.0/man --infodir=/usr/share/gcc-data/i686-mingw32/4.2.0/info --with-gxx-include-dir=/usr/lib/gcc/i686-mingw32/4.2.0/include/g++-v4 --host=x86_64-pc-linux-gnu --target=i686-mingw32 --build=x86_64-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-libunwind-exceptions --disable-libmudflap --disable-libssp --disable-libgcj --with-arch=i686 --enable-languages=c,c++ --with-sysroot=/usr/i686-mingw32 --disable-bootstrap --disable-libgomp
    30.8.2007 11:51 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Jak lze vytvořit cross-compiler? host=build=i686 target=sparc64

    To znám, i686-mingw mám taktéž. Pro ArchLinux je na to v AUR přímo PKGBUILD, který tohle všechno udělá a vyplivne funkční překladač. Podstatný rozdíl oproti sparc64 je v tom, že knihovna mingw je úzce zaměřená na jednu platformu. Pro její zprovoznění s GCC není potřeba tolik triků jako v případě binutils a glibc.

    30.8.2007 00:31 prOm3TheuS | skóre: 18 | Praha
    Rozbalit Rozbalit vše Re: Jak lze vytvořit cross-compiler? host=build=i686 target=sparc64
    Existuje kniha LFS (Linux From Scratch), která objasňuje jak si sestrojit Linux ze zdrojových kódů. Existuje však také oficiálně kniha CLFS (Cross Linux From Scratch), která píše o tom, jak si takový cross-compiler udělat a sestrojit tak ze zdrojových kódů operační systém pro jinou architekturu, než na které se kompiluje. A že jsem hodnej, tak tady je odkaz ;-) Ještě chci podotknout, že tenhle návod je ze SVN, takže je "teplej" tak pár hodin.
    30.8.2007 11:46 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Jak lze vytvořit cross-compiler? host=build=i686 target=sparc64
    A že jsem hodnej, tak tady je odkaz

    Díky za odkaz. Tuto stránku jsem předtím nenašel ani po hodinovém hledání Googlem. Překvapuje mě, že na mě z Googlu nevyskočila jako první. Když zadám cross-compiler linux sparc64, nic relevantnějšího než tohle přece nemůže existovat. Pokud Google stránku nenajde, nejspíš na ni nevede dostatek odkazů. To mě překvapuje ještě víc.

    Pokud jde o samotný návod, zběžně jsem ho pročetl až po samotnou kompilaci nového systému. Můj dojem z něj je takový, že je silně překomplikovaný a předimenzovaný. (Například vytváření celého nového diskového oddílu jen kvůli kompilaci mi připadá (mírně řečeno) matoucí. Oddíl na hostitelském počítači nemá s bootováním cílového stroje vůbec nic společného. Zabezpečit se dá stejně dobře i adresář.) To ale nic nemění na tom, že je nejspíš jediný svého druhu.

    Příjemné je, že se tam přesně uvádí, jak se musí nastavit překlad GCC, aby fungoval. Je to mnohem složitější procedura, než jakou jsem předtím zkoušel. Nepříjemným faktem však zůstává, že každý kousek software je nutné kvůli specifickému nastavení zkompilovat zvlášť. Jinak řečeno - nelze prostě vzít build framework z ArchLinuxu a napasovat ho rychle a jednoduše na tento návod...

    Mimochodem - tady je vidět velmi podstatný nedostatek ArchLinuxu ve srovnání se „staršími a zkušenějšími“ distribucemi - Debian, Gentoo, Fedora a podobně. Nelze prostě jen tak vzít strom ABS, něco někde přepnout a zkompilovat systém pro jinou architekturu. Přesněji řečeno, samozřejmě to možné je, ale při každé aktualizaci by člověk musel editovat všechny potřebné PKGBUILDy. (To ale koneckonců není příliš překvapivé - u některých distribucích pracují na portech pro non-PC architektury celé týmy lidí...)

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.