Hvis du arbejder på en pakkebaseret Linux-installation (for eksempel
Debian, Mandrake, Red Hat eller SuSE), bør du så vidt muligt bruge systemets pakkehåndtering til at installere programmerne.
Eksempel A-1. Installation af pakker på et Debian-baseret system
Hvis du kører et Debian-baseret system, og der i en
installationsvejledning her i bogen står at du på Debian-systemer har brug for en pakke ved navn "eksempel", skulle de følgende to kommandoer installere pakken på dit system.
hven%su -Password:hven#apt-get updatehven#apt-get install eksempelhven#exithven%
Eksempel A-2. Installation af pakker på et RPM-baseret system
Hvis du kører et RPM-baseret system med en 32-bit Intel-kompatibel
processor, og der i en installationsvejledning her i bogen står at du på RPM-baserede systemer har brug for en pakke ved navn "eksempel", skal du ud og lede efter en fil ved navn "eksempel-<tal>.i386.rpm" (hvis du kører på en anden processortype, erstattes "i386" med en tilsvarende streng for den processor). Hvis du er heldig, findes filen på en af dine Linux-cd-rom'er, og ellers må du ud på nettet og lede. Når du har fundet filen, så skulle den følgende kommando installere pakken på dit system.
hven%su -Password:hven#rpm --upgrade eksempel-<tal>.i386.rpmhven#exithven%
Det kan her ske at systemet brokker sig over at der mangler nogle pakker
som denne pakke har brug for. Dem bliver du i så fald nødt til at installere først.
Eksempel A-3. Installation af “.tar.gz”-filer
Hvis du kun kan finde en pakke med et program i form af en “.tar.gz”-fil,
bør du strengt taget pakke det om til en pakke af den type dit system bygger på. Du kan se hvordan det gøres i afsnit ... (Debian-pakker) eller afsnit ... (RPM-pakker). Hvis vi vil springe den ideelle løsning over og bare installere programmet i en fart, kan det normalt klares med den følgende række kommandoer (vi antager at pakken hedder "eksempel-0.3.1.tar.gz").
hven%tar xzvf eksempel-0.3.1.tar.gzeksempel-0.3.1/COPYRIGHT eksempel-0.3.1/configure ...hven%cd eksempel-0.3.1/hven%./configure && make && echo O.k.... O.k.hven%su root -c 'make install && echo O.k.'Password:... O.k.hven%make clean...hven%cd ../hven%rm -rf eksempel-0.3.1/
Kort fortalt sker der følgende: Pakken pakkes ud
( **tar** ), sættes op ( **./configure** ), oversættes ( **make** ), installeres ( **make install** ), og til sidst ryddes der op.
For at komme i gang med at programmere i Ada på Linux skal du blot
installere GNU Ada oversætteren (GNAT), men der er et bredt udvalg af andre pakker man med fordel kan installere til forskellige specielle formål.[[program:program-installation#ada-pakker|Tabel A-1]]indeholder en oversigt over de vigtigste pakker fordelt på de opgaver de er relevante til. Hvis du kører SuSE, Red Hat eller en lignende RPM-baseret distribution, bør du kunne finde alle de relevante pakker hos "Ada for Linux Team" (ALT) på[http://dk.gnuada.org/alt|http://dk.gnuada.org/alt].
Bemærk at de aktuelle ALT-pakker ikke kan bruges sammen med Red Hat
8.0-pakkerne, så hvis man bruger "gcc-gnat" og "libgnat" fra Red Hat 8.0, vil man være nødt til selv at oversætte alt det tilbehør som ALT ellers har pakket. Desuden er der (blandt andet) fejl i matematikbiblioteket der kommer med Red Hat 8.0-pakkerne.
Tabel A-1. Pakker til programmering i Ada
| Opgave | Debian-pakker | Red Hat 8.0-pakker | RPM-pakker fra ALT | ||||
|---|---|---|---|---|---|---|---|
| Generel Ada-programmering. | gnat, gnat-runtime | gcc-gnat, libgnat | gnat, gnat-runtime | ||||
| Distribuerede programmer. | gnat-glade | ? | gnat-glade | ||||
| Programmer der kan køre på en “Java Virtual Machine” (JVM). For eksempel småprogrammer (engelsk: “applets”) der skal køre i en webside. | jgnat (samt en JVM, se afsnit …) | ? (samt en JVM, se afsnit …) | jgnat (samt en JVM, se afsnit …) | ||||
| Grafiske programmer der også umiddelbart kan oversættes til andre styresystemer. | GtkAda, GtkAda-runtime (samt GLADE, seAfsnit A.9) | ? (samt GLADE, seAfsnit A.9) | GtkAda, GtkAda-runtime (samt GLADE, seAfsnit A.9) | ||||
Eksempel A-4. Oversætte og køre “smart.adb”
Kildeteksten til programeksemplet “smart.adb”
kan findes i bogens eksempelsamling ([http://www.linuxbog.dk/program/eksempler/smart.adb|http://www.linuxbog.dk/program/eksempler/smart.adb]). Det kan oversættes med kommandoen:<code>linux%gnatmake -m smart -cargs -gnatv -gnati1 -gnatf -gnato -fstack-checkgnatgcc -c -gnatv -gnati1 -gnatf -gnato -fstack-check smart.adb
GNAT 3.13p (20000509) Copyright 1992-2000 Free Software Foundation, Inc.
Compiling: smart.adb (source file time stamp: 2003-01-10 20:43:30) 130 lines: No errors gnatbind -x smart.ali gnatlink smart.alilinux%</code>
Man kan også nøjes med gnatmake smart , men det
er ikke ideelt, da der så er en del nyttige tjek der bliver fjernet fra programmet. Det oversatte program skulle nu gerne findes som **smart** i samme katalog, så du kan køre det sådan her:<code>linux%./smart-- Sætter porten til 2#1000000# --
Hej – Sætter porten til 2#1100000# –
– Sætter porten til 2#10000# – Ver – Sætter porten til 2#100000# – denlinux%</code>
Da programmets to tråde ikke snakker med hinanden undervejs, kan du
ikke være sikker på at teksterne bliver blandet præcis som ovenfor.