Portál AbcLinuxu, 24. říjen 2017 00:51

Firefox 57 na Gentoo aneb kolik dní jsem kompiloval

23.9. 18:14 | Přečteno: 944× | Software

Jak asi většina z vás ví, vrátil jsem se nedávno k Gentoo. Jako jedna z věcí která mě hned praštila do očí, je nedostupnost žádné "nightly" verze Firefoxu.

Takže, bez prohlížeče není legrace. Poměrně rychle jsem zjistil, že laptop bez prohlížeče je celkem nepoužitelná věc (zejména když instalujete systém jako Gentoo, kde občas potřebujete mrknout na nějaké doplňující info).

Přemýšlel jsem o instalaci předkompilovaného firefox-bin, což dle mého hrubého odhadu mi mohlo ušetřit tak 10 hodin kompilace (přecijen, stroj má jen i5 6440HQ a Firefox je Firefox). Před pár lety jsem kompilaci Firefox vždy dost rychle vzdal, protože ve výsledku to vždycky selhalo ať jsem dělal co jsem dělal.

Jenže když už mám to GNOMÍČKO 3.26, které relativně hladce naběhne do Waylandu, tak škoda si šmudlat nějaký Firefox 56 (který rychlostí neoslní) a ještě v emulaci pod X11...

Takže, první úkol byl sehnat nightly firefox. https://gpo.zugaina.org pomohla najít overlay ::riru overlay. Super, přidal jsem ji do Gentoo. Jako další věc jsem musel přepsat gitový repozitář, aby ukazoval na verzi s podporou Waylandu ( https://github.com/stransky/gecko-dev ) a pozměnil default toolkit v ebuildu. Odmaskoval a pustil se do kompilace. Ouč - chybí závilost na CLANGu, tož přidal jsem ještě clang-5.0 s velkou obavou co se stane (přecijen, poměrně nová verze). Zkompiloval a nainstaloval jsem clang a jde se na to...

Za cca hodinku emerge doběhlo a vyhodilo překvapivě funkční build Firefoxu, který běží a zatím nepadá (píšu z něj)...

Mám takový zvláštní pocit, že se věci posouvají k lepšímu :) a to v dobách předchozích pokusů se Firefox nesnažil zkompilovat stylo s pomocí LLVM a část jeho kódu nebyla v Rustu. A nějak mi přišlo jako zvyk, že čím víc je různorodých komponent, tím větší šance že to nebude fungovat jak má..

       

Hodnocení: 67 %

        špatnédobré        

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

Komentáře

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

Vložit další komentář

23.9. 19:52 aceman | skóre: 26
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Odpovědět | Sbalit | Link | Blokovat | Admin
Zvlastne, Firefox ide skompilovat aj s GCC, Clang nie je nutny. Ale Rustc ano.
okias avatar 24.9. 01:28 okias | skóre: 45 | blog: blog_
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Firefox jsem s GCC (7.2.0) kompiloval, ale pro stylo potrebuje specificky LLVM a Clang (odhaduji, ze i pro beh)
23.9. 20:14 ehm
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Odpovědět | Sbalit | Link | Blokovat | Admin
Gentoo je k hovnu. Cool nápad a všechno, ale je to k hovnu. Větší výkon je krajně sporný (a je většinou vykoupen tím kompilováním, resp. výrazně delšími časy instalace/upgradů) a jedinou výhodou pak zůstává možnost ovlivnit, co všechno se má do balíčků zakompilovat (tj. snad teoretické bezpečnostní výhody a čistější systém). K lepší praktické použitelnosti tomu chybí mnohem víc předkompilovaných balíčků než firefox-bin a libreoffice-bin. Porozhlížel bych se po něčem jako je Arch nebo Sabayon.

Pokud ti to vyhovuje, je to samozřejmě tvoje věc, ale racionální význam to podle mě moc nemá.

