Erinevus lehekülje "Programmide portimine" redaktsioonide vahel

Allikas: Kuutõrvaja
(Algus)
 
 
(ei näidata ühe teise kasutaja üht vahepealset redaktsiooni)
1. rida: 1. rida:
 
[Tekst on kirjutatud FreeBSD-d silmas pidades, aga üldjoontes klapib kõigega]
 
[Tekst on kirjutatud FreeBSD-d silmas pidades, aga üldjoontes klapib kõigega]
  
Avatud lähtekoodidega maailmas võib juhtuda, et sinu opsüsteemile ei ole binaarpakki mingist vajalikust programmist. Ja portsudes ei pruugi ka asja olla.
+
Avatud lähtekoodidega maailmas võib juhtuda, et sinu opsüsteemile ei ole binaarpakki mingist vajalikust programmist. Ja portsudest ei pruugi ka asja olla.
  
 
Heal juhul kompileerub asi esimese katsega. Veidi halvemal juhul on vaja ./configure skriptile mõned parameetrid kaasa anda.
 
Heal juhul kompileerub asi esimese katsega. Veidi halvemal juhul on vaja ./configure skriptile mõned parameetrid kaasa anda.
8. rida: 8. rida:
  
 
Siis tuleks vaadata rahulikult veateateid.
 
Siis tuleks vaadata rahulikult veateateid.
* Kõige lihtsamal juhul vingutakse puuduva .h faili pärast. Kui puudu on fail, mis üsna kindalsti peaks süsteemis olemas olema( GL/gl.h; jpeg.h; jne), siis võib põhjuseks olla see, et mõned ./configured ei tea, et FreeBSD hoiab asju /usr/local kataloogis. kõige lihtsam on käivitada ./configure nõnda:
+
* Kõige lihtsamal juhul vingutakse puuduva .h faili pärast. Kui puudu on fail, mis üsna kindlasti peaks süsteemis olemas olema( GL/gl.h; jpeg.h; jne), siis võib põhjuseks olla see, et mõned ./configured ei tea, et FreeBSD hoiab asju /usr/local kataloogis. Kõige lihtsam on käivitada ./configure nõnda:
 
  ./configure CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib
 
  ./configure CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib
* Mõnikord vajatakse mingeid linux/* headereid. Nendega on FreeBSDs juba raskem. Mõnedele neist on analoogid mõnedele neist ei ole... [vot siia tuleks veel juttu (joystick ühes ja teises, ioctl ühes ja teises jne)]
+
* Mõnikord vajatakse mingeid linux/* headereid. Nendega on FreeBSDs juba raskem. Mõnedele neist on analoogid, mõnedele neist ei ole... [vot siia tuleks veel juttu (joystick ühes ja teises, ioctl ühes ja teises jne)]
 
* Teinekord on kompilaator liiga uus / liiga vana / liiga mittestandartne / jne. [siia ka veel juurde]
 
* Teinekord on kompilaator liiga uus / liiga vana / liiga mittestandartne / jne. [siia ka veel juurde]
* Linkimsel protesteeritakse puuduva -ldl pärast. Asi on selles, et dünaamilise linkimise funktsioonide jaoks on Linuxis vaja linkida külge -ldl, aga FreeBSD on need funktsioonid juba standardteegis sees. Sellest takistusest möödasaamiseks on vaja minna kataloogi, kus viga esines ja sealses Makefiles koristada ära kõik -ldl esinemised
+
* Linkimisel protesteeritakse puuduva -ldl pärast. Asi on selles, et dünaamilise linkimise funktsioonide jaoks on Linuxis vaja linkida külge -ldl, aga FreeBSD on need funktsioonid juba standardteegis sees. Sellest takistusest möödasaamiseks on vaja minna kataloogi, kus viga esines ja sealses Makefiles koristada ära kõik -ldl esinemised
 +
* Vahel tekivad kompileerimisel hoiatused, aga gcc loeb neid vigadena ja peatab kompilatsiooni. Sel juhul on Makefilest vaja ära koristada kõik -Werror esinemised.
  
 
[paar sõna sconsi kohta]
 
[paar sõna sconsi kohta]

Viimane redaktsioon: 2. veebruar 2007, kell 16:42

[Tekst on kirjutatud FreeBSD-d silmas pidades, aga üldjoontes klapib kõigega]

Avatud lähtekoodidega maailmas võib juhtuda, et sinu opsüsteemile ei ole binaarpakki mingist vajalikust programmist. Ja portsudest ei pruugi ka asja olla.

Heal juhul kompileerub asi esimese katsega. Veidi halvemal juhul on vaja ./configure skriptile mõned parameetrid kaasa anda.

Veel halvemal juhul hakkab kompilaator protesteerima.

Siis tuleks vaadata rahulikult veateateid.

  • Kõige lihtsamal juhul vingutakse puuduva .h faili pärast. Kui puudu on fail, mis üsna kindlasti peaks süsteemis olemas olema( GL/gl.h; jpeg.h; jne), siis võib põhjuseks olla see, et mõned ./configured ei tea, et FreeBSD hoiab asju /usr/local kataloogis. Kõige lihtsam on käivitada ./configure nõnda:
./configure CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib
  • Mõnikord vajatakse mingeid linux/* headereid. Nendega on FreeBSDs juba raskem. Mõnedele neist on analoogid, mõnedele neist ei ole... [vot siia tuleks veel juttu (joystick ühes ja teises, ioctl ühes ja teises jne)]
  • Teinekord on kompilaator liiga uus / liiga vana / liiga mittestandartne / jne. [siia ka veel juurde]
  • Linkimisel protesteeritakse puuduva -ldl pärast. Asi on selles, et dünaamilise linkimise funktsioonide jaoks on Linuxis vaja linkida külge -ldl, aga FreeBSD on need funktsioonid juba standardteegis sees. Sellest takistusest möödasaamiseks on vaja minna kataloogi, kus viga esines ja sealses Makefiles koristada ära kõik -ldl esinemised
  • Vahel tekivad kompileerimisel hoiatused, aga gcc loeb neid vigadena ja peatab kompilatsiooni. Sel juhul on Makefilest vaja ära koristada kõik -Werror esinemised.

[paar sõna sconsi kohta]