Skip to content

Kompilera GNU Ocatve på Ubuntu

april 10, 2011

Underhållet av GNU Octave är något eftersatt på operativsystemet Ubuntu. Enligt rykten så finns det ingen person, som är ansvarig för att paketera octave. GNU Octave är enkelt uttryckt en fri (som i frihet) Matlab-klon. Hyfsat korrekt är det i alla fall. Kolla in octaves wikisida rörande matlab-kompabilitet om du vill veta mer om hur du portar dina matlab-program till octave. Jag har personligen sällan haft några större problem med detta och den mesta matlabkoden fungerar fint att köra rakt av.

 

Varför ska man då använda GNU Octave? Den mest uppenbara anledningen kanske är att man slipper krångla med licenser och liknande och kör man linux (eller OSX) kan installera smidigt med hjälp av sin pakethanterare (på OSX installera först en pakethanterare Darwin Ports eller Fink). En annan anledning kan vara att man inte längre är student och måste i så fall betala den rätt feta licenskostnaden för matlab. En tredje anledning att man vill vara fri etc.

 

Det var lite kort om GNU Octave, som jag skrev tidigare är paketeringen lite eftersatt på Ubuntu, så vill man ha senaste stabila utgåvan är man tvingad att kompilera själv. Alltså om du specifikt inte vill testa vissa grejer så duger det ofta fint med den version, som finns tillgänglig via apt/programcentralen. Jag vill leka med glesa matriser och såg att den senaste versionen (3.4) har fått en hel del förbättringar på detta område. Läs mer om ändringarna här.

 

Börja med att installera de beroenden du behöver för att kompilera.

sudo apt-get build-dep octave3.2

detta tar en stund
Valfritt om du vill ha flera versioner av octave installerade samtidigt: gör en katalog i /opt

sudo mkdir -p /opt/ocatve-3.4

Ladda ner senaste versionen av octave här.
Packa upp filen med

tar -xzvf octave-3.4.0.tar.gz

Ställ dig i den nyss skapade katalogen

 cd octave-3.4.0/

Kör autogen

./autogen.sh

Kör configure (flaggan –prefix=/opt/octave-3.4 är om du ovan skapat katalogen /opt/octave-3.4 och vill installera där)

./configure --prefix=/opt/octave-3.4

Vänta en stund
Kompilera

make

Vänta en lång stund
Drick kaffe
Vänta en lång stund till ev. drick mera kaffe (kaffe är själva grundpelaren i all seriös fysik eller matematik).
Skriv ett blogginlägg om hur du kompilerade GNU Octave på din Ubuntumaskin
Vänta mer

När kompileringen är klar, får du frågan om du vill testa innan du installerar, gör lite tester, kör ett enkelt skript eller något. När du är klar installera med

sudo checkinstall

enligt jwalcks kommentar om du vill skapa ett deb-paket och låta pakethanteraren hålla ordning på versionshanteringen åt dig. REKOMENDERAT!
Nu är det bara att instellera det skapade deb-paketet och jag gissar att alla nödvändiga länkar och sökvägar skapas på samma gång.

I mitt fall vill jag dock med vilja skapa lite oordning så jag installerar med

sudo make install

Nu är det bara att köra, om du installerade i /opt/octave-3.4 och med vilje skapade oordning starta med

/opt/octave-3.4/bin/octave
4 kommentarer leave one →
  1. jwalck permalink
    april 10, 2011 15:35

    Följt utav sudo checkinstall, så skapas och installeras en deb-fil. Lättare att underhålla än make install som lätt skapar oreda.:)

    Bra med lite kompileringshjälp när package maintainers hamnar efter!

    • april 10, 2011 16:39

      Hmm… grejen är ju att jag vill skapa lite ”oordning”. Håller med om att man ofta inte vill det dock. Kommer inte checkinstall och det färdiga debpaketet skapa en massa länkar eller sätta sökvägar åt mig. Jag vill ju kunna välja att köra en specifik version av octave?

      Borde i och för sig kunna lösas med update-alternatives eller något, men hur hanterar checkinstall min –prefix-flagga? Jag vill ju också ha hela grejen liggandes i /opt.

  2. Robert Andersson permalink
    juli 12, 2011 00:08

    ./configrue –prefix=/opt/octave-3.4

    ska vara

    ./configure –prefix=/opt/octave-3.4

Tyck till!

Fyll i dina uppgifter nedan eller klicka på en ikon för att logga in:

WordPress.com Logo

Du kommenterar med ditt WordPress.com-konto. Logga ut / Ändra )

Twitter-bild

Du kommenterar med ditt Twitter-konto. Logga ut / Ändra )

Facebook-foto

Du kommenterar med ditt Facebook-konto. Logga ut / Ändra )

Google+ photo

Du kommenterar med ditt Google+-konto. Logga ut / Ändra )

Ansluter till %s

%d bloggare gillar detta: