Kompilering på Linux

From Stellarium Wiki
Jump to: navigation, search

Varje gång en ny version av Stellarium ges ut, ges även källkoden ut i SourceForges paketeringssystem. Ett bygge från källkod som ges ut på det här sättet bör ge dig en fungerande kopia av Stellarium, som funktionellt sett är identisk med de binära utgåvorna för den versionen.

Det går även att hämta den senaste utvecklingsversionens källkod via Bazaar. Den kan innehålla nya funktioner som har lagts till efter den senaste utgåvan av Stellarium, så den är ofta roligare. Varning: En Bazaar-version av Stellariums källkod är kod under utveckling och kan som sådan leda till att programmet blir instabilt, inte fungerar överhuvudtaget eller att koden ens kan kompileras.

Om du är nybörjare vad gäller kommandoradsanvändning kan du ha behållning av den här sidan.

Contents

Förberedelser

Säkerställ först och främst att alla byggberoenden är installerade på ditt system.

Numera använder vi CMake istället för automake/autoconf. Ett vanligt problem är att du inte har en tillräckligt uppdaterad version av CMake. Säkerställ att du har den version som anges på byggberoendesidan (felet som uppkommer om du har en föråldrad version av CMake har någonting att göra med cURL).

Om du både har utvecklingsverktygen för Qt version 4 och Qt version 3 installerade på ditt system, säkerställ att kommandona för moc, uic, o.s.v. pekar på Qt-versionerna. Användare av Ubuntu/Debian kan vilja använda detta skript för att växla mellan dem.

Packa upp tar-arkivet som innehåller källkoden. Öppna en terminal och gå till den mapp där du vill bygga Stellarium. Spara tar-arkivet till den mappen och utför detta kommando i en terminal (om du så föredrar kan du använda Ark eller något annat grafiskt arkiveringsverktyg):

 $ tar zxf stellarium-0.10.6.tar.gz

Du bör nu ha en mapp vid namn stellarium-0.10.6 som innehåller källkoden.

Bygga

  • Öppna en terminal och ändra plats till källkodsmappen:
cd stellarium-0.10.6
  • Skapa byggmappen och ändra plats till den:
mkdir -p builds/unix
cd builds/unix
cmake ../..

Som standard kommer detta att konfigurera Stellarium att installeras i området /usr/local. Om du vill bygga till en annan plats, använd detta alternativ med CMake, t.ex.:

cmake -DCMAKE_INSTALL_PREFIX=/opt/stellarium ../..
  • Kör kommandot make:
make
  • Installera programmet (som rot, om nödvändigt):
make install

Det var allt. Du bör nu ha byggt och installerat Stellarium. Bygget tar ca. fem minuter på en P4 1.7Ghz/512 Mb.

Skapa källkodspaket

När du väl har byggt Stellarium kan du skapa ett källkodspaket för distributioner:

make package_source

Skapa binära paket

När du väl har byggt Stellarium kan du skapa binära paket för distributioner.

TGZ

  • Efter bygge från källkod (enkelt binärt paket):
make package

RPM

  • Efter bygge av ett binärt TGZ-paket (Obs: vi rekommenderar ett bygge med -DCMAKE_INSTALL_PREFIX=/usr):
cpack -G RPM

DEB

  • Efter bygge av ett binärt TGZ-paket (Obs: vi rekommenderar ett bygge med -DCMAKE_INSTALL_PREFIX=/usr):
cpack -G DEB

Bazaar-version (utvecklingsversion)

Säkerställ först och främst att att alla byggberoenden är installerade.

Hämta källkoden

Kör följande kommandon:

bzr checkout lp:stellarium

eller, om du inte avser att ändra något i källkoden (snabbare):

bzr checkout --lightweight lp:stellarium

Det här skapar en mapp vid namn stellarium som innehåller källkoden.

Bygga från källkoden

  • Ändra plats till mappen stellarium, som skapades med kommandot bzr ovan:
cd stellarium 
  • Skapa mappen builds/unix och ändra plats till den:
mkdir -p builds/unix
cd builds/unix

Som standard kommer detta att konfigurera Stellarium att installeras i området /usr/local. Om det är okej, kör CMake så här:

cmake ../..

eller, om du föredrar att ange ett alternativt installationsprefix, gör det så här:

cmake -DCMAKE_INSTALL_PREFIX=/opt/minplats/ ../..
  • Nu kan du bygga genom att köra make:
make
  • För att köra Stellarium från källkodsträdet, ändra tillbaka platsen till källkodsträdets rot och anropa den binära filen:
cd ../..
builds/unix/src/stellarium
  • Om du vill köra från mappen stellarium utan att använda terminalen, kopiera den binära stellarium-filen från builds/unix/src till mappen stellarium. Klicka därefter på den binära filen för att starta Stellarium.
  • Om du vill installera programmet, kör detta kommando från mappen builds/unix (som rot, om nödvändigt):
make install

Uppdatera BZR

Om du sedan tidigare har byggt från Bazaar-källkod, men vill se vilka ändringar som har gjorts efter ditt bygge, gå till mappen stellarium och kör kommandot:

bzr up

Det hämtar endast de ändringar som har gjorts sedan du senast hämtade filer från databasen. Oftast är det allt som krävs för att bygga från make-fasen, men om det finns nya filer måste du bygga från CMake-fasen.

Om du ändrar några filer kommer Bazaar försöka slå samman nya uppdateringar med dina ändrade filer. Det här kan leda till byggproblem och du kan vilja återställa dina ändringar innan du uppdaterar. För att återställa sådana här lokala redigeringar, gå till mappen stellarium och utför det här innan du uppdaterar:

bzr status

Och för alla filer som listas under modified: (sv. ändrade:), kör detta kommando:

bzr revert filnamn1 filnamn2 ...

Aktivera stöd för ljud

Stellariums ljudstöd är ett alternativ vid kompileringstillfället. För att använda ljud i Stellarium behöver du en version av Qt som stöder ljudsystemet Phonon. Du behöver även en uppdaterad version av CMake.

Ljudstöd kontrolleras av CMake-alternativet ENABLE_SOUND. Du kan ändra denna inställning m.h.a. ccmake, genom att redigera filen CMakeCache.txt eller genom att ange alternativet -DENABLE_SOUND=1 första gången du kör CMake.

Obs: I Ubuntu 9.10 bör du installera paketet libqt4-phonon-dev, men inte paketet libphonon-dev.

Aktuella byggproblem

Observera att utvecklingsversionens källkod är kod under utveckling och att du därför inte bör förvänta dig att den går att bygga till ett perfekt fungerande program. Oftast fungerar det, men ibland blir byggena skadade.

Om dina byggen verkar bli skadade varje gång du bygger under en längre tid, testa en ordentlig städning av byggmappen (d.v.s. ta bort builds/unix helt och hållet) och börja om från början. Kontrollera att du inte saknar några beroenden. Om problemen kvarstår, skriv ett inlägg på Stellariums forum eller till e-postlistan stellarium-pubdevel.

2009-03-10: CMakes identifiering av Phonon för ljudstöd fungerar inte som det skall för tillfället. För att få det att fungera måste man hacka i filen CMakeLists.txt. Jag jobbar på det. -Matthew

Personal tools
Namespaces
Variants
Actions
in this wiki
other languages
Toolbox