Nada

2D1358 OOPK period 4 98/99 för B,F,I,K,L,M,T,V
Möjligheter att arbeta hemma

Om du har en PC med Linux

Flera av laborationerna kräver paketet Grain. På en Linux-maskin är det antagligen ganska lätt att kompilera och installera. Det finns dock inte någon färdigkompilerad fil att hämta, och vi har tyvärr inte resurser i år att hjälpa till med eventuella installationsproblem. Lite tips kan vi dock ge:

Källkoden till Grain finns under /info/oopk-f99/src på NADA. Du kan packa ihop det hela med t ex

cd /info/oopk-f99/src
tar cf ~/grain1.1.tar grain1.1
gzip ~/grain1.1.tar
om du har tar och gunzip på din maskin.

När du packat upp den på din maskin behöver du troligen redigera grain1.1/config.mk och eventuellt Makefile på olika nivåer (främst grain1.1/lib/Makefile). Det finns tyvärr inget tjusigt configure-script som automatiskt konfigurerar mjukvaran. Därefter bör du kunna köra "make" och (om du vill) "make install".

Hanteringen av s.k. shared libraries varierar lite mellan olika UNIX-system. På Sun/Solaris så lägger man vid kompileringen in en sökväg till ett shared library mha -R. Denna sökväg kommer att användas av programmet när man startar det för att lokalisera de shared libraries som programmet vet att det behöver. Med väljaren -h bestämmer man namnet på ett shared library när man bygger det. Det är inte namnet på själva filen utan ett namn som förekommer i de interna tabellerna i programmen och som används vid uppslagning.

Allt det det är ganska krångligt. För att undvika problem kan du bygga s.k. statiska bibliotek istället, dvs sådana som heter t ex libgrain.a (istället för libgrain.so eller libgrain.so.1.1). Då ger du kommandot "make static" (istället för "make") i Grains källkodskatalog. Då bör en hel del problem undvikas. (OBS: Om du redan har byggt Grain, gör först "make clean" i Grain källkodskatalog. Om du också har installerat shared libraries med "make install", ta bort de biblioteken igen med "rm".)

Sätt X11HOME till katalogen där XWindows finns installerad. Om libX11.a (eller libX11.so eller liknande) t ex ligger under /home/lib och motsvarande include-filer under /home/include, sätt X11HOME=/home

För närvarande spelar det ingen roll vad man sätter SYSTEM till, du kan sätta den till GENERIC.

Du bör kompilera med g++ 2.8.1. Du kan testa vilken version av g++ som ligger på olika ställen med "g++ -v". Om rätt version ligger under, säg, /xxx/bin/g++, pröva att sätta GNUHOME=/xxx

ar är det program som sätter ihop ett statiskt bibliotek, en fil som typiskt heter libXXX.a om XXX är bibliotekets namn. ar behövs om du bygger Grain med "make static". ar eller motsvarande bör finnas någonstans på din maskin. Sätt AR till det fullständiga namnet på programmet ar.

ranlib är ett program som brukar användas för att generera index i statiskt byggda biblioteksfiler dvs sådana som slutar .a, t ex libyyy.a. På en del system behövs inte det. Då kan du sätta RANLIB=: Kolonet betyder "gör ingenting".

catman genererar ett index för man-blad. Den används bara när make går ned i man-katalogen. Du kan sätta CATMAN=: om du inte bryr dig om det. WHATISFILE är ett namn som används av catman.

Ta bort .KEEP_STATE. Det fungerar bara på Sun/Solaris.

"make" eller "make static" kompilerar alla filer och bibliotek. "make install" kopierar biblioteken, include-filer, körbara program (finns inga i Grain) och man-blad till en s.k. installtionspunkt. "make install" kompilerar alltså ingenting. Ide'n är att andra användare (eller man själv) ska använda den installerade versionen. Då är man fri att när som helst göra "make clean" på källkodskatalogen (för att rensa bort kompilerade filer etc), eller att testkompilera en ny version eller en version med andra kompileringsflaggor, utan att störa användarna. Uppdelningen i "make" och "make install" är standard, det är inget jag har hittat på.

Om du har en PC med Microsoft Windows95/98

För en Windows-PC är det värre, eftersom Grain än så länge bara finns i en XWindows-version.

Om du gör de laborationer som inte behöver Grain på en Windows-PC och din kod inte går att köra på NADAs UNIX-datorer måste du redovisa laborationen på en bärbar PC. Observera dock att källkoden ändå måste finnas tillgänglig på NADAs UNIX-system så att den kan registreras elektroniskt vid redovisningen. (Vi kommer inte att ta emot PC-disketter.)

^ Upp till Kursomgång period 4 98/99 för B,F,I,K,L,M,T,V.


Sidansvarig:
Senast ändrad 18 maj 1999
Tekniskt stöd: <webmaster@nada.kth.se>