Gå til innhold

Tråd om hvordan kompliere og instalere source


Anbefalte innlegg

Jeg syntes at det burde være en tråd om hvordan man komplierer og innstalerer en source fil (tar.gz/tar.bz2)

 

Er ikke så flink på det og jeg vet at det er ganske så forskjellig på fil til fil.

 

Men det viktigste er vell å lese readme'n

 

Okey, her er hvordan jeg gjør det.

 

1. Jeg pakker ut filen.

 

2. Åpner konsollen

 

3. cd'r meg til mappen med source fila

 

4. skriver

./configure 

(hvis ikke readme'n sier noe annet)

 

5. Det kan hende at det kommer opp en feilmelding om at den ikke finner noen viktige pakker som den trenger. Da sjekker jeg om man finner den pakken i pakkebehandleren og prøver på nytt.

 

6. Hvis det ikke kommer opp noen feilmeldinger så skriver jeg

make

 

7. Hvis det ikke kommer noen feilmeldinger så skriver jeg

make install

som root. Men hvis man føler for det og har lyst til å kunne avinnstalerer det lettere så kan man skrive

make checkinstall

som root. Det kan hende du må skrive litt beskrivelser osv.

 

8. Og da skal programmet være innstalert.

 

 

Dette er den vanligste metoden å kompliere etter det jeg vet.

Hvis noen vil endre noe så si ifra.

Så oppdaterer jeg denne med engang :thumbup:

 

AlecTBM

Endret av AlecTBM
Lenke til kommentar
Videoannonse
Annonse

Den største grunnen til at man ikke får innstallert fra kildekode er at avhengighetene ike er i orden. Disse vil ikke innstalleres av seg selv som de gjør i eksempelvis apt. Jeg syns ihvertfall det er vanskeligst i forhold til å innstallere fra kildekode.

Lenke til kommentar

Første bud er å skrive "kompilere" riktig.

 

Hvis du mener at dette er den vanligste måten å kompilere kildekoden på, så er det riktig. Hvis du mente vanligste måten å installere programmer på, er det feil. Man bør unngå å kompilere kildekoden så langt som mulig, og er høyst sannsynlig ikke nødvendig får vanlige brukere av for eksempel Ubuntu eller SuSE.

 

Ellers kan vel guiden i hovedtrekk skrives sånn:

./configure

make

som root: make install

 

Tips for de med Debian-baserte distroer:

sudo apt-get build-dep pakkenavn. Da installeres de fleste, om ikke alle, avhengigheter man trenger for å kompilere programmet.

 

Ellers må man bare lære seg å lese tekstfilen - RT(F)M og lese eventuelle feilmeldinger underveis. Klarer du ikke å lese manualene, bør man strengt tatt ikke begynne med kompilering.

Endret av RattleBattle
Lenke til kommentar

Det er den vanligste måten for å kompliere.

Men kan du forklare sudo apt-get build-dep pakkenavn ?

 

Og ja. Den kan skrives sånn.

Men jeg har sletet med å kompliere filer fordi jeg trudde at man bare skulle skrive det.

 

men det var meg da :D

 

 

EDIT:

Har prøvd kconfigure nå.

Den var ikke noe bedre enn konsollen.

Dessuten så kunne du ikke skrive egne komandoer og den hjalp deg ikke med å finne pakkene som manglet.

 

Så min mening er at konsollen er bedre enn kconfigure

Endret av AlecTBM
Lenke til kommentar

Terminalen fungerer mye bedre for kompilering fra kildekode ja. Synes egentlig det er vanskeligere med kconfigure. Men det er ikke akkurat så ofte man trenger å kompilere heller. Ofte følger det med en setup fil sh/py eller lignende :) (Har ihvertfall blitt vanligere)

Lenke til kommentar
Man bør unngå å kompilere kildekoden så langt som mulig
Har enda ikke lært/forsøkt dette(ser ut som jeg må nå, er et program som jeg bare må ha og som ikke finnes i pakkebrønnen:-/ Men forstod det slik at programmer faktisk kan bli mer stabil hvis en komplierer kildekoden selv ettersom en da får en "spesial tilpasset" versjon for den maskinen og oppsett som man har. Men - ikke vet jeg!
Lenke til kommentar
Det er den vanligste måten for å kompliere.

Men kan du forklare sudo apt-get build-dep pakkenavn ?

Er vel ikke så mye mer å tilføre enn det jeg sa. Hvis du vil kompilere for eksempel Gaim, kan du skrive apt-get build-dep gaim, slik at apt-get installerer avhengighetene du trenger for å kompilere Gaim.

 

Man bør unngå å kompilere kildekoden så langt som mulig
Har enda ikke lært/forsøkt dette(ser ut som jeg må nå, er et program som jeg bare må ha og som ikke finnes i pakkebrønnen:-/ Men forstod det slik at programmer faktisk kan bli mer stabil hvis en komplierer kildekoden selv ettersom en da får en "spesial tilpasset" versjon for den maskinen og oppsett som man har. Men - ikke vet jeg!

8646642[/snapback]

Hvilket program var det? Letet på http://www.getdeb.net/ ?

 

Kompilering vil jo optimalisere mot den prosessoren du bruker. En pakke kompilert mot i386 vil yte mindre enn en som er kompilert mot i686 på en P4, men tror de forskjellene er ganske minimale og ikke merkes. Som en her spurte retorisk (tror det var Kyrsjo): "Er kompilering best for PC-en eller for brukeren?".

Lenke til kommentar

Starter med

LES MANUALEN

 

Ble så spredt informasjon her, men det jeg har funnet ut er at checkinstall er det greieste å lage pakker med av ting som ikke finnes i pakkeystemet eller portstreet.

 

har du ikke gjort det før er dette kjekt

su root om du ikke er root + pass (er sikkerhetsgreia at man skal kompilere som bruker og installere som root men jeg er nå for lat til det, er sikkerhet viktig så sørg for det)

 

mkdir /home/kompilering

cd /home/kompilering

 

så greia

1. last ned pakken wget <ftp://fil.tar.gz f.eks.>

2. pakk ut. tar xvzf fil.tar.gz eller tar xvf fil.tar eller tar xvjf fil.tar.bz2 (tre filtyper)

3. cd <filmappe>

4. ./configure

5. make

6. checkinstall har du debian så bruk checkinstall -D

7. følg guiden (enter for å legge til beskrivelse osv)

8. så skal sourcen være installert (får opp en melding om det, evt i eldre versjoner om hvordan du skal legge den til)

 

Nå ligger den i pakkesystemet og behandles (legges til fjernes) som en pakke.

 

 

P.S.

Debian og andre distroer har garantert egne måter å gjøre ting på, checkinstall er vel egentlig laget for slackware. Har du ikke checkinstall legg det til via pakkeystemet.

 

P.S 2 så denne i readmen (lenge siden jeg brukte det :p)

NOTE: If you give no arguments to checkinstall it will run a "make install".

If you give arguments, the first non-option argument will be used as the

install command. This is useful when the install command is not "make install"

but something else like "make install_packages" or "setup" or whatever, i.e.

 

checkinstall make install_packages

checkinstall make modules_install

checkinstall install.sh

checkinstall setup

checkinstall rpm -i my-package-1.0.i386-1.rpm

 

http://asic-linux.com.mx/~izto/checkinstall/docs/README

Endret av Admin'c
Lenke til kommentar
Kompilering vil jo optimalisere mot den prosessoren du bruker. En pakke kompilert mot i386 vil yte mindre enn en som er kompilert mot i686 på en P4, men tror de forskjellene er ganske minimale og ikke merkes. Som en her spurte retorisk (tror det var Kyrsjo): "Er kompilering best for PC-en eller for brukeren?".

8646686[/snapback]

Hvis man kun kjører den vanlige configure make install vil vanligvis ikke programmet bli noe bedre optimalisert enn det som kommer i pakkesystemet. Hvis man vil ha optimalisering må man eksplisitt be om det, f.eks for å optimalisere for en Pentium-M-prosessor kan man kjøre

CFLAGS=-march=pentium-m ./configure

Hvorvidt dette gir noen positiv virkning kommer an programmet man kompilerer. For vanlige GUI-programmer er gevinsten minimal.

Hvis man ser i man gcc finnes det noen flagg til man kan leke seg med.

Lenke til kommentar

Merker forskjell fra i386 til i486/i686, men ellers så er det minimalt med optimaliseringer som har noe stor effekt.

 

Holder meg til gode gamle -O2 -pipe -march=i486 -mtune=i686, kanskje jeg av og til tar av og bruker -march=i686 :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...