me former gentooist
23.9. 20:35
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Ok, jaká ještě jiná distribuce dnes odolává systemd?
23.9. 21:00 ehm
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Tu máte, račte si kliknout, velebnosti.
24.9. 23:01 Lorenz
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Slackware.
23.9. 22:23 Ivorne | blog: Ivorne
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Možnost ovlivnit, co všechno se jak zkompiluje, je dost zásadní argument pro gentoo. To taky zahrnuje možnost vybrat si grafické prostředí, init systém, zavaděč, způsob sestavování kernelu a jeho konfiguraci a tak. Druhý argument pro mě je, že je fakt snadné tam zkompilovat jakékoliv zdrojáky. Na Ubuntu jsem měl problém s tím, že co není v repozitáři, nebo to nemá udržovaný deb balík (což je dnes sice běžné, ale není to u všeho), to jsem nebyl schopný zkompilovat ze zdrojáků. Na gentoo se nebojím naklonovat nějaké zdrojáky z githubu a zkompilovat je, protože vím, že už mám připravené celé prostředí pro kompilaci všeho možného. To s těmi binárními balíky je dobrá připomínka, to je asi zase dobrý argument pro Arch. Ale mě osobně by stačilo přidat webkit, boost a pár dalších a byl bych spokojený.
24.9. 00:22 ehm
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
co všechno se jak zkompiluje, je dost zásadní argument pro gentoo
Nejsem si tím tak jistý. Při stavbě systému skutečně na míru, kdy se admin bude snažit mít vše pod maximální možnou kontrolou, to výhoda je, ale množství investovaného času by bylo fakt obrovské. Přijde mi, že ty případy, kdy je potřeba něco nakonfigurovat zcela na míru, jsou minimální a týkají se spíše kernelu a izolovaných balíků. Pletu se?
vybrat si grafické prostředí
To je možné všude. V nejhorším se to dá přepnout po instalaci (taky se mi nelíbí odinstalovávat něco v „čisté“ instalaci systému, ale dá se to), ale aspoň z těch větších/rozšířenejších DE (Gnome, KDE, Xfce) je většinou na výběr předem (pokud se to instaluje implicitně).
init systém
Taky se mi líbí, že v Gentoo je pořád doporučený OpenRC místo systemd. Ale jde to řešit i jinak – jako jediný důvod pro používání Gentoo by mi to asi nepřišlo.
zavaděč
Pořád Gentoo handbook zmiňuje jako alternativu LILO? :-) Nevím, nepovažuji za důležité. Pokud by mi na tom hodně záleželo, tak by taky nebyl problém to po instalaci distribuce přehodit.
způsob sestavování kernelu a jeho konfiguraci
V Gentoo je to samozřejmější, ale opět to jde i jinde.
Druhý argument pro mě je, že je fakt snadné tam zkompilovat jakékoliv zdrojáky. Na Ubuntu jsem měl problém s tím, že co není v repozitáři, nebo to nemá udržovaný deb balík (což je dnes sice běžné, ale není to u všeho), to jsem nebyl schopný zkompilovat ze zdrojáků. Na gentoo se nebojím naklonovat nějaké zdrojáky z githubu a zkompilovat je, protože vím, že už mám připravené celé prostředí pro kompilaci všeho možného.
Nestačilo by si takové prostředí připravit i jinde?

Mně Gentoo přijde jako taková fundamentalistická distribuce, ze které aby člověk vytěžil maximum, musí se tomu fakt intenzivně věnovat a vyžaduje to tvrdý skill. Ze studijního hlediska (pokud je cílem víc porozumět vnitřnostem GNU/Linuxu) to smysl asi dává a když to člověk konečně nainstaluje, je to fakt dobrý pocit, ale... stojí to za to?

Pokud někdo přijde s tím, že spravuje servery, kde si potřebuje kompilovat custom kernel, web server, nějakou databázi apod., což je v Gentoo mnohem jednodušší než jinde, kompilace těchto balíků je časově (zvlášť na výkonném železe) úplně v pohodě a i kdyby nebyla, tak to může zkompilovat na jednom stroji a pak to přenést na další formou binárního updatu, tak ano, tam Gentoo smysl fakt dává.

