Forberedelse til kompilering i store

  1. Velg maskin du ønsker å bruke for installasjonen. Dersom du ønsker å kompilere applikasjonen for HP-UX 10 kan tklab3 være et godt valg. Dersom du derimot ønsker å kompilere for HP-UX 9 vil nok tklab1 være et bedre valg.

    Hvis du kompilerer for HP-UX 10, må du passe på at transition linkene ikke er aktive. Prøv f.eks. å kjøre `ll /etc'. Dersom du her ser en hel mengde lenker, så er lenkene i bruk. Disse fjernes ved å kjøre kommandoen tlremove (må kjøres av root-brukeren).

    Vi har her tenkt å kompilere applikasjonen for HP-UX 9, og velger derfor å kompilere dette på tklab1.

    $ rlogin tklab1

  2. Når man skal arbeide med installering i store, lønner det seg å være logget inn som store-brukeren. Siden store-brukeren ikke har passord, må vi først logge inn som root. $ su - Password: $ su - store

  3. Dersom en eller annen versjon av applikasjonen ikke eksisterer i store fra før, må der lages en plass for den i store-treet. Dette gjøres under ved å lage en katalog under /store/store/tklab1 med et fornuftig navn. I vårt tilfelle velger vi å kalle applikasjonen sharutils. $ mkdir /store/store/tklab1/sharutils $ cd /store/store/tklab1/sharutils

  4. Pakk ut applikasjonen. Før vi pakker ut appliksjonen kan det derimot være lurt å sjekke om utpakkingen lager en hel underkatalog, eller om den bare legger ut alle filene i katalogen hvor du befinner deg (`tar tf -'). Dersom dette siste er tilfellet, vil det være meget lurt å pakke opp applikasjonen i en underkatalog. $ gzip -dc ~/tmp/sharutils-4.2.tar.gz | tar xf -

  5. Navngi underkatalogen slik at de interne programmene i store forstår hva det er som foregår. Navnet på katalogen som inneholder kildekoden skal være på formen ``src-<versjon>''. $ mv sharutils-4.2 src-4.2

  6. Kildekoden som ligger under katalogen vi nettopp har laget, skal ikke under noen omstendighet røres. Vi lager derfor nye underkatalog hvor vi kan kompilere applikasjonene. Disse katalogene har navn på formen ``src-<versjon>-<arkitektur>''. Disse katalogene inneholder symbolske lenker inn i katalogen hvor den virkelige kildekoden befinner seg. Et slikt skyggetre lages med kommandoen shadow. $ shadow Which compile store [tklab1] ? Which application [sharutils] ? What version [4.2] ? What architecture [hp700ux9] ? Som vi ser, får vi en del spørsmål når vi kjører shadow. Disse spørsmålene har som oftest default-verdier som viser seg å være korrekt. Et par små tastetrykk på return er derfor (som oftest) alt som må til for å lage et lite morsomt skyggetre.

    Et par ord om arkitekturnavnet er kanskje på sin plass her. Vi ser av ekempelet over at HP-UX 9 presenteres ved navnet ``hp700ux9''. I likhet presenteres HP-UX 10 med navnet ``hp700ux10''. Dette betyr at arkitekturen en HP Series 700 maskin som kjører henholdsvis HP-UX 9 eller 10. Dersom en applikasjon bare skal være gjeldene for en spesifikk versjon av operativsystemet, kan dette også spesifiseres nærmere (eks. ``hp700ux905'' og ``hp700ux1001'').

    Det er derimot ønskelig å benytte et arkitekturnavn som er mest mulig generelt. Hvis vi f.eks. vil installere noe som skal gjelde både for ``hp700ux9'' og ``hp700ux10'' (f.eks. en binærdistribusjon av Netscape), kan vi derfor benytte arkitetkturnavnet ``hp700''. På samme måte kan vi benytte arkitekturnavnet ``allarchs'' til å bety alle mulige arkitekturerer. Dette er f.eks. nyttig for applikasjoner som er skrevet i et abstrakt, arkitekturuavhengig språk (eks. exmh).

    Arkitekturnavnet ``local'' har også en spesiell betydning. Hvis vi lager et skyggetre med denne arkitekturen, så kan vi gjøre store lokale patcher her. Når vi neste gang skal lage et skyggetre til f.eks. ``hp700ux9'', så vi dette local-treet bli skygget -- ikke det uberørte, orginale kildekodetreet.

  7. Vi er nå klar til å ta fatt på selve kompileringen. $ cd src-4.2-hp700ux9

eSk