Portál AbcLinuxu, 12. května 2025 09:28

Dotaz: Kompilace programů

29.7.2016 09:45 Jack Hokus | skóre: 34 | blog: LostHeaven
Kompilace programů
Přečteno: 408×
Odpovědět | Admin
Ahoj,

před časem jsem tu na blogu psal o tom, že zkusím přejít na FreeBSD. Základní přechod se mi zdařil, ale ještě nikdy jsem nepracoval v systému se jenž se sestavuje se zdrojových kódů, takže bych měl teoretický dotaz.

Řekněme, že se chystám kompilovat se zdrojového kódu nějaký velký program, třeba Libreoffice a chtěl bych si jej sestavit tak, aby obsahoval pouze věci nezbytné pro kompilaci Writeru a Calcu, protože se jej chystám použít pouze na psaní textu a tabulek a nic dalšího.

Prosím, berte tento post z jistou rezervou, systém kompilovaný se zdrojového kódu je pro mne nový svět a zatím se v něm nevyznám, takže uvítám i jakoukoli relevantní informaci. Rovnou chci říct, že se neženu za rychlostí systému dosaženou pomocí nějaké krkolomné optimalizace pro daný HW. Můj cíl je mít v systému minimum nepotřebných prvků.

Vím, že nejsem moc konkrétní, ale to je dané tím, že se v potřebuju nejdřív zorientovat v tom, co se s tím dá dělat a potom už nebude problém.

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

Odpovědi

AraxoN avatar 29.7.2016 10:21 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: Kompilace programů
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ak FreeBSD má balíčky, držal by som sa ich. Ručné kompilovanie je pracné, takže ručne kompilované veci majú tendenciu ostávať na starej verzii, v ktorej medzitým mohli byť objavené závažné bezpečnostné chyby.
29.7.2016 11:01 Jack Hokus | skóre: 34 | blog: LostHeaven
Rozbalit Rozbalit vše Re: Kompilace programů
Ahoj,

FreeBSD, samozřejmě balíčky má a krom toho umožňuje i celkem bezproblémovou instalaci ze zdrojových kódů. Prostřednictvím portů lze naopak získat novější verze, než jsou k dispozici v balíčcích

Děkuji

Petr
http://www.jackhokus.cz/
29.7.2016 12:09 Ignotus | skóre: 10
Rozbalit Rozbalit vše Re: Kompilace programů
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj,
Řekněme, že se chystám kompilovat se zdrojového kódu nějaký velký program, třeba Libreoffice a chtěl bych si jej sestavit tak, aby obsahoval pouze věci nezbytné pro kompilaci Writeru a Calcu, protože se jej chystám použít pouze na psaní textu a tabulek a nic dalšího.
na toto potrebuješ mať stiahnutý tzv. ports tree. Ak si nemenil predvoľby inštalácie, bude dostupný v adresári /usr/ports/ . Pre zistenie, kde hľadať konkrétny program, stačí príkaz echo */nazov-programu (treba spúšťať z /usr/ports/).

Pri hľadaní libreoffice dostaneš síce niekoľko adresárov, kde sa tento nachádza, ale po vylúčení všetkých s lokalizáciou získaš jediný - /usr/ports/editors/libreoffice.

Na úpravu konfiguračných parametrov slúži make config - ale zabudni na veci ako chcem calc, writer, a nič iné - takto to nefunguje.

Po make config už stačí make install clean, ktorý program skompiluje, nainštaluje a vyčistí pracovný adresár. Taktiež, ak program vyžaduje nejaké závislosti, skompiluje a nainštaluje aj tieto. Samozrejme sa ťa opýta na konfiguračné predvoľby (ak ich závislosť obsahuje).

Kvôli aktualizáciám odporúčam nainštalovať subversion (/usr/ports/devel/subversion/) a zmeniť celé /usr/ports na repository (ako zdroj môžeš použiť napríklad https://svn.freebsd.org/ports).
Prosím, berte tento post z jistou rezervou, systém kompilovaný se zdrojového kódu je pro mne nový svět a zatím se v něm nevyznám, takže uvítám i jakoukoli relevantní informaci. Rovnou chci říct, že se neženu za rychlostí systému dosaženou pomocí nějaké krkolomné optimalizace pro daný HW. Můj cíl je mít v systému minimum nepotřebných prvků.
Na takéto vypiplanie je dobé si skompilovať vlastné jadro. Keďže píšeš, že nemáš záujem, nebudem sa tým teraz zaoberať, ale je to možno ešte jednoduchšie ako vyššie uvedený postup. Keby si na to odhodlal, napíš, poradím.

No a posledná vec, všetky tieto veci sú uvedené na https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ports-using.html, respektíve https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/kernelconfig.html
29.7.2016 13:00 Jack Hokus | skóre: 34 | blog: LostHeaven
Rozbalit Rozbalit vše Re: Kompilace programů
Zdravím,

moc děkuju za odpověď, nějaké základy práce s porty mám v současné době mám na v počítači dva hdd na jednom je stabilní instalace FreeBSD z balíčků na kterou nesahám a na druhém disku mám testovací instalaci, kterou jsem si instaloval z portů. Takže strom portů mám nainstalovaný, aktualizaci provádím přes portsnap, tedy portsnap fetch, portsnap update. Pokud jde o instalaci programů z portů, tak cd /usr/ports/sysutils/htop; portmaster -d. Příkaz make-config už jsem také potkal.

Děkuju moc

Petr
http://www.jackhokus.cz/
29.7.2016 14:39 Ignotus | skóre: 10
Rozbalit Rozbalit vše Re: Kompilace programů
Ahoj,
nějaké základy práce s porty mám
Hm, to ma mrzí, v tom prípade ti moja odpoveď nepomohla ...
v současné době mám na v počítači dva hdd na jednom je stabilní instalace FreeBSD z balíčků na kterou nesahám a na druhém disku mám testovací instalaci, kterou jsem si instaloval z portů.
Lepšia alternatíva (ak to stroj utiahne) by bola virtualizácia.
Takže strom portů mám nainstalovaný, aktualizaci provádím přes portsnap, tedy portsnap fetch, portsnap update.
Aj to je cesta, svn mi osobne vyhovuje viac, ale nikto ti nič nútiť nebude, máš na výber, tak tú možnosť smelo využi :)
Pokud jde o instalaci programů z portů, tak cd /usr/ports/sysutils/htop; portmaster -d
Áno, aj toto je cesta. K parametru -d, vymazávať zdrojáky po každej kompilácii by som vo fáze hrania si nerobil, zbytočne ťahať ten istý súbor zas a znova.

Každopádne, ak by niečo nebolo jasné, opýtaj sa, keď budem vedieť, poradím. Ak som prehliadol nejakú otázku, ospravedlňujem sa, mal som krátku noc a tým pádom mám dnes dlhší kábel :)

Pekný deň.
29.7.2016 16:07 Ja
Rozbalit Rozbalit vše Re: Kompilace programů
Jeste doporucuju (u tech rozsahlejsich kompilaci jako Office) volbu BATCH="yes" (snad si to pamatuju spravne), aby se ti stale nezastavovala pro nejruznejsi nastaveni, to je nekdy opruz.
smoofy avatar 30.7.2016 11:30 smoofy | skóre: 9
Rozbalit Rozbalit vše Re: Kompilace programů
Nejspise mas na mysli parametr -DBATCH ktery donuti system pouzit defaultni nastaveni. Da se vynutit defaultne pridanim BATCH=1 do /etc/make.conf. Uzitecnej muze byt i parametr "recursive" ktery zase vynuti zadat vsechny parametry jeste pred kompilaci.
Jenom absolutní kripl, zapne to, co jiný vypl.

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.