Pokud má někdo zajištěné živobytí a dostatek volného času a vnitřně ho uspokojuje svému systému na vysokou míru rozumět, ale ne tolik, aby si stavěl vlastní distribuci nebo psal vlastní OS, tak asi taky.

V jiných případech mi to prostě fakt přijde nepraktické a je to spíš takový dost náročný koníček. A čím víc se požadavky na systém mění (což se u desktopu často děje, že člověk zkouší/potřebuje různé programy, a tak), tím je to horší. Poslední, co chci, je pokazit si systém před deadline, takže do toho vstupují mnohem ostřejší požadavky na pořizování snapshotů atp. U binárního distra by za dobu než se překompiluje kompletní SW výbava Gentoo byla hotová čistá reinstalace, doinstalování balíků a obnovení dat a konfiguráků ze záloh.
23.9. 22:51 Dirka | skóre: 14 | blog: dirka12345
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Jiste, gentoo je proste na hovno. No jo, ale co udelas, kdyz potrebujes v rolling distru starsi verzi nake app vcetne zavislosti? Osobne vidim tech duvodu proc pouzivat gentoo vic ... na zaloznim (rozumej starym) notasu mam treba Artix (Arch-based), takze nemam problem ani s tim, ale gentoo je proste gentoo.
24.9. 00:44 ehm
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Pokud tomu správně rozumím, tak jsem částečně odpověděl v #16 (ad dependency hell).
24.9. 10:11 Dirka | skóre: 14 | blog: dirka12345
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Mel jsem na mysli neco jinyho, na gentoo muzes mit vedle sebe treba python 2.7, 3.4, 3.5 a 3.6 nebo verzi app x a verzi y (samozrejme to nejde vzdy). Toto je u rolling distra budto hodne komplikovany nebo zcela nemozny.
24.9. 11:15 ehm
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Pravda. To by ale pořád mohlo být řešitelné i na binárním distru, ne? Tím netvrdím, že nějaké takové v současnosti existuje.

Tou nutností kompilace mi to přijde hrozně zabité zvlášť na laptopech. Při provozu na baterii to může být hodně nepříjemné. Snad mít pro takové případy připravený Debian v chrootu?
23.9. 23:00 KS | skóre: 10 | blog: blg | Horní polní u západní dolní
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Nedivím se, že se vývojářům Gentoo nechce připravovat binární balíky a dělat tak z Gentoo úplně jinou distribuci. Na druhou stanu si z Gentoo může udělat binární distribuci každý sám. Když se přidá FEATURES="buildpkg" do make.conf, z každého emergnutého balíku se vytvoří binární balík a lze tak "svou distribuci" instalovat na další stoje bez kompilace.
Pochybnost, nejistota - základ poznání
24.9. 00:36 ehm
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Ne tak docela. Musíš se vzdát optimalizací přímo pro konkrétní procesor. Jádro musíš kompilovat buď na každém stroji zvlášť, nebo do něj zahrnout podporu pro hardware ze všech strojů (jasně – stačí moduly, ale musíš na to myslet). Použití balíků se taky může mírně lišit. Zase to musí být sjednocení množin, nebo to mít jako výjimku a řešit to odděleně.

Nakonec tam rozdíl proti té binární distribuci moc není, ne? Nestačila by tedy binární distribuce, kde si navolíš jednotlivé komponenty (init systém atp.), snadno překompiluješ to, co si potřebuješ překompilovat, a jinak si nainstaluješ binárního balíky? (A samozřejmě vyřešené dependency hell, a tak. Nejsem zrovna příznivcem sdílených knihoven apod.)
24.9. 00:50 KS | skóre: 10 | blog: blg | Horní polní u západní dolní
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Samozřejmě se tak nevytváří obecná distribuce, ale třeba pro Raspberry Pi a podobné věci je to super věc.
Pochybnost, nejistota - základ poznání
Grunt avatar 24.9. 15:42 Grunt | skóre: 22 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Nestačila by tedy binární distribuce, kde si navolíš jednotlivé komponenty (init systém atp.), snadno překompiluješ to, co si potřebuješ překompilovat, a jinak si nainstaluješ binárního balíky?
A ta distribuce se jmenuje? Já používám od odchodu z Gentoo binární distribuce několik roků, jenže vždy narazím na problém že prostě ať se snažím jak chci, vždycky si musím něco dokompilovat (když už je něco ve verzi jakou potřebuji, zas to není v konfiguraci jakou já potřebuji). /usr/src bobtná, bobtná až se to prostě stane neúnosné. V Gentoo se o ten kompilační subsystém aspoň něco stará. Pokud by něco mezi Gentoo a binární distribucí existovalo, bral bych to všemi deseti, ale co moje znalost sahá, nic takového neexistuje.
Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
24.9. 16:26 ehm
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Taky o žádné nevím. To ale nevypovídá tolik o dokonalosti Gentoo jako o tristním stavu linuxových distribucí obecně. Je to pak jen o volbě menšího zla.
Acci avatar 24.9. 18:46 Acci | skóre: 3 | blog: Jen na chvíli…
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Je to v dnešní době ale ještě vůbec potřeba řešit? Pokud budu potřebovat nějakou speciální verzi, tak si ji rozjedu v Dockeru nebo jiné kontejnerizaci. S novým notebookem plánuju většinu CLI aplikací mít v kontejnerech.
24.9. 19:25 ehm
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Přidává to zbytečně další vrstvu. Nakonec to bude čistější než dělat nějaké šílené hacky, ale jinak je to bída.
Grunt avatar 23.9. 23:21 Grunt | skóre: 22 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Gentoo je k hovnu.
A přesto má svou věrnou uživatelskou základnu a překvapivé procento ho dokonce provozuje na laptopu. Možná milý anonyme tvé predikce nejsou zas tak světoborné. A nebo tady prostě nikoho nezajímají.
Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
23.9. 23:40 ehm
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Říká člověk, co ve vedlejším threadu vyblije sérii závistivých komentářů a Gentoo ani neumí používat.
Grunt avatar 23.9. 23:51 Grunt | skóre: 22 | blog: Expresivní zabručení | Lanžhot
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Přesně ten kapitáne. Furt jeden a ten samý.
Na co 64-bitů když to jde i s jedním? | 80.78.148.5 | Hack (for) free or Die Hard!
okias avatar 24.9. 01:39 okias | skóre: 45 | blog: blog_
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Ten racionalni vyznam, to je presne duvod proc jsem puvodne od Gentoo odesel.

Kazdopadne pouzivani KDE Neon, ktere je postavene na Ubuntu 16.04 me po cca roce vylecilo z predstavy, ze je Gentoo na nic.

Stacilo chtit si nainstalovat posledni vyvojovou mesu (protoze ta Mesa z Ubuntu nejak zlobila s Inteli grafikou). Mesa by byla v poradku, ale do toho jeste priinstalovat vyvojove VLC 3.0.0 z repozitare uz neslo, protoze verze knihoven nesedely.

A to jsem chtel jednu vec jinak, nez jak je zvykem. Tzn. v mem pripade, kdy si obcas chci nainstalovat software, ktery prave vysel a obcas vyzaduje i novejsi knihovny je klasicka distribuce bohuzel nepouzitelna (balicky jsou linkovane vzdy proti verzim v distribuci a uz ne proti tem alternativnim - novejsim, ktere si nainstaluji)
24.9. 11:35 ehm
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
To potvrzuje mou obavu z #16. Bordel ve sdílených knihovnách, a tak. :-/

