Kompilace v OS: Petr Koloros

Podobné dokumenty
IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C

Instalace Debianu pomocí debootstrap

Vývoj programů. ÚVOD DO OPERAČNÍCH SYSTÉMŮ

WL-5480USB. Quick Setup Guide

Správa linuxového serveru: Kompilace softwaru prakticky

Jak funguje GNU/Linux

S2. Vytvoření Windows balíku pro vývoj na STM32 architektuře

Linux na mobilních telefonech

Rudolf Marek. Kompilujeme jádro a aplikace (Mplayer) ALL YOUR BASE ARE BELONG TO US!

1 Návod na instalaci prostředí LeJOS-NXJ a přehrání firmwaru NXT kostky

Práce s knihovnami. Karel Richta a kol. katedra počítačů FEL ČVUT v Praze. Karel Richta, Martin Hořeňovský, Aleš Hrabalík, 2016

Bc. Hynek Chmela - 1. přednáška o systému Debian Linux

Balíčkové systémy. Vlastnosti balíčkových systémů KAPITOLA 5

Instalace programového vybavení

MIKROPROCESORY PRO VÝKONOVÉ SYSTÉMY

Instalace programu ProGEO

Rocrail. Nejprve: Obecný úvod. Instalace

Téma 4: Práce s CentOS. Instalace softwarových balíčků pomocí yum

Linux CryptoFS. Petr Novický

Srovnání Linuxu a BSD z pohledu jádra. Jan Dyrczyk

Instalace RouterOS pomocí programu NetInstall

INSTALACE SW V GNU/LINUXU

Postup instalace UMTS modemu Huawei K3765 od Vodafone (SalixOS, ZenWalk, Slackware)

108Mbps Wlireless 11G+ PCI-Card. Instalační manuál P/N:

Instalace a konfigurace OpenAdmin tool na M$ a Linuxu

českém Úvod Hardware Instalace ve Windows 98SE PU006 Sweex 2 Port Serial PCI Card

PSK3-11. Instalace software a nastavení sítě. Instalace software

českém Úvod Hardware Instalace ve Windows 98SE PU007 Sweex 1 Port Parallel & 2 Port Serial PCI Card

PB071 Úvod do jazyka C

1 Správce licencí Správce licencí Správce licencí Start > Všechny programy > IDEA StatiCa > Správce licencí Soubor > Správce licencí Licence

AUTHOR : Robert Follner DATE. Abstrakt ABSTRACT: Několik poznatků autora (Robert Follner) z programování

Messenger. Novell 1.0 UMÍSTĚNÍ DOKUMENTACE K PROGRAMU NOVELL MESSENGER. STRUČ NÁ ÚVODNÍ PŘ ÍRUČ KA

NÁVOD NA OBSLUHU AKTUALIZACE SW

Quick Start Guide. Clear. Rychlý průvodce nastavením

NÁVOD NA INSTALACI KARTY PCTV USB2

1. V notebooku (v hlavním hostitelském operačním systému (MS Windows)) mít nainstalováno a nakonfigurováno:

Použití zásad skupin k instalaci klientské komponenty ESO9

Instalace TEX Live 2007 pro Windows

První kroky s METEL IEC IDE

INSTALACE DATABÁZE ORACLE A SYSTÉMU ABRA NA OS WINDOWS

Instalace webové služby Mydlinka

Instalační manuál pixel-fox

Acronis Backup Version 11.5 Update 4 INSTALAČNÍ PŘÍRUČKA. Pro Linux Server VZTAHUJE SE NA NÁSLEDUJÍCÍ PRODUKTY:

Instalační a uživatelská příručka

QuarkXPress soubor ReadMe

Postup instalace umožňující el. podpis v IS KP14+ pro webové prohlížeče Google Chrome a Firefox.

Profesionální služby kolem Linuxu

NÁVOD NA INSTALACI KARTY PCTV DELUXE

Instalace modemu AnyDATA ADU-770WH na Mac OS X

Instalace a první spuštění programu.

českém Úvod Obsah balení Technické údaje PU002 Sweex 2 Port Serial PCI Card

