Portál AbcLinuxu, 30. dubna 2025 22:31
Tiskni
Sdílej:
Kolik binárních aplikací asi bude chodit na dnešním Linuxovém distru, když byly naposledy kompilovány v roce 1999 oproti jejich knihovnám? No.. Moc asi ne.
A to je právě ten problém. Na Windows vám 10 let starý binárky fungujou v drtivý většině zcela bez problémů. Na linuxu si s jakoukoliv složitější (stačí aby měla GUI) aplikací ani neškrtnete. A dokuď jednou vyrobený binárky nebudou ve všech distribucích fungovat řadu let, tak moc velká ochota výrobců komerčního SW k portování aplikací na linux nebude. A bez těchto aplikací je použitelnost linuxu silně omezená (skutečně ne každý, a troufám si tvrdit že ani zdaleka ne většina, uživatelů PC potřebuje jenom prohlížeč a "Word".)
A dokuď jednou vyrobený binárky nebudou ve všech distribucích fungovat řadu let, tak moc velká ochota výrobců komerčního SW k portování aplikací na linux nebude.A právě proto je nejlepší dodávat zdrojový kód. Ony zase ty 10 let staré binárky na tom s bezpečností nebudou nejlépe.
(skutečně ne každý, a troufám si tvrdit že ani zdaleka ne většina, uživatelů PC potřebuje jenom prohlížeč a "Word".)To je pravda, většinou potřebují ještě Excel, PowerPoint a karty/miny.
+1A to je právě ten problém. Na Windows vám 10 let starý binárky fungujou v drtivý většině zcela bez problémů. Na linuxu si s jakoukoliv složitější (stačí aby měla GUI) aplikací ani neškrtnete. A dokuď jednou vyrobený binárky nebudou ve všech distribucích fungovat řadu let, tak moc velká ochota výrobců komerčního SW k portování aplikací na linux nebude. A bez těchto aplikací je použitelnost linuxu silně omezená (skutečně ne každý, a troufám si tvrdit že ani zdaleka ne většina, uživatelů PC potřebuje jenom prohlížeč a "Word".)
Nechápu co se v každé verzi glibc, linux-headers mění na tolik, že musí aplikace mít přesně tu verzi, proti které byly zkompilovány. Každou binárku lze spustit jen na to systému na kterém byla kompilována. A o GCC radši nemluvě. Nějaké API/ABI by určitě neuškodilo.
Na to máme ještě času...Ani bych neřekl.
Mi se naopak rychlý vývoj i za cenu binární nekompatibility líbí.A dokdy se bude vyvíjet? S tím, že většina komerčních subjektů přejde ze dne na den na OpenSource model vývoje jaksi spoléhat nemůžeme a s tím, že se s tím budou srát téže ne. Já bych naopak řekl, že pokud se jedná o GNU/Linux, tak už je docela na slušné úrovni a je na čase ten bordel trochu sjednotit.
Já přece po firmách žádný opensource vývoj nechci.Ty možná ne, ale jsou i jiné subjekty než-li ty, které by rády svobodné operační systémy využívaly. A nejde jen o komerční subjekty. Jak mám např. já obohatit funkce jistého systému na bázi Linuxu o nové ovladače, když distributor nedodává konfigurační soubor se kterým to jádro zkompiloval. S nějakým jednoznačným API/ABI by se toho mnoho ulehčilo.
No vidíš, já svobodný operační systém poměrně úspěšně používám.Já, já, já…vždyť to já také, ale jaksi nejde jen o nás dva. Né, že by my současný stav nevyhovoval(i když něco by se dalo zlepšit), ale byl bych docela rád kdybych jednou přišel do práce a měl možnost pracovat na platformě, kterou znám a kterou se již nějakou dobu zabývám a né na…čehož se v současném stavu jen tak nedočkám.
Což možná svědčí o tom, že by si měl změnit zaměstnavateleA kde je to lepší? Rád se nechám poučit.
obor své činnostiMoje řeč. Třeba v oboru konstruování je situace 1000x lepší.
A rozšíření linuxu stejně žádné vývoj brzdící ABI/API nepomůže.Mně současný stav docela vyhovuje co se rozšíření mezi běžnými uživateli týče. V korporativní sféře je to trošičku jiné. A API/ABI není jen o rozšiřování.
Mě se líbí model, který používá tuším Gtk - v rámci major verze má zpětně kompatibilní ABI a pro starší aplikace stačí nainstalovat starší verzi knihovny.Takto je to i u Glibc a myslím, že i jiných, ale co naplat když nové verze vycházejí každé dva týdny. Sám vidíš, že lidi remcají když se trochu poupraví API u Windowsů jednou za deset let a pak jim ta jejich aplikace nejde. Co potom, když žádné stabilní API/ABI vůbec neexistuje a celé GNU je jedno obří staveniště kde se furt něco mění.
Mě se líbí model, který používá tuším Gtk - v rámci major verze má zpětně kompatibilní ABI a pro starší aplikace stačí nainstalovat starší verzi knihovny.Ještě jsem zapomněl:
Samozřejmě to je dobře, že to jde, ale různé verze libc a nebo GCC se instalují trošičku horší. A kvůli pár programům mít X-verzí různého toolkitu nebo čehokoliv jiného, když jsou všechny téměř identické. A vůbec toolkity,…ale to je zase jiná diskuse.
Tak to by mě zajímalo jak složité je si nainstalovat různé verze GCC.... Já jich několik mám a moc těžké mi to teda nepřišlo.No to sice ne ale, pak mezi sebou aplikace zkompilované s různými verzemi spouštět je trošku něco jiného. Pokud chce člověk potom přidat něco do nějakého menšího systému, tak aby ho celý znovu kompiloval od základu aby všechny verze téměř všeho seděli.
Furt mi to připadá jako lepší model, než tu zpětnou kompatibilitu vláčet v nových verzích knihovny.Mně by zas zajímalo co je každých 14dní tak revolučního v každé nové verzi, že aplikace přeložené o jednu verzi na ní nemohou jet. Nic proti zpětné kompatibilitě, jenže stejně není vláčet co, protože o nějaké kompatibilitě se snad ani nedá mluvit.
Podmínkou je ale to udržení ABI, kterým si nejsem u věcí v C++ vůbec jistý.Proto jsem říkal API/ABI. U věcí u kterých je to možné by mi API vůbec nevadilo, ale pokud se bavíme zrovna o Glibc, tak spíše ABI protože různé symboly v binárkách jsou myslím ty důvody proč musí být aplikace kompilována a spouštěna na stejných verzích. A jinak, nemluvím jen o ABI, ale spíše o nějakých standardech.
Možná jsem to sepsal polopatě a není moc jasné co se vůbec snažím říct, ale to už to bude také pokročilou hodinou a spíš si to nechávám jednou k teoretické diskusi u piva.
Jéje, ty si mi ale chytrolín... A proto jsou RedHat, Novell a Mandriva s implementací LSB nejlépe, že?Oops, asi bych si měl nafackovat, než příště něco vypustím. Asi se opravdu mrknu dál než na indexovou stránku toho webu.
Mně by zas zajímalo co je každých 14dní tak revolučního v každé nové verzi, že aplikace přeložené o jednu verzi na ní nemohou jet.Tohleto platí o které knihovně? Glibc to snad není.
Tohleto platí o které knihovně? Glibc to snad není.To bylo spíše myšleno obrazně. Ale jsem si jistý, že aplikace přeložená proti verzi 2.6 nejde na glibc 2.4 a naopak (vím, že pindala právě něco o scházejících symbolech GLIBC_2.4).No a stačí se podívat jaká je mezi nimi časová propast. 14.měsíců tedy za nějaké ABI vůbec nepovažuji a přitom hlavičkové soubory jsou téměř netknuté, ale jen se mění něco uvnitř.
$ rpm -q glibc glibc-2.7-2.x86_64 $ rpm -q --provides glibc|grep '^libc.so' libc.so.6()(64bit) libc.so.6(GLIBC_2.2.5)(64bit) libc.so.6(GLIBC_2.2.6)(64bit) libc.so.6(GLIBC_2.3)(64bit) libc.so.6(GLIBC_2.3.2)(64bit) libc.so.6(GLIBC_2.3.3)(64bit) libc.so.6(GLIBC_2.3.4)(64bit) libc.so.6(GLIBC_2.4)(64bit) libc.so.6(GLIBC_2.5)(64bit) libc.so.6(GLIBC_2.6)(64bit) libc.so.6(GLIBC_2.7)(64bit)
Speciálně ta část, že "systém Windows oznámí, zda je k dispozici řešení", hraničí se lží - to jako vyhodnotí záznamy o pádu, porovná ho s databází známých problémů daného programu a oznámí, zda už na to existuje oprava? To bych tedy chtěl vidět. U nás na tento úkon máme specialisty - bugzilla screenery - a i těm to občas dá zabrat.Thán má Visty a tohle, zdá se, funguje. Informace o pádu se pošlou do MS, tam je zanalyzují, nějak to opraví a pak se ti napíše, že je řešení k dispozici
Vím, že je to detail, ale mě by na tom asi nejvíc štvala podoba toho okna, které hlásí chybu, resp. text v něm.A nebyly by třeba ty podrobnosti v "Prohlížeči událostí" v "Záznamech o chybách aplikací" ("Nástroje pro správu")?
Jenže podle mého názoru to je právě vina používání takových softwarů, které z uživatele dělají blbce.Je to tvoje volba, jestli daný program budeš používat nebo ne, tak jen jestli toho blbce ze sebe nedělá uživatel softwaru, který mu nevyhovuje, tak trochu sám :-P Jinak, že mu začal padat starý program, který mu vždy fungoval, vůbec nemusí být chyba nové verze Windows. To by se opravdu slušelo říct.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.