Då läser jag att QGIS (utvecklingsversionen) numera bygger på Qt5 och Python 3. Detta är viktigt för alla som behöver se över sina skript och plug-in inför release av QGIS 3.0 någon gång nästa år.
I detta inlägg undersöker jag om och i så fall hur, man bär sig åt för att börja testa. Det är inte helt tydligt, och kanske inte helt enkelt heller…
Till att börja med provade jag en vanlig ”master” installation.
Installationen gör jag i en virtuell dator baserad på Xubuntu 16.04.1 och därpå installeras QGIS Master på följande sätt i terminalen.
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 073D307A618E5811 echo "deb http://qgis.org/debian-nightly xenial main" | sudo tee -a /etc/apt/sources.list.d/qgis.list sudo apt update && sudo apt install qgis python-qgis qgis-plugin-grass
När ovanstående är kört så finns QGIS installerat och kan startas på vanligt sätt. Den installerade utvecklingsversionen är dock baserad på källkoden i ”master_2”, vilket just nu är den version av QGIS som är i ”feature freeze” för 2.18 som släpps om knappt en månad. Denna bygger precis som tidigare på Qt4 och Python 2.
Källkoden för det som skall bli 3.0 ligger i ”master”, vilket är en helt annan gren av QGIS på GitHub. Något ”enkelt” sätt att installera denna version kan jag inte hitta…
Jag har försökt installera från källkod tidigare, men det är inte helt trivialt. Först så måste alla ”deb” källor i /etc/apt/sources.list aktiveras. Detta gör man genom att ta bort alla ”#” tecken framför dessa. Sannolikt behöver man inte aktivera allt, men det gjorde jag.
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 089EBE08314DF160 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 073D307A618E5811 echo "deb http://qgis.org/debian-nightly xenial main" | sudo tee -a /etc/apt/sources.list.d/qgis.list echo "deb http://qgis.org/ubuntugis-nightly xenial main" | sudo tee -a /etc/apt/sources.list.d/qgis.list echo "deb http://ppa.launchpad.net/ubuntugis/ubuntugis-unstable/ubuntu xenial main" | sudo tee -a /etc/apt/sources.list.d/qgis.list sudo apt install git build-essential cmake flex bison pyqt5-dev qttools5-dev qtpositioning5-dev libqt5svg5-dev libqt5webkit5-dev sudo apt install cmake-curses-gui git libqt5sql5 python3-pyqt5.qtsql libproj-dev sudo apt install libgeos++-dev libgdal-dev qtscript5-dev libqt5script5 libqca-qt5-2-dev python3-pyqt5 pyqt5-dev-tools pyqt5.qsci-dev python3-pyqt5.qsci sudo apt install libqt5xmlpatterns5-dev libgsl-dev libqt5scintilla2-dev python3-qwt libqwt-qt5-dev libspatialindex-dev git clone --depth=1 https://github.com/qgis/QGIS.git cd QGIS mkdir build cd build cmake .. make sudo make install
(Det är inte säkert att allt ovan krävs, men jag har listat allt, med något undantag, som jag behövde installera för att få cmake att bygga installationen)
Efter ovanstående kommandon, förutsatt att allt fungerade, finns QGIS master installerat på datorn. Själva kompileringen (make) kan ta väldigt lång tid, men det kan finnas sätt att snabba upp processen om man vill, genom att tilldela flera processorkärnor med kommandot ”make -jX”, där X ersätts med en siffra för det antal kärnor man vill göra tillgängligt. Rent formellt så är -j kommandot antal möjliga samtidiga ”jobb”, men i realiteten är det samma sak som hur många trådar som skall användas. Om man använder ”-j” utan siffra så används så många samtidiga jobb/processortrådar som möjligt.
Vill man inte ”installera” så kan man köra QGIS med ett direkt kommando via sökvägen ”./output/bin/qgis”.
Nu är det så att stödet för framför allt Python 3 är inte fullt implementerat ännu. Det går att bygga QGIS och får programmet att starta, men just nu bara om Python är ”avstängt”…
Därför blir det en senare fråga att testa mina plug-in för att se om dessa fungerar, men bara för att ”bevisa” att det faktiskt gick att bygga från källkod finns ovan en skärmdump av ”Om” fönstret där det framgår att det är byggt på Qt5.5.1.
Slutsatser
Jag är väldigt nöjd med att jag faktiskt lyckats bygga QGIS från källkod. Det är inte lätt, men enträgen vinner och många timmars arbete senare så har jag kanske en process jag kan upprepa… Det blir nästa steg.
Det är lite trist att det skall vara så krångligt att testa sina plug-in mot kommande förutsättningar, men jag tror att detta ändras efter det att QGIS 2.18 är släppt. Efter det så är nämligen planen att nästa version blir 3.0, och då finns det inte längre någon anledning att ha en ”master_2” version.
Har du därför inte sagolikt bråttom, eller är väldigt nyfiken, så kan du nog vänta en månad (ungefär) tills QGIS Master baseras på de nya förutsättningarna.
[Edit]
Nu finns 2.99 Master via normala installationskanaler också.