To je defekt asi většiny binárních distribucí. Ale řešitelné by to bylo i tam, není potřeba kvůli tomu mít celou distribuci source-based. (Ale pokud jiná volba moc není, tak chápu, že to Gentoo tohle řeší.)
24.9. 22:50 pedro
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Nejde o vyssi vykon, jde o moznost volby mezi verzemi knihoven programu.
23.9. 22:03 KS | skóre: 10 | blog: blg | Horní polní u západní dolní
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Odpovědět | Sbalit | Link | Blokovat | Admin
A jak funguje zvuk, přes PulseAudio?
Pochybnost, nejistota - základ poznání
23.9. 23:36 Spokojený uživatel Gentoo
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
To záleží na osobních preferencích. Chceš Pulse audio? USE="pulseaudio" Nechceš? USE="-pulseaudio" A tak je to se vším, Gentoo dává možnost výběru na vše.
24.9. 00:00 KS | skóre: 10 | blog: blg | Horní polní u západní dolní
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Pochybnost, nejistota - základ poznání
24.9. 23:33 Lorenz
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Lol, to jsou zase vyzivne tickety:
> Regrettably, I have almost a dozen machines all with ALSA-only audio
> backends and all of them with Telemetry turned off.

Telemetry informs our decisions. Turning it off is not without disadvantage.

- Anthony Jones, Manager of Platform Media Playback at Mozilla Corporation

To zni skoro jako epitaf.
okias avatar 24.9. 23:52 okias | skóre: 45 | blog: blog_
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Ocividne lidi z Mozilly chteli zacit pouzivat pokrocilejsi funkce, ktere ALSA primo nenabizi (at uz z duvodu ze je soucast kernelu a nebo proto ze ma malo vyvojaru - viz changelog jadra).

Pulseaudio uz vyrostlo z vetsiny svych porodnich bolesti a rekneme, ze je to dneska dostupna komponenta, ktera resi vetsinu potreb linuxoveho sveta.

Pokud se nekomu PA nelibi, at si napise jineho demona nad ALSA stackem, ale bude docela boj ho odladit, prosadit do distribuci a presvedcit lidi, aby ho zacli pouzivat. Pulseaudiu se uz tohle pomerne podarilo.

Jestli ma nekdo napady jak tyhle veci udelat lepe nez jak je tomu v Pulseaudiu, doporucuji zacit aktivne spolupracovat na vyvoji PipeWire [1], ktery nas zrejme v distribucich pouzivajicich Wayland zrejme nemine..

[1] https://www.root.cz/clanky/pipewire-nastupce-pulseaudio-se-postara-i-o-video/
Heron avatar 25.9. 09:59 Heron | skóre: 51 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Tohle je teda super přístup ;-)
"Chceme ALSA."
"Nevedeme. Pokud nechcete PA, tak si napište něco jiného nad alsou."
28.9. 14:18 Spokojený uživatel Gentoo
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Právě jsem nainstaloval Firefox 55(mi stačí poslední verze v Portage, nemusím mít beta z gitu) bez PulseAudio USE="-pulseaudio" a jedu na Alse se zvukem. Ty bugy, které jsi postl, se týkají binárních balíčků od Mozzily se zapnutým Pulse Audio.
28.9. 14:22 Spokojený uživatel Gentoo
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
A pokud novější verze bez Pulse nepojedou se zvukem, tak zůstanu u poslední co pojede s Alsou.
29.9. 12:26 KS | skóre: 10 | blog: blg | Horní polní u západní dolní
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Díky za info.
Pochybnost, nejistota - základ poznání
23.9. 23:55 Dirka | skóre: 14 | blog: dirka12345
Rozbalit Rozbalit vše Re: Firefox 57 na Gentoo aneb kolik dní jsem kompiloval
Jinak na gentoo jde pouzit i apulse, coz je proste wrapper tvarici se jako pulseaudio, ale pouzivajici alsu. Gentoo je proste gentoo a zaroven gentoo neni pouze gentoo.

Založit nové vláknoNahoru

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