Linux (nejen) v Low End routerech

TMU. USB teploměr. teploměr s rozhraním USB. měření teplot od -55 C do +125 C. 26. května 2006 w w w. p a p o u c h. c o m

Paralelní výpočty na clusteru KMD

Základy programování (IZP)

AGROKONZULTA ŽAMBERK S. R. O. Popis instalace. Optimalizace krmivové základny

NAS 107 Seznámení s Control Center

Nápověda a postupy. Instalace a aktivace PDF-XChange Viewer Pro. Instalace a aktivace software. Nápověda a postupy. 1 z

českém Úvod Hardware Aktivace funkce RAID PU103 Sweex 2 Port Serial ATA RAID PCI Card

Dílčí příklady použití jazykových konstrukcí v projektu. Jazyk C Příklady. Pravidla překladu v gmake. Zadání

PSP Validator Documentation

Postup přechodu na podporované prostředí. Přechod aplikace BankKlient na nový operační systém formou reinstalace ze zálohy

Simluátor Trilobota. (projekt do předmětu ROB)

Konfigurace Nagios. Zadání: Příprava a prvotní problémy: Instalace a konfigurace serveru:

Acronis Backup Advanced Version 11.7

Instalace MS SQL Server 2005 a nastavení programu DUEL pro síťový provoz

PU001 Sweex 1 Port Parallel PCI Card. Pokud by některá z výše uvedených částí chyběla, obraťte se na svého dodavatele.

Administrace Unixu a sítí

Nastavení tiskárny pro tisk štítků Geis Str. 1/16

Aktualizace softwaru Uživatelská příručka

Návod k obsluze. Platforma RouterBoard s přeinstalovaným RouterOS Mikrotik. i4wifi a.s.

Středisko UN*Xových technologií

Instalace nvidia Optimus v Ubuntu 14.04

Základy programování (IZP)

Software. Mgr. Krejčí Jan (UJEP) Software 23. října / 6

Operační systémy Linux, Mac OS X a jejich srovnání

Přihlášení do VPN Univerzity Pardubice Debian GNU/Linux Lenny 32/64-bit

Implementace LMS MOODLE. na Windows 2003 Server a IIS 6.0

QuarkXPress soubor ReadMe

Obsah. 1) Rozšířené zadání 2) Teorie zásuvných modulů a) Druhy aplikací používajících zásuvné moduly b) Knihovny c) Architektura aplikace d) Výhody

úvod Historie operačních systémů

Firmware USBasp pro modul AVRUSB. Milan Horkel. Parametr Hodnota Poznámka. Rozhraní USB Low Speed. Procesor ATmega8 ATmega88 Varianty překladu

Instalační manuál pixel-fox

Svazky LVM vs. Standardní rozdělení disků

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Jak na speciální klávesy v Linuxu

Software. RNDr. Krejčí Jan, Ph.D. 5. listopadu RNDr. Krejčí Jan, Ph.D. (UJEP) Software 5. listopadu / 6

w1se elektronické bankovnictví pro korporátní klienty v rámci portálu ebankingforbusiness

Users manual for IMCF BIOCEV booking system new planning board

Jak importovat profily do Cura (Windows a

Uživatelská příručka

11. Přehled prog. jazyků

NWD310N. Příručka k rychlé instalaci. Bezdrátový PCI adaptér N. Verze 1.00 Vydání 1 Říjen Copyright Všechna práva vyhrazena.

Program usbradonview Návod k obsluze

Porn Detection Stick. Návod k použití. Hlavní výhody produktu:

Návod k obsluze IP kamery Zoneway. IP kamery jsou určené pro odbornou montáž.

Připojení k bezdrátové síti eduroam na VFU Brno s mobilním telefonem se systémem Android

Uživatelská příručka pro Mac

Návod pro připojení k síti VŠPJ prostřednictvím VPN Vysoká škola polytechnická Jihlava

Transkript:

Kompilace v OS: GNU Linux Petr Koloros

Kompilace Část první Co je to kompilace Petr Koloros

Proč kompilovat Ne vše je v balíčcích Někdy můžete chtít lepší optimalizaci programu Nebo se vyhnout některým závislostem Pokud programujete, nic jiného vám nezbývá Kompilování je zábava.. zpočátku

Co je to kompilace Sestavení programu ze zdrojových kódů.. stejně jako sestavení skladeb na CDčku Počítač musí přeložit program do binární formy Většina balíčků je již v binární formě Většina programů je ve zdrojovém kódu Takže lidi z vaší distribuce kompilují za vás.. a opravují chyby v programech

Jak to funguje... Soubor.c Soubor.h Soubor.h Přeložený soubor.o obdžekt fajl zdrojáci 1. Přeložení zdrojového kódu gcc -C soubor.c soubor1.h soubor2.h -o soubor.o

Jak to funguje... Soubor.c Přeložený Přeložený soubor.o soubor.o Soubor.h Soubor.h Přeložený Knihovny soubor.o.so nebo.a s funkcemi Výsledný soubor 2. Linkování přeloženého kódu gcc soubor.o soubor2.o -lknihovna -o soubor

Hromadná kompilace Kompilace ve větším množství než malém vyžaduje větší množství řádek,..kdo by to psal.. Proto existují skripty (Makefile), které provedou celou kompilaci Pouští se příkazem make Make si hlídá, co už je zkompilováno a co ne Při změně souboru kompiluje jen to, co je třeba

Kompilace na různých strojích Aplikace většinou závisejí na ostatních Není třeba psát, co je napsáno. Je třeba to využít Ne všichni mají nainstalované potřebné programy, knihovny a jejich verze. Většina aplikací si nejdřív zjistí, co má k dispozici Když něco postrádá, dá vědět Tento test zajišťují nástroje autotools

Autotools Programy vytvořené s podporou autotools obsahují: configure skript ke zjištění situace Makefile configure vytvoří tento předpis pro kompilaci config.log zde jsou podrobné výsledky skriptu configure

Jak kompilovat.. Rozbalíme aplikaci a vlezeme do ní: tar xzvf aplikace.tar.gz cd aplikace Zkonfigurujeme./configure [parametry] Přeložíme make Nainstalujeme make install

Kompilace.. a žili šťastně až do smrti Petr Koloros

Kompilace Část druhá Jak co nastavit Petr Koloros

Nastavení kompilace Kompilátor gcc má různé parametry: Optimalizace pro architekturu -march=i686 (athlon, pentium4, k6, i386,..) Optimalizace obecně -O3 (-O2, -O6, -On) Využití registrů při aritmetice (rychlejší) -fforce-addr, -force-mem Nenechávání frame pointeru v registrech -fomit-frame-pointer

Nastavení kompilace Parametry gcc při použití autotools lze specifikovat pro celou kompilaci, pro jazyk C: CFLAGS= -O3 -march=i286 -fforce-magic./ configure Pro C++ se to dává do CXXFLAGS Pro preprocesor (příprava před kompilací) použijeme CPPFLAGS

Nastavení linkování Pro linkování platí totéž v bledě modrém: LDFLAGS= -s -Wl,parametry linkeru./configure -s odstraní ladící informace z výsledného souboru -Wl pošle následující parametr přímo linkeru parametry linkeru (v nápovědě příkazu ld) Celkem tedy: CFLAGS= -O3 -march=i286 -fforce-magic CXXFLAGS= -O3 -march=i286 -fforce-magic LDDFLAGS= -s -Wl,-z,combreloc./configure

Nastavení cest parametr -L znamená, kde se mají hledat knihovny parametr -I zase, kde se mají hledat headery do LDFLAGS lze vložit i pokyn k linkování knihovny (-lknihovna pro libknihovna.so) V praxi: CFLAGS= -I/opt/video/include LDFLAGS= -L/ opt/video/lib./configure

Jak nastavit cesty obecně Knihovny Přidat adresáře s knihovnama do /etc/ld.so.conf Použít LDPRELOAD proměnou prostředí Použít PKG_CONFIG_PATH (nastavení pro utilitu pkg-config) Binárky Stačí aby v PATH byla cesta do adresáře aplikace se spustitelnýma souborama Instalace --prefix u configure

Kompilace Část třetí Nastavení autotools Petr Koloros

Nastavení autools Nápověda:./configure --help Příklad./configure --prefix=/opt/program --enable-ssl with-knihovna-lib=/opt/knihovna2/lib --withknihovna-include=/opt/knihovna2/include

Nastavení autools Parametry configure: --prefix kam se to má nainstalovat --enable-něco zapne podporu něčeho --with-něco-prefix kde hledat něco --with-něco-lib kde hledat knihovny něčeho --with-něco-include -.. pro headery...

Kompilace Část třetí Z praxe Petr Koloros

Co dělat, když to nefunguje Google Přečíst si co to hlásí Zařídit se podle toho Přítel na telefonu

Configure nenajde knihovny Analýza Zkontrolovat parametry configure Podívat se do config.log Řešení Použít vhodný parametr configure Přidat parametr pro hledání knihoven, headerů (CFLAGS= -Icesta.. LDFLAGS= -Lcesta..)

make nenajde symboly Analýza Kde se symboly vyskytují (příkaz nm knihovna.so) Co chybí, aby byly nalezeny (-lknihovna, novější verze knihovny) Řešení Přidat knihovnu, pokud chybí (nejlépe parametrem v configure (LDFLAGS, --with-*)) Zkusit pogooglit nebo rovnou novější knihovnu

Chyby v programech, nekompat. Analýza Hlásí to chybu při překladu Člověk koukne a vidí, že je chyba v programu Řešení Zkusit trasovat zdroják, kde je co špatně Google Zkusit chybu opravit (pomůže zkušenost)

Divné chyby pomůže zkušenost Google rulez

Chyba v uživateli Snaží se kompilovat opilý Nepřečte si návod (README, INSTALL) Některé programy se nekompilují pomocí./configure && make && make install Např. mozilla/firefox, gcc, perl,..

Kompilace Část čtvrtá Automatizace a ulehčení Petr Koloros

Automatizace, distro Gentoo používá skripty, které: Stáhnou tarball (zabalený zdrojový kód) Rozbalí a aplikují patche Zkonfigurují a zkompilují a nainstalují dle obecných parametrů Jednoduché ovládání (emerge aplikace) Řeší závislosti Gentoo rulez

Automatizace, homemade, SiLK Vychází z konvencí distra Sinux (adr. /opt) Parametry kompilace se zadají jen jednou Automaticky tvoří záznam o změnách Deinstalace pomocí příkazu rm -r /opt/aplikace Instalace pomocí cp, tar Ovládání dle přání Závislosti si řeším sám = nejlepší volba Uživatel rulez, ale chce to trošku času

Kompilace na více strojích (distcc) Nainstalujem distcc a jedem.. Stačí mít kompatibilní gcc na obou stranách Umí tcp, ssh, udp spojení Významně urychluje kompilaci Vyžaduje rychlou síť (přes wifi jsem nezkoušel) Občas to nedotáhne do konce (chyba uživatele?)

Kompilace Část pátá Balíčky Petr Koloros

Jak vytvořit balíček Tarball: make dist Slackware Dát před make DESTDIR=cesta a pak to zabalit Debian Speciální adresář s popisnými soubory dpkg -b... Gentoo ebuild čistě popisný skript, zdrojáky se používají, jak jsou.

A problem has been detected and Windows has been shut down to prevent damage to your computer. PFN_LIST_CORRUPT If this is the first time you've seen this error screen, restart your computer. If this screen appears again, follow these steps: Check to make sure any new hardware or software is properly installed. If this is a new installation, ask your hardware or software manufacturer for any Windows updates you might need. If problems continue, disable or remove any newly installed hardware or software. Disable BIOS memory options such as caching or shadowing. If you need to use Safe Mode to remove or disable components, restart your computer, press F8 to select Advanced Startup Options, and then select Safe Mode. Technical information: *** STOP: 0x0000004e (0x00000099, 0x00000000, 0x00000000, 0x00000000) Beginning dump of physical memory Physical memory dump complete. Contact your system administrator or technical support group for further assistance.

Středisko UN*Xových Technologií Pořádné operační systémy