Kompilace software

Categories: Obecně

Kompilace znamená překlad zdrojového kódu do strojového kódu počítače. Kompilace je taková instalace programu „na míru“ pro daný hardware, funkční pouze na totožném hardwaru.

Ke zdrojovému kódu bývá přiložena dokumentace obsahující informace pro překlad, nastavení a používání. Tyto informace pro nás budou klíčové.

Požadavky

Pokud se hodláme pustit do kompilace nějakého softwaru, musíme pro něj zajistit závislosti v podobě vývojářských knihoven a nebo jen balíčků se softwarem, které program pro svou práci potřebuje. Postupy a balíčky jsou dle distribucí rozdílné, ale zádklad je stejný. Potřebujeme nástroj make, který kompiluje software. Někdy je potřebný také automake.

Kontrola knihoven – ldd

Důležité a závislé knihovny, zkonrolujeme s nástrojem ldd v adresáři překladovaného programu.

ldd /bin/sh

Program otestuje potřebné knihovny a jejich cesty, pokud dojde k chybě na dané knihovně, pravděpodobně chybí. Je třeba chybějící knihovny doinstalovat. Takové knihovny se na různých distribucích jmenují různě a může být problematičtější je sehnat. Doporučuji hledat informace a nebo použít správce balíčků (Debian-aptitude, Arch Linux-ncurses) pro pohodlné vyhledání.

Potřebné knihovny a závislosti hledejte v dokumentaci u zdrojového souboru, často pojmenována README.

Debian nabízí meta-balíček build-essential, který obsahuje většinu potřebných nástrojů.

Arch Linux má v repozitářích meta-balíček base-dev, který obsahuje rovněž vše potřebné.

Ladění

Ladění programů se provádí editací konfiguračního souboru Makefile, je důležité a má svůj smysl hned z několika důvodů:

  • Program poběží na jiném počítači
  • Je potřeba přizpůsobit i pro jiný hardware
  • Změna míry optimalizace
  • Výjimečně je to i jediný způsob nastavení programu

Postup

Standartním a častým postupem pro kompilace programu je prvopočátek s příkazem ./configure. Configure odhalí a nastaví potřebné závislosti v podobě knihoven, modulů a programů. Po hotovém nastavení přichází na řadu vlastní kompilace příkazem make, který provede kompilaci.

Po kompilaci je nutné program do počítače ještě nainstalovat a to buď nakopírováním vytvořených souborů na správná místa a nebo nástrojem make install, který to provede dle instrukcí přiložených ke kompilovanému programu.

  1. ./configure
  2. make
  3. sudo make install
./configure
make
sudo make install

    Napsat komentář

    Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *