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 17:44 | IT novinky

    Byl aktualizován seznam 500 nejvýkonnějších superpočítačů na světě TOP500. Nejvýkonnějším superpočítačem zůstává El Capitan od HPE (Cray) s výkonem 1,809 exaFLOPS. Druhý Frontier má výkon 1,353 exaFLOPS. Třetí Aurora má výkon 1,012 exaFLOPS. Nejvýkonnější superpočítač v Evropě JUPITER Booster s výkonem 1,000 exaFLOPS je na čtvrtém místě. Nejvýkonnější český superpočítač C24 klesl na 192. místo. Karolina, GPU partition klesla na 224. místo a Karolina, CPU partition na 450. místo. Další přehledy a statistiky na stránkách projektu.

    Ladislav Hagara | Komentářů: 0
    dnes 17:22 | IT novinky

    Microsoft představil Azure Cobalt 200, tj. svůj vlastní SoC (System-on-Chip) postavený na ARM a optimalizovaný pro cloud.

    Ladislav Hagara | Komentářů: 0
    dnes 12:00 | IT novinky

    Co způsobilo včerejší nejhorší výpadek Cloudflare od roku 2019? Nebyl to kybernetický útok. Vše začalo změnou oprávnění v jednom z databázových systémů a pokračovalo vygenerováním problém způsobujícího konfiguračního souboru a jeho distribucí na všechny počítače Cloudflare. Podrobně v příspěvku na blogu Cloudflare.

    Ladislav Hagara | Komentářů: 5
    včera 23:44 | Nová verze

    Byla vydána (Mastodon, 𝕏) první RC verze GIMPu 3.2. Přehled novinek v oznámení o vydání. Podrobně v souboru NEWS na GitLabu.

    Ladislav Hagara | Komentářů: 1
    včera 23:22 | Komunita

    Eugen Rochko, zakladatel Mastodonu, tj. sociální sítě, která není na prodej, oznámil, že po téměř 10 letech odstupuje z pozice CEO a převádí vlastnictví ochranné známky a dalších aktiv na neziskovou organizaci Mastodon.

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

    Byla vydána nová major verze 5.0 svobodného 3D softwaru Blender. Přehled novinek i s náhledy a videi v obsáhlých poznámkách k vydání. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | Upozornění

    Cloudflare, tj. společnost poskytující "cloudové služby, které zajišťují bezpečnost, výkon a spolehlivost internetových aplikací", má výpadek.

    Ladislav Hagara | Komentářů: 10
    včera 04:22 | Pozvánky

    Letos se uskuteční již 11. ročník soutěže v programování Kasiopea. Tato soutěž, (primárně) pro středoškoláky, nabízí skvělou příležitost procvičit logické myšlení a dozvědět se něco nového ze světa algoritmů – a to nejen pro zkušené programátory, ale i pro úplné začátečníky. Domácí kolo proběhne online od 22. 11. do 7. 12. 2025 a skládá se z 9 zajímavých úloh různé obtížnosti. Na výběru programovacího jazyka přitom nezáleží – úlohy jsou

    … více »
    SoutezKasiopea | Komentářů: 1
    včera 04:11 | Nová verze

    Byla vydána nová verze 2.52.0 distribuovaného systému správy verzí Git. Přispělo 94 vývojářů, z toho 33 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    17.11. 18:00 | Nová verze

    VKD3D-Proton byl vydán ve verzi 3.0. Jedná se fork knihovny vkd3d z projektu Wine pro Proton. Knihovna slouží pro překlad volání Direct3D 12 na Vulkan. V přehledu novinek je vypíchnuta podpora AMD FSR 4 (AMD FidelityFX Super Resolution 4).

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

    Dotaz: Kompilace pro běh na starších distrech

    27.10.2021 09:54 lumpik66
    Kompilace pro běh na starších distrech
    Přečteno: 465×
    Zdravím,

    snažím se přeložit projekt s g++/qt tak, aby běžel i se staršími systémy. Příklad. když nyní přeložím stejný projekt na Ubuntu 20.04 a chci ho spustit pod 18.04 tak se nespustí. Jak tohle nejlépe vyřešit?

    Problém je "/lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.29' not found". WTF?

    To jako 2 roky starší distro nespustí binárky přeložené na novějším?

    To mám překládat vše na 10 let starém distru, abych měl trochu jistoty, že to spustí i na starších strojích?

    Přece nemám staticky linkovat glibc??

    Řešení dotazu:


    Odpovědi

    Max avatar 27.10.2021 10:52 Max | skóre: 72 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Kompilace pro běh na starších distrech
    A proč myslíš, že každé distro má svůj vlastní repositář? Přesně kvůli tomu, že se linkuje dynamicky proti nějakým verzím s nějakou implementací ABI apod. Další problém je generační změna ve struktuře adresářů apod. Třeba ten "/lib/x86_64-linux-gnu" nebyl v distrech odjakživa.
    Pokud by jsi chtěl svoje šance s kompatibilitou u jednoho balíčku zvýšit, tak kompiluj na starším OS a zkoušej spustit na novějším ;-).
    Zdar Max
    Měl jsem sen ... :(
    27.10.2021 11:55 lumpik66
    Rozbalit Rozbalit vše Re: Kompilace pro běh na starších distrech
    Linux používám už asi 20 let každý den a stejně dlouho na něm i vyvíjím. Ale tohle mě vždy dostane. Za tak dlouhou dobu není nikdo schopen zajistit zpětnou kompatibilitu a to ani u stejné distribuce 2 roky staré. Jak windows nesnáším, tak tohle jediné mají vyřešeno opravdu dobře.

    Takže není žádné rozumné řešení než se vracet v čase?

    Představa, že chci nabídnout uzavřenou aplikaci na Linuxu, která má běžet všude je asi nereálná?
    27.10.2021 12:08 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
    Rozbalit Rozbalit vše Re: Kompilace pro běh na starších distrech
    A proč ne?

    Ovšem pak to musíš překládat pro příslušné knihovny které jsou v těch starých distribucích.

    Ale udržovat projekty aby běhaly na 20 let starých distribucích je cesta do pekel.
    27.10.2021 12:35 lumpik66
    Rozbalit Rozbalit vše Re: Kompilace pro běh na starších distrech
    Jenže slinkovat staticky glibc moc dobře nejde. Přesně to jsem se snažil, jenže i když jsem natahal všechny knihovny do adresáře s aplikací, tak to jen krásně padá. Ano, knihovny si tahám staré. Jenže stále je problém v tom, že to nemohu přeložit na novém stroji s aktuálním toolchainem a především glibc. Takže asi virtuální stroj se starým distrem je jediné možné řešení, aniž bych prasil systém.
    27.10.2021 12:36 lumpik66
    Rozbalit Rozbalit vše Re: Kompilace pro běh na starších distrech
    Padáním myslím SEGFAULT.
    27.10.2021 15:01 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Kompilace pro běh na starších distrech
    A prečo nevyužiješ dostupné build hosty, bráni ti v tom licencia?
    27.10.2021 12:37 lumpik66
    Rozbalit Rozbalit vše Re: Kompilace pro běh na starších distrech
    20 let není třeba. Ale aby byl problém i s 2-lety starým? :) Mělo by to běžet na něčem jako debian-oldstable.
    Max avatar 27.10.2021 12:20 Max | skóre: 72 | blog: Max_Devaine
    Rozbalit Rozbalit vše Re: Kompilace pro běh na starších distrech
    Takové aplikace jsou do nějaké úrovně slinkovány většinou staticky a tahají si ty knihovny sebou. Podobně jako na Windows ;-). Takže ten příměr s Windows nechápu.
    Zdar Max
    Měl jsem sen ... :(
    27.10.2021 14:17 Peter Golis | skóre: 65 | blog: Bežné záležitosti | Bratislava
    Rozbalit Rozbalit vše Re: Kompilace pro běh na starších distrech
    Ja to prirovnanie chápem. Už len z toho dôvodu, že dodávateľ staticky linkovaného SW by mal zabezpečiť udržiavanie ním používaných verzií externých knižníc. No a spraviť si build pre rôzne distrá a ich verzie je menej prácne ako ručne sledovať a aplikovať všetky tie patchworky o ktoré sa zvykne starať správca distribúcie alebo externého repozitára.
    27.10.2021 16:58 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Kompilace pro běh na starších distrech
    Jak tohle nejlépe vyřešit?

    Používáním aktuálních systémů…?

    To jako 2 roky starší distro nespustí binárky přeložené na novějším?

    Těžko říct. Nikdy jsem nepoužíval distro straší než 2 měsíce, takže u dvou let bych všeho všudy konstatoval, že výsledek bude libovolně–nedefinovaný.

    (A tak to má být; nemá smysl vláčet s sebou několikaletou přítěž zpětné kompatibility a tunu starých bugů k tomu.)

    To mám překládat vše na 10 let starém distru, abych měl trochu jistoty, že to spustí i na starších strojích?

    Ne.

    Stroje „mladší“ než cca 10 let můžou zkrátka provozovat aktuální distro. U strojů starších než cca 10 let má jejich majitel jistě natolik dobrý důvod držet je v provozu, aby do překladu binárek speciálně pro ně byl ochoten investovat trochu času a úsilí. Což se může dost zkomplikovat, protože například připojení takových strojů k internetu není dobré riskovat…

    29.10.2021 09:00 lumpik66
    Rozbalit Rozbalit vše Re: Kompilace pro běh na starších distrech
    Třeba protože ten uživatel není linuxovej nadšenec co nepotřebuje každou chvíli něco instalovat a řešit, proč to zase nejede, když to na starý vyrzi jelo? A třeba mu vše funguje a nemá jediný důvod přecházet na jinou verzi. A nebo mu to nainstaloval někdo jiný a kvůli jediné aplikaci nebude volat někoho dalšího? A nebo protože ta aplikace je pro podniky, kde jedou na stabilních verzích a opravdu to poslední co chtějí je řešit každou chvíli nový systém :D Ano, taky jsem kdysi fungoval na Gentoo, Arch Linux. Ale s realným světem to nemá nic společného.

    No můj problém vyřešil virtuál. Je to smutné, ale očividně s novými nástroji to prostě nejde. Tohle linux neumí ani trochu. Proč se nedají stáhnout z těch repozitářů staré verze toolchainu, glibc někde bokem do userspace? To to ještě nikoho nenapadlo?

    Zajímavé, že stačí zkompilovat na starém distru a už to jede. Ale opačně to nejde.
    29.10.2021 20:01 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Kompilace pro běh na starších distrech
    A třeba mu vše funguje a nemá jediný důvod přecházet na jinou verzi.

    Myslí si, že nemá, jenže většinou má: Bezpečnost.

    A nebo protože ta aplikace je pro podniky, kde jedou na stabilních verzích a opravdu to poslední co chtějí je řešit každou chvíli nový systém :D

    Rozumné distro s rolling updates se neřeší, není tam co řešit; je zkrátka aktuální.

    Aplikace „pro podniky“ je častá výmluva, nicméně zajímalo by mě, proč se „podniky“ neobrací především na dodavatele té aplikace, která je (zjevně) špatně udržovaná a zastaralá.

    Ale s realným světem to nemá nic společného.

    Jak je definovaný ten reálný svět? Například s mým reálným světem, tedy s mou prací i zábavou, to má nejen mnoho společného, ale je to s obojím dokonce v dokonalém souladu.

    No můj problém vyřešil virtuál. Je to smutné, ale očividně s novými nástroji to prostě nejde. Tohle linux neumí ani trochu.

    Dodavatel té pofidérní aplikace cosi neumí. Nevidím důvod vinit z toho „Linux“ jako takový.

    Proč se nedají stáhnout z těch repozitářů staré verze toolchainu, glibc někde bokem do userspace?

    Protože mají v sobě spoustu neopravených bugů, leckdy velmi nebezpečných, a žádný správce distribuce si nechce takovou věc vzít na triko. Ne že by šlo o nějakou odpovědnost v právním slova smyslu, ale reputace kolem bezpečnosti je důležitá.

    To to ještě nikoho nenapadlo?

    Jistě napadlo, ale vzápětí si možná položil otázku, proč by měl řešit problémy způsobené dodavateli neudržovaných a nekompatibilních komerčních aplikací, když jinak 999‰ upstreamu s vývojem kolem knihoven a distribucí bez problémů drží krok.

    Zajímavé, že stačí zkompilovat na starém distru a už to jede.

    Pak tedy nezbývá než doufat, že to neposlouchá na žádném portu. ;-)

    30.10.2021 00:57 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: Kompilace pro běh na starších distrech
    Jistě napadlo, ale vzápětí si možná položil otázku, proč by měl řešit problémy způsobené dodavateli neudržovaných a nekompatibilních komerčních aplikací, když jinak 999‰ upstreamu s vývojem kolem knihoven a distribucí bez problémů drží krok.

    s/bez problémů/s vypětím všech sil/g ...

    Každý má právo na můj názor!
    30.10.2021 00:44 Martin Tůma | skóre: 39 | blog: RTFM | Praha
    Rozbalit Rozbalit vše Re: Kompilace pro běh na starších distrech
    No můj problém vyřešil virtuál. Je to smutné, ale očividně s novými nástroji to prostě nejde. Tohle linux neumí ani trochu. Proč se nedají stáhnout z těch repozitářů staré verze toolchainu, glibc někde bokem do userspace? To to ještě nikoho nenapadlo?

    Napadlo a výsledkem jsou různé flatpacky a appimage... Pokuď chceš vyrábět jenom jednu binárku tak cesta vede asi jenom tudy.

    Zajímavé, že stačí zkompilovat na starém distru a už to jede. Ale opačně to nejde.

    To může být zajímavé pouze pro někoho, kdo vůbec netuší, jak věci fungují... Neplatí to pro všechny knihovny, ale zrovna (g)libc je tímto směrem kompatibilní přes spoustu verzí. Opačně to z podstaty fungovat nebude, protože nové buildy můžou používat nějaké nové API, které ve starších verzích vůbec nebylo.

    Každý má právo na můj názor!
    Řešení 1× (Odin1918)
    27.10.2021 17:41 R
    Rozbalit Rozbalit vše Re: Kompilace pro běh na starších distrech
    V Debiane pouzivam chroot so starsou verziou, kde mam kompilator a potrebne kniznice. V mojom pripade ide nielen o glibc ale aj o Qt. Jednoducho sa to da urobit pomocou schroot a debootstrap.
    28.10.2021 07:36 alfonz
    Rozbalit Rozbalit vše Re: Kompilace pro běh na starších distrech
    Párkrát jsem toto "uspesne" vyresil v LXC a starsi verzi systemu např. ubuntu 16.04 a v nem kompilace. Bohuzel to nefunguje vzdy a je to hodne problematicke. Popravde vubec nevim jak toto dobre resit, ale pry appimage by mohlo byt realne reseni.
    28.10.2021 07:46 alfonz
    Rozbalit Rozbalit vše Re: Kompilace pro běh na starších distrech
    Ještě bych doplnil, že už jsem i viděl docker image nebo i LXC image s gui, takto připravený. Vyžaduje to však docker/lxc.
    Řešení 1× (Odin1918)
    30.10.2021 09:45 Odin1918 | skóre: 6 | blog: Valhalla
    Rozbalit Rozbalit vše Re: Kompilace pro běh na starších distrech
    Maz nekolik moznosti: otrocky staticky linkovat vsechny knihovny, knihovny pribalit k aplikaci a zajistit jejich loadnuti. Ale je s tim trapeni. Ja to u jednoho projektu resil jednoduse: do virtualbox nainstalovat potrebne distro, nastavit ssh, zvenku skriptik, ktery se pripojil, zajistil build a nasledne odeslal hotovy vyrobek, kam bylo treba. Cesta s virtualem se mi zdala tehdy nejmene pracna, ale urcite profici v dnesni dobe maji nejake lepsi reseni postavene na dockeru, chrootu nebo tak.
    30.10.2021 16:38 Tom K | skóre: 22
    Rozbalit Rozbalit vše Re: Kompilace pro běh na starších distrech
    Místo virtuálu používám systemd-nspawn (machinectl), který narozdíl od virtuálu spotřebuje minimum paměti, prostoru na disku a dá se do něj bindnout adresář se zdrojákama. Takže skript přes ssh jen buildne a pak se přes rsync získá výsledek. Na ubuntu 21.10 mám takhle centos7, ubuntu-20.04 a ubuntu 18.04. Je to trocha práce navíc, ale potom už je to celkem bez práce.
    echo -n "u48" | sha1sum | head -c3; echo

    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.