% vim: set textwidth=78 autoindent:

% when the revision of a section has been finalized,
% comment out the following line:
% \updatedisclaimer

\section{Οδηγός εγκατάστασης}

Τα επόμενα κεφάλαι παρεουν πληροφορίες για την εγκατάσταση του QGIS έκδοση 1.6. Αυτό το έγγραφο ανταποκρίνεται σχεδον σε μία LATEX μετατροπή του αρχείου INSTALL.t2t το οποίο έρχεται με τον κώδικα του QGIS απο τις 29 Νοεμβρίου 2010.
Μια τρέχουσα έκδοση είναι ήδη διαθέσιμη, δείτε στο σύνδεσμο: http://www.qgis.org/wiki/Installation\_Guide

\hypertarget{toc2}{}
\subsection{Γενική επισκόπηση}
Το QGIS, όπως και ενας αριθμός απο μεγάλα project (π.χ. KDE 4.0) χρησιμοποιεί το CMake
(\htmladdnormallink{http://www.cmake.org}{http://www.cmake.org}) για την εγκατάσταση απο πηγαίο κώδικα.

Ακολουθώντας μία περίληψη των απαιτούμενων εξαρτησιών για την εγκατάσταση:

Απαιτούμενα εργαλεία:

\begin{itemize}
\item CMake $>$= 2.6.0
\item Flex
\item Bison
\end{itemize}


Απαιτούμενες εξαρτησίες:

\begin{itemize}
\item Qt $>$= 4.4.0
\item Proj $>$= 4.4.x
\item GEOS $>$= 3.0
\item Sqlite3 $>$= 3.0.0
\item GDAL/OGR $>$= 1.4.x
\item Qwt $>$= 5.0
\end{itemize}


Προαιρετικές εξαρτησίες:

\begin{itemize}
\item για το GRASS plugin - GRASS $>$= 6.0.0 (βιβλιοθήκες συντεταγμένες με εξαιρέσεις που υποστηρίοζουν Linux 32bit)
\item για τον georeferencer - GSL $>$= 1.8
\item για υποστήριξη postgis και το SPIT plugin - PostgreSQL $>$= 8.0.x
\item για το gps plugin - expat $>$= 1.95 και gpsbabel
\item Για εξαγωγή σε mapserver και PyQGIS - Python $>$= 2.3 (2.5+ preferred)
\item Για υποστήριξη python - SIP $>$= 4.8, PyQt $>$= πρέπει να ταιριάζει στην έκδοση Qt
\item για τον qgis mapserver - FastCGI
\end{itemize}



\hypertarget{toc3}{}
\subsection{Εγκαθιστώντας σε GNU/Linux}
\hypertarget{toc4}{}
\subsubsection{Εγκαθιστώντας το QGIS με Qt 4.x}
\textbf{Προαπαιτούμενα:} Ubuntu / διανομή βασισμένη σε Debian.

Αυτές οι σημειώσεις είναι για Ubuntu – άλλες εκδόσεις και οι διανομές οι οποίες βασίζονται σε Debian ίσως απαιτούν ελαφρές παραλαγές στα ονόματα των πακέτων.

Αυτές οι σημειώσεις κάνουν για την περίπτωση που θέλετε να εγκαταστήσετε το QGIS απο τον πηγαίο κώδικα. Ένας απο τους κύριοθυς στόχους εδώ ειναι να δείξουμε πως μπορεί αυτό να γίνει χρησιμοποιώντας δυαδικά πακέτα για \textbf{*ΟΛΕΣ*}
τις εξαρτησίες - χτίζοντας μόνο το βασικά αντικείμενα του QGIS απο τον πηγαίο κώδικα. Προτιμώ αυτή την προσέγγιση γιατί αυτό σημαίνει οτι μπορούμε να αφήσουμε το κομμάτι της διαχείρισης των πακέτων του συστήματος στο aptitude και να ανησυχήσουμε μόνο για την κωδικοποίση του QGIS!  

Με αυτό τον οδηγό θεωρείται ότι έχετε κάνει μια καινούργια εγκατάσταση και έχετε ένα “καθαρό” σύστημα. Αυτές οι οδηγίες θα έπρεπε να δουλεύουν κανονικά αν αυτό είναι ένα σύστημα το οποίο έχει ήδη χρησιμοποιηθεί για κάποιο διάστημα, ίσως χρειαστεί να παραβλέψετε εκείνα τα βήματα τα οποία ειναι άσχετα με σας.

/!$\backslash$ \textbf{Σημείωση:} Ανατρέξτε στο κεφάλαιο “Χτίζοντας πακέτα Debian” για το πως να το κάνετε αυτό. Εκτός αν σκοπεύετε να αναπτύξετε στο QGIS, αυτή είναι προφανώς η πιό εύκολη επιλογή για να συντάξετε και να εγκαταστήσετε το QGIS.

\hypertarget{toc5}{}
\subsubsection{Ετοιμάστε το apt}
Το πακέτο qgis εξαρτάται απο τη διαθεσιμότητα του στο στοιχείο “Universe” του Ubuntu. Αυτό δεν ενεργοποιείται εξ'ορισμού οπότε χρειάζεται να το ενεργοποιήσετε: 

1. Επεξεργαστείτε το αρχείο /etc/apt/sources.list  
2. Αφαιρέστε απο σχόλιο το όλες οι γραμμές που ξεκινούνε απο “deb”.

Επίσης θα χρειαστεί να τρέχετε (K)Ubuntu 'edgy' ή παραπάνω έτσι ώστε όλες οι εξαρτησίες να είναι σωστές.

Τώρα ενημερώστε την βάση δεδομένων των τοπικών πηγών χρησιμοποιώντας το \texttt{sudo apt-get update} 

\hypertarget{toc6}{}
\subsubsection{Εγκαταστήστε τις εξαρτησίες}
\begin{center}\begin{tabular}{|l|l|}
\hline \textbf{Διανομή} & \textbf{Εντολή εγκατάστσης των πακέτων} \\
hardy & apt-get install  bison cmake fcgi-dev flex grass-dev libexpat1-dev \\
& libgdal1-dev libgeos-dev libgsl0-dev libpq-dev libqt4-core libqt4-dev libqt4-gui \\
& libqt4-sql libsqlite3-dev proj pyqt4-dev-tools python python-dev python-qt4 \\
& python-qt4-dev python-sip4 python-sip4-dev sip4 \\
\hline intrepid & apt-get install  bison cmake flex grass-dev \\
& libexpat1-dev libfcgi-dev libgdal1-dev libgeos-dev libgsl0-dev libpq-dev \\
& libqt4-core libqt4-dev libqt4-gui libqt4-sql libqwt5-qt4-dev libsqlite3-dev \\
& proj pyqt4-dev-tools python python-dev python-qt4 python-qt4-dev python-sip4 \\
& python-sip4-dev sip4 \\
\hline jaunty & apt-get install  bison cmake flex grass-dev libexpat1-dev \\
& libfcgi-dev libgdal1-dev libgeos-dev libgsl0-dev libpq-dev libqt4-core libqt4-dev \\
& libqt4-gui libqt4-sql libqwt5-qt4-dev libsqlite3-dev proj pyqt4-dev-tools python \\
& python-dev python-qt4 python-qt4-dev python-sip4 python-sip4-dev sip4 \\
\hline karmic & apt-get install  bison cmake flex grass-dev libexpat1-dev \\
& libfcgi-dev libgdal1-dev libgeos-dev libgsl0-dev libpq-dev libqt4-core libqt4-dev \\
& libqt4-gui libqt4-sql libqwt5-qt4-dev libsqlite3-dev proj pyqt4-dev-tools python \\
& python-dev python-qt4 python-qt4-dev python-sip4 python-sip4-dev sip4 \\
\hline lenny & apt-get install  bison cmake flex grass-dev libexpat1-dev libfcgi-dev \\
& libgdal1-dev libgeos-dev libgsl0-dev libpq-dev libqt4-dev libqwt5-qt4-dev \\
& libsqlite3-dev pkg-config proj pyqt4-dev-tools python python-dev python-qt4 \\
& python-qt4-dev python-sip4-dev sip4 \\
\hline lucid & apt-get install  bison cmake flex grass-dev libexpat1-dev \\
& libfcgi-dev libgdal1-dev libgeos-dev libgsl0-dev libpq-dev libproj-dev libqt4-dev \\
& libqwt5-qt4-dev libspatialite-dev libsqlite3-dev pkg-config pyqt4-dev-tools python \\
& python-dev python-qt4 python-qt4-dev python-sip python-sip-dev \\
\hline maverick & apt-get install  bison cmake flex grass-dev libexpat1-dev \\
& libfcgi-dev libgdal1-dev libgeos-dev libgsl0-dev libpq-dev libproj-dev libqt4-dev \\
& libqtwebkit-dev libqwt5-qt4-dev libspatialite-dev libsqlite3-dev pkg-config \\
& pyqt4-dev-tools python python-dev python-qt4 python-qt4-dev python-sip \\
& python-sip-dev \\
\hline sid & apt-get install  bison cmake flex grass-dev libexpat1-dev libfcgi-dev \\
& libgdal1-dev libgeos-dev libgsl0-dev libpq-dev libproj-dev libqt4-dev \\
& libqwt5-qt4-dev libspatialite-dev libsqlite3-dev pkg-config pyqt4-dev-tools python \\
& python-dev python-qt4 python-qt4-dev python-sip python-sip-dev \\
\hline squeeze & apt-get install  bison cmake flex grass-dev libexpat1-dev \\
& libfcgi-dev libgdal1-dev libgeos-dev libgsl0-dev libpq-dev libproj-dev libqt4-dev \\
& libqwt5-qt4-dev libspatialite-dev libsqlite3-dev pkg-config pyqt4-dev-tools python \\
& python-dev python-qt4 python-qt4-dev python-sip python-sip-dev \\
\hline \end{tabular}\end{center}

(αποσυμπιεσμένα απο τα αντίστοιχα αρχεία ελέγχου σε αποσυμπιεσμένα απο τα αντίστοιχα αρχεία ελέγχου σε debian/\texttt{debian/})

/!$\backslash$ \textbf{Μία ειδική σημείωση:} αν ακολουθείτε αυτές τις οδηγίες σε ένα σύστημα στο οποίο έχετε ήδη εργαλεία ανάπτυξης Qt3 εγκατεστημένα, θα υπάρξει μια σύγκρουση ανάμεσα στα εργαλεία Qt3 και Qt4. Για παράδειγμα, το qmake θα κατευθυνθέι προς την Qt3 έκδοση και όχι την Qt4. Τα πακέτα Qt4 και Qt3  του Ubuntu είναι σχεδιασμένα να υπάρχουν το ένα πλάι στο άλλο. Αυτό σημαίνει ότι αν τα έχετε και τα δύο εγκατεστημένα θα έχετε τρία qmake exe: 

\begin{verbatim}
/usr/bin/qmake -> /etc/alternatives/qmake 
/usr/bin/qmake-qt3
/usr/bin/qmake-qt4 
\end{verbatim}

Το ίδιο ισχύει και για όλα τα υπόλοιπα δυαδικά Qt. Θα παρατηρήσετε παραπάνω ότι το 'qmake' της Canonical διαχειρίζεται απο τις εναλλακτικές του apt, έτσι πριν ξεκινήσουμε να “χτίζουμε” το QGIS, πρέπει να θέσουμε το Qt4 ως εξ'ορισμού. Για να ξαναθέσετε το Qt3 ως εξ' ορισμού μπορείτε να χρησιμοποιήσετε την ίδια διαδικασία. 

Μπορείτε να χρησιμοποιήσετε τα εναλλακτικά apt για να το διορθώσετε αυτό έτσι ώστε η έκδοση Qt4 να χρησιμοποιείται σε όλες τις περιπτώσεις: 

\begin{verbatim}
sudo update-alternatives --config qmake
sudo update-alternatives --config uic 
sudo update-alternatives --config designer 
sudo update-alternatives --config assistant 
sudo update-alternatives --config qtconfig 
sudo update-alternatives --config moc 
sudo update-alternatives --config lupdate 
sudo update-alternatives --config lrelease 
sudo update-alternatives --config linguist 
\end{verbatim}

Χρησιμποιήστε τον απλό διάλογο γραμμής εντολών που εμφανίζεται μετά το τρέξιμο κάθε μίας απο τις παραπάνω εντολές για να διαλέξετε την έκδοση Qt4 της σχετικής εφαρμογής.

/!$\backslash$ \textbf{Σημείωση:} Για τις συνδέσεις της Python  απαιτείται SIP $>$= 4.5 και PyQt4 $>$= 4.1! Μερικές σταθερές διανομές GNU/Linux (π.χ. Debian ή SuSE) παρέχουν μόνο SIP $<$ 4.5 και PyQt4 $<$ 4.1. Για να συμπεριλάβετε υποστήριξη για τις συνεσεις τις Python ίσως χρειαστεί να 'χτίσετε' και να εγκαταστήσετε αυτά τα πακέτα απο τον πηγαίο κώδικα.

\hypertarget{toc7}{}
\subsubsection{Θέστε το ccache (Προαιρετικό)}
Θα πρέπει επίσης να θέσετε το ccache για να επιταχύνετε τους χρόνους συνταξης:

\begin{verbatim}
cd /usr/local/bin 
sudo ln -s /usr/bin/ccache gcc 
sudo ln -s /usr/bin/ccache g++ 
\end{verbatim}

\hypertarget{toc8}{}
\subsubsection{Ετοιμάστε το περιβάλλον ανάπτυξής σας.}
Σαν κανόνα κάνω όλη μου την ανάπτυξη στο \$HOME/dev/$<$language$>$, οπότε σε αυτή την περίπτωση θα δημιουργήσουμε ένα περιβάλλον εργασίας για δουλειά σε C++ όπως παρακάτω: 

\begin{verbatim}
mkdir -p ${HOME}/dev/cpp 
cd ${HOME}/dev/cpp 
\end{verbatim}

Αυτός ο κατάλογος θα θεωρείται για όλες τις οδηγίες που ακολουθούν. 

\hypertarget{toc9}{}
\subsubsection{Ελέγξτε τον πηγαίο κώδικα του QGIS}
Υπάρχουν δύο τρόποι ώστε ο πηγαίος κώδικας μπορεί βα ελεγθεί. Χρησιμοποιήστε την ανώνυμη μέθοδο αν δεν έχετε προνόμια επεξεργασίας για το αποθετήριο του QGIS, ή χρησιμοποιήστε τον έλεγχο του παράγων ανάπτυξης αν έχετε άδεια να κάνετε αλλαγές στον πηγαίο κώδικα.

1. 1. Ανώνυμος έλεγχος

\begin{verbatim}
cd ${HOME}/dev/cpp 
svn co https://svn.osgeo.org/qgis/trunk/qgis qgis
\end{verbatim}

2. 2. Έλεγχος του παράγων ανάπτυξης

\begin{verbatim}
cd ${HOME}/dev/cpp 
svn co --username <yourusername> https://svn.osgeo.org/qgis/trunk/qgis qgis 
\end{verbatim}

Την πρώτη φορά που θα ελέγξετε τον πηγαίο κώδικα θα παραπεμφθείτε να δεχτείτε το πιστοποιητικό  του qgis.org. Πιέστε 'p' για να το δεχτείτε μόνιμα:

\begin{verbatim}
Error validating server certificate for 'https://svn.qgis.org:443':
   - The certificate is not issued by a trusted authority. Use the
     fingerprint to validate the certificate manually!  Certificate
     information:
   - Hostname: svn.qgis.org
   - Valid: from Apr  1 00:30:47 2006 GMT until Mar 21 00:30:47 2008 GMT
   - Issuer: Developer Team, Quantum GIS, Anchorage, Alaska, US
   - Fingerprint:
     2f:cd:f1:5a:c7:64:da:2b:d1:34:a5:20:c6:15:67:28:33:ea:7a:9b (R)eject,
     accept (t)emporarily or accept (p)ermanently?  
\end{verbatim}

\hypertarget{toc10}{}
\subsubsection{Ξεκινώντας τη σύνταξη}
Συντάσω την έκδοση ανάπτυξης του QGIS στον κατάλογο \~{}/apps για να αποφύγω συγκρούσεις με τα  πακέτα Ubuntu τα οποία μπορεί να είναι κάτω απο το /usr. Με αυτό τον τρόπο για παράδειγμα μπορείτε να χρησιμοποιήσετε τα δυαδικά πακέτα του QGIS στο συστημά σας μαζί με την έκδοση ανάπτυξης. Προτείνω να κάνετε κάτι ανάλογο:

\begin{verbatim}
mkdir -p ${HOME}/apps 
\end{verbatim}

Τώρα δημιουργούμε έναν κατάλογο 'χτισίματος' και τρέχουμε την εντολή cmake: 

\begin{verbatim}
cd qgis
mkdir build
cd build
ccmake ..
\end{verbatim}

Όταν τρέχετε το cmake (παρατηρήστε ότι το .. είναι απαραίτητο), ένα μενού θα εμφανιστεί στο οποίο μπορείτε να ρυθμίσετε διάφορες όψεις του 'χτισίματος'. Αν δεν έχετε πρόσβαση διαχειριστή ή δεν θέλετε να γράψετε απο πάνω απο τις υπάρχουσες εγκαταστάσεις του QGIS (απο τον διαχειριστή πακέτων για παράδειγμα), θέστε το CMAKE\_BUILD\_PREFIX κάπου που να έχετε πρόσβαση εγγραφής (συνήθως χρησιμοποιώ /home/timlinux/apps
). Τώρα πιέστε 'c' για να διαμορφώσετε, 'e' για να απομακρύνετε μηνύματα λάθους που μπορεί να εμφανιστούν και 'g' για να αναπαράγετε τα αρχεία make. Σημειώστε ότι μερικές φορές το 'c' χρειάζεται να πατηθεί μερικές φορές πριν η επιλογή 'g' γίνει διαθέσιμη. Μόλις ολοκληρωθεί η αναπαραγωγή του 'g' πιέστε q για να βγείτε απο τον διάλογο cmake. 

Tώρα συνεχίζουμε με το χτίσιμο:

\begin{verbatim}
make
make install
\end{verbatim}

Θα πάρει λίγο χρόνο μέχρι να χτίσει τις εξαρτησίες στην πλατοφόρμα σας.

\hypertarget{toc11}{}
\subsubsection{Χτίζοντας Debian πακέτα}
Αντί να δημιουργήσουμε μία προσσωπική εγκατάσταση όπως στο προηγούμενο βήμα μπορείτε επίσης να δημιουργήσετε debian πακέτα. Αυτό γίνεται απο τον αρχικό κατάλογο root του QGIS, στον οποίο θα βρείτε έναν κατάλογο debian.

Πρώτα πρέπει να εγκαταστήσετε τα εργαλεία πακεταρίσματος debian μια φορά: 

\begin{verbatim}
apt-get install build-essential
\end{verbatim}

Πρώτα πρέπει να δημιουργήσετε μια καταχώρηση changelog για τη διανομή σας. Για παράδειγμα για τα Ubuntu Lucid:  

\begin{verbatim}
dch -l ~lucid  --force-distribution --distribution lucid "lucid build"
\end{verbatim}

Τα QGIS πακέτα θα δημιουργηθούν με: 

\begin{verbatim}
dpkg-buildpackage -us -uc -b
\end{verbatim}

/!$\backslash$ \textbf{Σημείωση:} Αν το \texttt{dpkg-buildpackage} "παραπονεθεί" για ανεξαρτησίες που δεν βρέθηκαν μπορείτε να τις εγκατασήσετε χρησιμοποιώντας \texttt{apt-get} και να ξανατρέξετε την εντολή.

/!$\backslash$ \textbf{Σημείωση:} Αν έχετε εγκατεστημένο το \texttt{libqgis1-dev}, πρέπει να το αφαιρέστε πρώτα χρησιμοποιώντας το \texttt{dpkg -r libqgis1-dev}.   Αλλιώς το \texttt{dpkg-buildpackage} θα “παραπονεθεί” για αντίφαση στο χτίσιμο.

Τα πακέτα δημιουργούνται στον αρχικό κατάλογο (δηλαδή ένα επίπεδο παραπάνω). Εγκαταστήστε τα χρησιμοποιώντας dpkg. Π.χ.:

\begin{verbatim}
sudo debi
\end{verbatim}

\hypertarget{toc12}{}
\subsubsection{Τρέχοντας το QGIS}
Τώρα μπορείτε να δοκιμάσετε να τρέξετε το QGIS:

\begin{verbatim}
$HOME/apps/bin/qgis 
\end{verbatim}

Αν όλα έχουν δουλέψει κανονικά η εφαρμογή του QGIS θα πρέπει να αρχίσει και να εμφανιστεί στην οθόνη σας. 

\hypertarget{toc13}{}
\subsubsection{5.2.10 Μια πρακτική εφαρμογή: Χτίζοντας το QGIS και το GRASS απο τον πηγαίο κώδικα στα Ubutnu με ECW και MrSID υποστίριξη διάταξης}
Η παρακάτω διαδικασία έχει ελεγθεί σε Ubuntu 8.04, 8.10 και 9.04 32bit. Αν θέλετε να χρησιμοποιήσετε διαφορετικές εκδόσεις του προγράμματος (gdal, grass, qgis), απλά κάντε τις απαραίτητες ρυθμίσεις στον παρακάτω κώδικα. Αυτός ο οδηγός θεωρεί ότι δεν έχετε εγκαταστήσει προηγούμενες εκδόσεις του gdal, grass και qgis. 

\minisec{Βήμα 1: Εγκαταστήστε τα βασικά πακέτα}
Πρώτα πρέπει να εγκαταστήσετε τα απαραίτητα πακέτα που χρειάζονται για να κατεβάσετε τον πηγαίο κώδικα και να τον συντάξετε. Ανοίξτε το τερματικό και γράψτε την παρακάτω εντολή:

\begin{verbatim}
sudo apt-get install build-essential g++ subversion
\end{verbatim}

\minisec{Βήμα 2: Συντάξτε και εγκατασήστε τις βιβλιοθήκες ecw}
Πηγαίνετε στο site του ERDAS \htmladdnormallink{http://www.erdas.com/}{http://www.erdas.com/} και ακολουθήστε τους συνδέσμους
"'''products --$>$ ECW JPEG2000 Codec SDK --$>$ downloads'''" 
έπειτα κατεβάστε το "'''Image Compression SDK Source Code 3.3'''" (θα χρειαστεί να κάνετε μια εγγραφή και να δεχθείτε μια άδεια).

Αποσυμπιέστε το αρχείο σε μια κανονική τοποθεσία (αυτός ο οδηγός θεωρεί ότι όλος ο κατεβασμένος πηγαίος κώδικας θα τοποθετηθεί στον κατάλογο home του χρήστη) και έπειτα εισάγετε τον προσφάτως δημιουργημένο φάκελο 

\begin{verbatim}
cd /libecwj2-3.3
\end{verbatim}

Συντάξτε τον κώδικα με τις καθιερωμένες εντολές: 

\begin{verbatim}
./configure
\end{verbatim}

έπειτα

\begin{verbatim}
make
\end{verbatim}

έπειτα

\begin{verbatim}
sudo make install
\end{verbatim}

φύγετε απο το φάκελο  

\begin{verbatim}
cd ..
\end{verbatim}

\minisec{Βήμα 3: Κατεβάστε τα δυαδικά του MrSID}
Πηγαίνετε στο site της LIZARDTECH \htmladdnormallink{http://www.lizardtech.com/}{http://www.lizardtech.com/} και ακολουθήστε τους συνδέσμους
"'''download --$>$ Developer SDKs'''", 
έπειτα κατεβάστε το "'''GeoExpress SDK for Linux (x86) - gcc 4.1 32-bit'''"
(θα χρειαστεί να κάνετε μια εγγραφή και να δεχτείτε μια άδεια).

Αποσυμπιέστε το κατεβασμένο αρχείο. Ο κατάλογος που θα προκύψει θα πρέπει να είναι παρόμοιος με το "Geo\_DSDK-7.0.0.2167"

\minisec{Βήμα 4: Συντάξετε και εγκαταστήστε τις βιβλιοθήκες gdal}
Κατεβάστε τον πιο πρόσφατο gdal πηγαίο κώδικα

\begin{verbatim}
svn checkout https://svn.osgeo.org/gdal/trunk/gdal gdal
\end{verbatim}

έπειτα αντιγράψτε μερικά αρχεία απο τον φάκελο των δυαδικών MrSID
 στον φάκελο με τον πηγαίο κώδικα gdal
('''αντικαταστήστε το “USERNAME” με το πραγματικό όνομα του λογαριασμού.''')

\begin{verbatim}
cp /home/USERNAME/Geo_DSDK-7.0.0.2167/include/*.* /home/USERNAME/gdal/frmts/mrsid/
\end{verbatim}

εισάγετε το φάκελο του πηγαίου κώδικα gdal 

\begin{verbatim}
cd /gdal
\end{verbatim}

και τρέξτε το configure με μερικές συγκεκριμένες παραμέτρους

\begin{verbatim}
./configure --without-grass --with-mrsid=../Geo_DSDK-7.0.0.2167 --without-jp2mrsid
\end{verbatim}

στο τέλος της διαδικασίας ρύθμισης θα έπρεπε να διαβάζετε κάτι σαν το παρακάτω 

\begin{verbatim}
...
GRASS support:             no
...
...
...
ECW support:               yes
MrSID support              yes			
...
\end{verbatim}

και έπειτα συντάξτε κανονικά

\begin{verbatim}
make
\end{verbatim}

και 

\begin{verbatim}
sudo make install
\end{verbatim}

τελειώστε τη διαδικασία δημιουργώντας τους απαραίτητους συνδέσμους στις πιο πρόσφατες βιβλιοθήκες

\begin{verbatim}
sudo ldconfig
\end{verbatim}

σε αυτό το σημείο ίσως θέλετε να ελέγξετε αν η gdal βιβλιοθήκη συνετάχθη σωστά με την υποστήριξη του MrSID και ECW με μία (ή και τις δύο) απο τις παρακάτω εντολές

\begin{verbatim}
gdalinfo --formats | grep 'ECW'
\end{verbatim}

\begin{verbatim}
gdalinfo --formats | grep 'SID'
\end{verbatim}

βγείτε απο το φάκελο

\begin{verbatim}
cd ..
\end{verbatim}

\minisec{Βήμα 5ο: Συντάξτε και εγκαταστήστε το GRASS}
Πρίν κατεβάσετε και συντάξετε τον πηγαίο κώδικα του GRASS χρειάζεται να εγκαταστήσετε μερικές άλλες βιβλιοθήκες και προγράμματα. Αυτό μπορεί να γίνει μέσω του apt

\begin{verbatim}
sudo apt-get install flex bison libreadline5-dev libncurses5-dev lesstif2-dev debhelper \
dpatch libtiff4-dev tcl8.4-dev tk8.4-dev fftw-dev xlibmesa-gl-dev libfreetype6-dev \
autoconf2.13 autotools-dev libgdal1-dev proj libjpeg62-dev libpng12-dev libpq-dev \
unixodbc-dev doxygen fakeroot cmake python-dev python-qt4-common python-qt4-dev \
python-sip4 python2.5-dev sip4 libglew1.5-dev libxmu6 libqt4-dev libgsl0-dev \
python-qt4 swig python-wxversion python-wxgtk2.8 libwxgtk2.8-0 libwxbase2.8-0 tcl8.4-dev \
tk8.4-dev tk8.4 libfftw3-dev libfftw3-3
\end{verbatim}

Σε αυτό το σημείο μπορούμε να πάρουμε τον πηγαίο κώδικα του GRASS: ίσως θέλετε να το κατεβάσετε μέσω του svn ή ίσως θέλετε να κατεβάσετε τον τελευταίο διαθέσιμο πηγαίο κώδικα.
 Για παράδειγμα το GRASS 6.4rc4 είναι διαθέσιμο στην ιστοσελίδα \htmladdnormallink{http://grass.itc.it/grass64/source/grass-6.4.0RC4.tar.gz}{http://grass.itc.it/grass64/source/grass-6.4.0RC4.tar.gz}

Αποσυμπιέστε το αρχείο, εισάγετε τον μόλις δημιουργημένο φάκελο και τρέξτε την εντολή configure με μερικές συγκεκριμένες παραμέτρους

\begin{verbatim}
CFLAGS="-fexceptions" ./configure --with-tcltk-includes=/usr/include/tcl8.4 \
--with-proj-share=/usr/share/proj --with-gdal=/usr/local/bin/gdal-config \
--with-python=/usr/bin/python2.5-config
\end{verbatim}

Η επιπρόσθετη gcc επιλογή -fexceptions είναι απαραίτητη για να επιτρέψει την υποστήριξη στις GRASS βιβλιοθήκες. Αυτή τη στιγμή είναι ο μοναδικός τρόπος για την αποφυγή “κρασαρισμάτων” του QGIS αν ένα μηραίο λάθος συμβεί στη βιβλιοθήκη του GRASS. Δείτε επίσης \htmladdnormallink{http://trac.osgeo.org/grass/ticket/869}{http://trac.osgeo.org/grass/ticket/869}

Μετά ως συνήθως (θα πάρει λίγο χρόνο)

\begin{verbatim}
make
\end{verbatim}

και

\begin{verbatim}
sudo make install
\end{verbatim}

φύγετε απο το φάκελο

\begin{verbatim}
cd ..
\end{verbatim}

τώρα έχετε συντάξει και εγκαταστήσει το GRASS (μαζί με το καινούργιο περιβάλλον wxpyhton) οπότε ίσως θα θέλατε να κάνετε μία δοκιμή 

\begin{verbatim}
grass64 -wxpython
\end{verbatim}

\minisec{Βήμα 6: Συντάξτε και εγκαταστήστε το QGIS}
Όσον αφορά το GRASS μπορείτε να αποκτήσετε τον πηγαίο κώδικα του QGIS απο διάφορες πηγές, για παράδειγμα απο το svn ή απλά κατεβάζοντας ένα απο τα αρχεία του πηγαίου κώδικα που είναι διαθέσιμα στη σελίδα \htmladdnormallink{http://www.qgis.org/download/sources.html}{http://www.qgis.org/download/sources.html}

Για παράδειγμα, κατεβάστε τον πηγαίο κώδικα του QGIS 1.1.0 απο τη σελίδα \htmladdnormallink{http://download.osgeo.org/qgis/src/qgis\_1.1.0.tar.gz}{http://download.osgeo.org/qgis/src/qgis\_1.1.0.tar.gz}

αποσυμπιέστε το αρχείο και εισάγετε τον καινούργιο δημιουργημένο φάκελο

\begin{verbatim}
cd /qgis_1.1.0
\end{verbatim}

μετά τρέξτε ccmake

\begin{verbatim}
ccmake .
\end{verbatim}

πιέστε το πλήκτρο  “c” , έπειτα όταν η λίστα επιλογών εμφανιστεί χρειάζεται να ρυθμίσουμε χειροκίνητα την παράμετρο  "GRASS\_PREFIX". Κυλίστε προς τα κάτω μέχρι η παράμετρος "GRASS\_PREFIX" να εμφανιστεί, 
πιέστε enter και χειροκίνητα θέστε το στο

\begin{verbatim}
/usr/local/grass-6.4.0RC4
\end{verbatim}

και πιέστεε enter ξανά.

Πιέστε “c” ξανά και η επιλογή "Press [g] to generate and exit" θα εμφανιστεί.
Πιέστε το πλήκτρο “g” για να το αναπαράγετε και κλείστε.

Μετά ως συνήθως (θα πάρει λίγη ώρα) 

\begin{verbatim}
make
\end{verbatim}

και

\begin{verbatim}
sudo make install
\end{verbatim}

Στο τέλος της διαδικασίας το QGIS και το GRASS θα δουλεύουν με την MrSID και ECW raster υποστήριξη. 

Για να τρέξετε το QGIS απλά τρέξτε την εντολή

\begin{verbatim}
qgis
\end{verbatim}


\hypertarget{toc14}{}
\subsection{“Χτίζοντας” στα Windows}
\hypertarget{toc15}{}
\minisec{Χτίζοντας με το Visual studio της Microsoft}
Αυτό το κεφάλαιο περιγράφει πως να εγκαταστήσετε το QGIS χρησιμοποιώντας το Visual Studio. Εκεί είναι επίσης που χτίζονται τα δυαδικά πακέτα QGIS (οι παλαιότερες εκδόσεις χρησιμοποιούσαν το MinGW).

Αυτό το κεφάλαιο περιγράφει τις ρυθμίσεις που απαιτούνται για να επιτραπεί το Visual Studio να χρησιμοποιηθεί για το χτίσιμο του QGIS.  

\minisec{Η έκδοση Visual C++ Express}
Ο ελεύθερος (ελεύθερος όπως με την έννοια "δωρεάν μπύρα") Express Edition εγκαταστάτης είναι διαθέσιμος στην ιστοσελίδα:

	\begin{quotation}
\htmladdnormallink{http://download.microsoft.com/download/d/c/3/dc3439e7-5533-4f4c-9ba0-8577685b6e7e/vcsetup.exe}{http://download.microsoft.com/download/d/c/3/dc3439e7-5533-4f4c-9ba0-8577685b6e7e/vcsetup.exe}
	\end{quotation}

Tα προαιρετικά προϊόντα δεν είναι απαραίτητα. Κατα τη διαδικασία τα SDK των Windows για το Visual Studio 2008 θα κατέβουν και θα εγκατασταθούν επίσης. 

Θα χρειαστείτε επίσης το Microsoft Windows Server� 2003 R2 Platform SDK (για το setupapi):

	\begin{quotation}
\htmladdnormallink{http://download.microsoft.com/download/f/a/d/fad9efde-8627-4e7a-8812-c351ba099151/PSDK-x86.exe}{http://download.microsoft.com/download/f/a/d/fad9efde-8627-4e7a-8812-c351ba099151/PSDK-x86.exe}
	\end{quotation}

Χρειάζεστε μόνο το Microsoft Windows Core SDK / Build Environment (x86 32-Bit).

\minisec{Άλλα εργαλεία και εξαρτησίες}
Κατεβάστε και εγκαταστήστε τα ακόλουθα πακέτα:

\begin{center}\begin{tabular}{|l|l|}
\hline \textbf{Εργαλείο} & \textbf{Ιστοσελίδα} \\
\hline CMake & \htmladdnormallink{http://www.cmake.org/files/v2.8/cmake-2.8.2-win32-x86.exe}{http://www.cmake.org/files/v2.8/cmake-2.8.2-win32-x86.exe} \\
\hline Flex & \htmladdnormallink{http://gnuwin32.sourceforge.net/downlinks/flex.php}{http://gnuwin32.sourceforge.net/downlinks/flex.php} \\
\hline Bison & \htmladdnormallink{http://gnuwin32.sourceforge.net/downlinks/bison.php}{http://gnuwin32.sourceforge.net/downlinks/bison.php} \\
\hline SVN & \htmladdnormallink{http://sourceforge.net/projects/win32svn/files/1.6.13/Setup-Subversion-1.6.13.msi/download}{http://sourceforge.net/projects/win32svn/files/1.6.13/Setup-Subversion-1.6.13.msi/download} \\
\hline OSGeo4W & \htmladdnormallink{http://download.osgeo.org/osgeo4w/osgeo4w-setup.exe}{http://download.osgeo.org/osgeo4w/osgeo4w-setup.exe} \\
\hline \end{tabular}\end{center}

Το OSGeo4W δεν παρέχει μόνο έτοιμα πακέτα για την τρέχουσα QGIS έκδοση, αλλά παρέχει επίσης και τις περισσότερες εξαρτησίες που χρειάζονται για την εγκατάσταση.

Για το QGIS θα χρεαστεί να εγκαταστήσετε τα ακόλουθα πακέτα απο το OSGeo4W (επιλέξτε \textit{Advanced Installation}):

\begin{itemize}
\item expat
\item fcgi
\item gdal17
\item grass
\item gsl-devel
\item iconv
\item pyqt4
\item qt4-devel
\item qwt5-devel-qt4
\item sip
\end{itemize}


Αυτό θα επιλέξει επίσης πακέτα πάνω στα οποία τα παραπάνω πακέτα θα εξαρτηθούν.

Επιπρόσθετα το QGIS χρειάζεται επίσης το αρχείο συμπερίληψης \texttt{unistd.h}, το οποίο κανονικά δεν υπάρχει στα Windows. Είναι μαζί με το Flex/Bison στο \texttt{GnuWin32$\backslash$include} και χρειάζεται να αντιγραφεί στον κατάλογο \texttt{VC$\backslash$include} της Visual C++ εγκατάστασής σας.

Παλαιότερες εκδόσεις αυτού του εγγράφου επίσης συμπεριλάμβαναν πως να χτίσετε όλες τις παραπάνω εξαρτησίες. Αν σας ενδιαφέρει αυτό, ελέξγτε το ιστορικό αυτής της σελίδας στο Wiki ή στο αποθετήριο SVN.

\minisec{Ρυθμίζοντας το Visual Studio project με Cmake}
Για να ξεκινήσετε ένα διάλογο εντολών με ένα περιβάλλον το οποίο έχει το VC++ και τις  OSGeo4W μεταβλητές δημιουργήστε το ακόλουθο αρχείο batch (υποθέτοντας ότι τα παραπάνω πακέτα είχαν εγκατασταθεί στις εξ'ορισμού τοποθεσίες): 

\begin{verbatim}
@echo off
path %SYSTEMROOT%\system32;%SYSTEMROOT%;%SYSTEMROOT%\System32\Wbem;%PROGRAMFILES\
%\CMake 2.8\bin;%PROGRAMFILES%\subversion\bin;%PROGRAMFILES%\GnuWin32\bin
set PYTHONPATH=

set VS90COMNTOOLS=%PROGRAMFILES%\Microsoft Visual Studio 9.0\Common7\Tools\
call "%PROGRAMFILES%\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86

set INCLUDE=%INCLUDE%;%PROGRAMFILES%\Microsoft Platform SDK for Windows Server \
2003 R2\include
set LIB=%LIB%;%PROGRAMFILES%\Microsoft Platform SDK for Windows Server 2003 R2\lib

set OSGEO4W_ROOT=C:\OSGeo4W
call "%OSGEO4W_ROOT%\bin\o4w_env.bat"

@set GRASS_PREFIX=c:/OSGeo4W/apps/grass/grass-6.4.0
@set INCLUDE=%INCLUDE%;%OSGEO4W_ROOT%\apps\gdal-17\include;%OSGEO4W_ROOT%\include
@set LIB=%LIB%;%OSGEO4W_ROOT%\apps\gdal-17\lib;%OSGEO4W_ROOT%\lib

@cmd
\end{verbatim}

Ξεκινήστε το αρχείο batch και στο διάλογο εντολών ελέξτε τον πηγαίο κώδικα του QGIS απο το SVN στον πηγαίο κατάλογο \texttt{qgis-trunk}:

\begin{verbatim}
svn co https://svn.osgeo.org/qgis/trunk/qgis qgis-trunk
\end{verbatim}

Δημιουργήστε έναν “build” κατάλογο κάπου. Εκεί θα αναπαράγονται όλα τα build αποτελέσματα.

Τώρα τρέξτε \texttt{cmake-gui} και στο κουτί \textit{Where is the source code:}, περιηγηθείτε στο αρχικό επίπεδο του QGIS καταλόγου.

Στην επιλογή \textit{Where to build the binaries:}, περιηγηθείτε στον κατάλογο “build” που δημιουργήσατε.

Επιλέξτε \texttt{Configure} για να ξεκινήσετε τη ρύθμιση και επιλέξτε \texttt{Visual Studio 9 2008}
κρατήστε το \texttt{native compilers} και επιλέξτε \texttt{Finish}.

Η ρύθμιση θα έπρεπε να τελειώσει χωρίς καμία περαιτέρω ερώτηση και να σας επιτρέψει να διαλέξετε το \texttt{Generate}.

Τώρα κλείστε το \texttt{cmake-gui} και συνεχίστε στο παράθυρο εντολών ξεκινώντας το
\texttt{vcexpress}.  Χρησιμοποιήστε  File / Open / Project/Solutions και ανοίξτε το qgis-x.y.z.sln αρχείο στον κατάλογο του project σας.

Πιθανώς να θέλετε να αλλάξετε τo \texttt{Solution Configuration} απο \texttt{Debug}
σε \texttt{RelWithDebInfo} (έκδοση με Debug Info) ή \texttt{Release} πρίν χτίσετε το QGIS στοχεύοντας στο ALL\_BUILD.

Μετά την ολοκήρωση του χτισίματος εγκαταστήστε το QGIS χρησιμοποιώντας το INSTALL.

Εγκαταστήστε το QGIS χτίζοντας το σχέδιο INSTALL. Εξ ορισμού αυτό θα εγκατασταθεί στον προορισμό 
c:$\backslash$Program Files$\backslash$qgis$<$version$>$ (αυτό μπορεί να αλλάξει αλλάζοντας τη μεταβλητή
CMAKE\_INSTALL\_PREFIX σε cmake-gui). 

Θα χρειαστεί επίσης ή να προσθέσετε όλα τα DLL αρχεία εξαρτησεων στον κατάλογο εγκατάστασης του QGIS ή να προσθέτετε τους αντίστοιχους καταλόγους στον κατάλογό σας.

\minisec{Πακετάρισμα}
TΓια να δημιουργήσετε ένα Windows ανεξάρτητο “όλα σε ένα” πακέτο “με Ubuntu” (σωστά διαβάσατε) κάντε τα ακόλουθα:

\begin{verbatim}
sudo apt-get install nsis
\end{verbatim}

Tώρα 

\begin{verbatim}
cd qgis/ms-windows/osgeo4w
\end{verbatim}

Και τρέξτε το script  δημιουργίας nsis:

\begin{verbatim}
creatensis.pl
\end{verbatim}

Όταν το script ολοκληρωθεί, θα πρέπει να έχει δημιουργήσει έναν εγκαταστάτη του QGIS εκτελέσιμο στον κατάλογο ms-windows.

\minisec{Πακετάρισμα του Osgeo4w}
Η ουσιαστική διαδικασία του πακεταρίσματος προς το παρόν δεν έχει τεκμηριωθεί, πρός το παρόν ρίξτε μία ματιά στο:

\textit{ms-windows/osgeo4w/package.cmd}

\hypertarget{toc16}{}
\subsubsection{Χτίζοντας με τη χρήση του MinGW}
\textbf{Note:} This section might be outdated as nowadays Visual C++ is use to build
the "official" packages.

\textbf{Σημείωση:} Για ένα λεπτομερή οδηγό σχετικά με το πως να χτίζετε τις εξαρτησίες απο μόνοι σας μπορείτε να επισκεφθείτε την ιστοσελίδα του Marco Pasetti:

\htmladdnormallink{http://www.webalice.it/marco.pasetti/qgis+grass/BuildFromSource.html}{http://www.webalice.it/marco.pasetti/qgis+grass/BuildFromSource.html}

Διαβάστε για το πως να χρησιμοποιήσετε μια απλοποιημένη προσέγγιση με βιβλιοθήκες που είναι “προ-χτισμένες”...

\minisec{MSYS}
Το MSYS παρέχει ένα περιβάλλον σε στυλ unix υπό windows. Έχουμε δημιουργήσει ένα αρχείο zip το οποίο περιέχει όλες τις εξαρησίες. 

Πάρτε το απο: 

\htmladdnormallink{http://download.osgeo.org/qgis/win32/msys.zip}{http://download.osgeo.org/qgis/win32/msys.zip}

και αποσυμπιέστε το στο c:$\backslash$msys

Αν επιθυμείτε να ετοιμάσετε το msys περιβάλλον σας απο μόνοι σας παρά να χρησιμοποιήσετε το ήδη δημιουργημένο απο εμάς, λεπτομερείς οδηγίες παρέχονται σε αυτό το έγγραφο

\minisec{Qt}
Κατεβάστε την προσυνταγμένη έκδοση ανοιχτού κώδικα exe του Qt και εγκαταστήστε (συμπεριλαμβάνοντας την εγκατάσταση του mingw) απο τον παρακάτω σύνδεσμο:

\htmladdnormallink{http://qt.nokia.com/downloads/}{http://qt.nokia.com/downloads/}

Όταν ο εγκαταστάτης ζητήσει για το MinGW, δεν χρειάζεται να το κατεβάσετε και να το εγκαταστήσετε, απλά καθοδηγείστε τον εγκαταστάτη προς το c:$\backslash$msys$\backslash$mingw

Όταν η εγκατάσταση του Qt ολοκληρωθεί:

Ανοίξτε το C:$\backslash$Qt$\backslash$4.7.0$\backslash$bin$\backslash$qtvars.bat και προσθέστε τις ακόλουθες γραμμές:

\begin{verbatim}
set PATH=%PATH%;C:\msys\local\bin;c:\msys\local\lib 
set PATH=%PATH%;"C:\Program Files\Subversion\bin" 
\end{verbatim}

Προετείνεται να προσθέσετε επίσης και C:$\backslash$Qt$\backslash$4.7.0$\backslash$bin$\backslash$ στον κατάλογο των Μεταβλητων Περιβάλλοντος σας στις προτιμήσεις του συστήματος σας.

Αν σκοπεύετε να κάνετε debugging, θα χρειαστεί να συντάξετε την debug έκδοση του Qt:
C:$\backslash$Qt$\backslash$4.7.0$\backslash$bin$\backslash$qtvars.bat compile\_debug

Σημείωση: υπάρχει ένα πρόβλημα όταν συντάσεται η debug έκδοση του Qt 4.7, το script τελειώνει με το μήνυμα "mingw32-make: *** No rule to make target ‘debug’. Stop." Για να συντάξετε την debug έκδοση πρέπει να βγείτε εκτός του src καταλόγου και να εκτελέσετε την παρακάτω εντολή: 

\begin{verbatim}
c:\Qt\4.7.0 make 
\end{verbatim}

\minisec{Flex και Bison}
Πάρτε το Flex
\htmladdnormallink{http://sourceforge.net/project/showfiles.php?group\_id=23617\&package\_id=16424}{http://sourceforge.net/project/showfiles.php?group\_id=23617\&package\_id=16424}
και αποσυμπιέστε το στο c:$\backslash$msys$\backslash$mingw$\backslash$bin

\minisec{Υλικά Python (προαιρετικό)}
Ακολουθήστε αυτό το κεφάλαιο σε περίπτωση που θα θέλατε να χρησιμοποιήσετε τους δεσμούς της Python για το QGIS. Για να μπορείτε να τους συντάξετε, χρειάζεται να συντάξετε τα SIP και PyQt4 απο τον πηγαίο κώδικα αφού ο εγκαταστάτης τους δεν συμπεριλαμβάνει κάποια αρχεία ανάπτυξης τα οποία είναι απαραίτητα.

\paragraph{}\textbf{Κατεβάστε και εγκαταστήστε την Python – χρησιμοποιήστε εγκαταστάτη των Windows.}\\

(Δεν έχει σημασία σε ποιόν φάκελο θα το εγκαταστήσετε)

\htmladdnormallink{http://python.org/download/}{http://python.org/download/}

\paragraph{}\textbf{Κατεβάστε τουε πηγαίους κώδικες SIP και PyQt4}\\

\url{http://www.riverbankcomputing.com/software/sip/download}
\url{http://www.riverbankcomputing.com/software/pyqt/download}

Αποσυμπιέστε κάθε ένα απο τα παραπάνω zip αρχεία σε έναν προσωρινό κατάλογο. Σιγουρευτείτε έτσι ώστε να πάρετε εκδόσεις οι οποίες να ταιριάζουν την τρέχουσα Qt εγκατεστημένη έκδοση.

\paragraph{}\textbf{Συντάξτε το SIP}\\

\begin{verbatim}
c:\Qt\4.7.0\bin\qtvars.bat 
python configure.py -p win32-g++ 
make 
make install 
\end{verbatim}

\paragraph{}\textbf{Συντάξτε το PyQt}\\

\begin{verbatim}
c:\Qt\4.7.0\bin\qtvars.bat 
python configure.py 
make 
make install 
\end{verbatim}

\paragraph{}\textbf{Οι τελικές Python σημειώσεις}\\

/!$\backslash$ Μπορείτε να σβήσετε τους καταλόγους με τους απακετάριστους SIP και PyQt4 πηγαίους κώδικες, έπειτα απο μία επιτυχημένη εγκατάσταση, δεν είναι πλέον απαραίτητοι.

\minisec{Subversion}
Για να ελέγξετε τους πηγαίους κώδικες του QGIS απο το αποθετήριο, χρειάζεστε Subversion client. O εγκαταστάτης θα έπρεπε να δουλεύει καλά:

\htmladdnormallink{http://www.sliksvn.com/pub/Slik-Subversion-1.6.13-win32.msi}{http://www.sliksvn.com/pub/Slik-Subversion-1.6.13-win32.msi}

\minisec{CMake}
Το cmake είναι σύστημα “build” που χρησιμοπιείται απο το QGIS. Κατεβάστε το απο τον παρακάτω σύνδεσμο:

\htmladdnormallink{http://www.cmake.org/files/v2.8/cmake-2.8.2-win32-x86.exe}{http://www.cmake.org/files/v2.8/cmake-2.8.2-win32-x86.exe}

\minisec{QGIS}
Ξεκινήστε ένα cmd.exe window ( Start -$>$ Run -$>$ cmd.exe ) Δημιουργήστε κατάλογο ανάπτυξης και μετακινηθείτε μέσα σ'αυτόν

\begin{verbatim}
md c:\dev\cpp 
cd c:\dev\cpp 
\end{verbatim}

Ελέξτε τον πηγαίο κώδικα απο το SVN:

Για αποθετήριο του SVN:

\begin{verbatim}
svn co https://svn.osgeo.org/qgis/trunk/qgis 
\end{verbatim}

Για παρακλάδι του SVN 1.5

\begin{verbatim}
svn co https://svn.osgeo.org/qgis/branches/Release-1_5_0 qgis1.5.0
\end{verbatim}

\minisec{Σύνταξη}
Σαν background, διαβάστε το γενικό χτίσιμο με Cmake σημειώσεις στο τέλος αυτού του εγγράφου.

Ξεκινήστε ένα cmd.exe window ( Start -$>$ Run -$>$ cmd.exe ) αν δεν έχετε ξεκινήσει ήδη ένα. Προσθέστε τις διαδρομές καταλόγων (paths) στον συντάκτη και στο MSYS περιβάλλον μας: 

\begin{verbatim}
c:\Qt\4.7.0\bin\qtvars.bat 
\end{verbatim}

Για ευκολία χρήσης προσθέστε c:$\backslash$Qt$\backslash$4.7.0$\backslash$bin$\backslash$ στη διαδρομή του συστήματος σας στις ιδιότητες του συστήματος οπότε μπορείτε απλά να πληκτρολογήσετε qtvars.bat όταν ανοίγετε τη cmd κονσόλα. Δημιουργήστε κατάλογο χτισίματος και θέστε τον ως τρέχοντα κατάλογο:

\begin{verbatim}
cd c:\dev\cpp\qgis 
md build 
cd build 
\end{verbatim}

\minisec{Ρύθμιση}
\begin{verbatim}
cmakesetup ..  
\end{verbatim}

\textbf{Σημείωση:} πρέπει να συμπεριλάβετε τα εισαγωγικά ’..’ παραπάνω.

Κάντε κλικ στο κουμπί Configure. Όταν ζητηθέι, επιλέξτε ’MinGW Makefiles’  για την αναπαραγωγή.

Υπάρχει ένα πρόβλημα με τα MinGW αρχεία make στο Win2K. Αν συντάσετε σ'αυτή την πλατφόρμα χρησιμοποιήστε τα  ’MSYS Makefiles’ για αναπαραγωγή.

Όλες οι εξαρτησίες θα επιλεγούν αυτόματα, αν έχετε θέσει τις διαδρομές αυτόματα. Το μόνο πράγμα που χρειάζεται να αλλάξετε είναι ο προορισμός εγκατάστασης (CMAKE\_INSTALL\_PREFIX) και/ή να θέσετε 'Debug'.

Για συμβατότητα με τα script πακεταρίσματος προτείνω να αφήσετε το prefix εγκατάστασης στην εξ'οριμού τοποθεσία c:$\backslash$program files$\backslash$

Όταν τελειώσει η ρύθμιση, κάντε κλικ στο ΟΚ για να κλείσετε τη λειτουργία του setup.

\minisec{Σύνταξη και εγκατάσταση}
\begin{verbatim}
 make make install 
\end{verbatim}

\minisec{Τρέξτε το qgis.exe απο τον κατάλογο στον οποίο έχει εγκατασταθεί (CMAKE\_INSTALL\_PREFIX)}
Σιγουρευτείτε να αντιγράψετε όλα τα .dll:s που χρειάζονται στον ίδιο κατάλογο όπου το qgis.exe δυαδικό έχει εγκατασταθεί επίσης, αν δεν έχει γίνει ήδη, αλλιώς το QGIS θα παραπονεθεί για βιβλιθήκες που λείπουν όταν ξεκινήσει.

Μια πιθανότητα είναι να τρέξετε το qgis.exe όταν η διαδρομή σας περιέχει c:$\backslash$msys$\backslash$local$\backslash$bin και
c:$\backslash$msys$\backslash$local$\backslash$lib καταλόγους, ώστε τα DLL να χρησιμοποιηθούν απο αυτό το μέρος.

\minisec{Δημιουργήστε το πακέτο εγκατάστασης (προαιρετικό)}
Κατεβάστε και εγκαταστήστε το NSIS απο (\htmladdnormallink{http://nsis.sourceforge.net/Main\_Page}{http://nsis.sourceforge.net/Main\_Page})

Τώρα χρησιμοποιώντας τον windows explorer, εισάγετε τον win\_build φάκελο στον QGIS πηγαίο κατάλογο. Διαβάστε το READMEfile εκεί και ακολουθήστε τις οδηγίες. Έπειτα κάντε δεξί κλικ στο qgis.nsi και επιλέξτε το 'Compile NSIS Script'. 

\hypertarget{toc17}{}
\subsubsection{5.3.2 Δημιουργία του MSYS περιβάλλοντος για σύνταξη του Quantum GIS}
\minisec{Αρχικό setup}
\paragraph{}\textbf{MSYS}\\

Αυτό ειναι το περιβάλλον που προμηθεύει πολλές ωφέλειες απο τον κόσμο των Unix στα windows και χρειάζεται απο πολλές εξαρτησίες για να μπορεί να συνταχθεί.

Κατεβάστε το απο δω:

	\begin{quotation}
\htmladdnormallink{http://puzzle.dl.sourceforge.net/sourceforge/mingw/MSYS-1.0.11-2004.04.30-1.exe}{http://puzzle.dl.sourceforge.net/sourceforge/mingw/MSYS-1.0.11-2004.04.30-1.exe}
	\end{quotation}

Κάντε την εγκατάσταση στο \texttt{c:$\backslash$msys}

Οτιδήποτε πρόκειται να συντάξουμε θα παέι σε αυτό το φάκελο.

\paragraph{}\textbf{MinGW}\\

Κατεβάστε το απο δω:

	\begin{quotation}
\htmladdnormallink{http://puzzle.dl.sourceforge.net/sourceforge/mingw/MinGW-5.1.3.exe}{http://puzzle.dl.sourceforge.net/sourceforge/mingw/MinGW-5.1.3.exe}
	\end{quotation}

Κάντε την εγκατάσταση στο \texttt{c:$\backslash$msys$\backslash$mingw}

Επαρκή να κατεβάσετε και να εγκαταστήσετε μόνο τα στοιχεία \texttt{g++} και \texttt{mingw-make}. 

\paragraph{}\textbf{Flex και Bison}\\

Τα Flex και Bison είναι εργαλεία για την αναπαραγωγή των “parsers”, χρειάζονται για το GRASS όπως επίσης και τη σύνταξη τoυ QGIS.

Κατεβάστε τα ακόλουθα πακέτα:

	\begin{quotation}
\htmladdnormallink{http://gnuwin32.sourceforge.net/downlinks/flex-bin-zip.php}{http://gnuwin32.sourceforge.net/downlinks/flex-bin-zip.php}
	\end{quotation}

	\begin{quotation}
\htmladdnormallink{http://gnuwin32.sourceforge.net/downlinks/bison-bin-zip.php}{http://gnuwin32.sourceforge.net/downlinks/bison-bin-zip.php}
	\end{quotation}

	\begin{quotation}
\htmladdnormallink{http://gnuwin32.sourceforge.net/downlinks/bison-dep-zip.php}{http://gnuwin32.sourceforge.net/downlinks/bison-dep-zip.php}
	\end{quotation}

Αποσυμπιέστε τα όλα στην τοποθεσία \texttt{c:$\backslash$msys$\backslash$local}

\minisec{Εγκαθιστώντας τιε εξαρτησίες}
\paragraph{}\textbf{Η ετοιμασία}\\

O Paul Kelly έκανε μια σπουδαία δουλειά και ετοίμασε ένα πακέτο απο συνταγμένες βιβλιοθήκες για το GRASS. Το πακέτο συμπεριλαμβάνει:

\begin{itemize}
\item zlib-1.2.3
\item libpng-1.2.16-noconfig
\item xdr-4.0-mingw2
\item freetype-2.3.4
\item fftw-2.1.5
\item PDCurses-3.1
\item proj-4.5.0
\item gdal-1.4.1
\end{itemize}

Είναι διαθέσιμο για κατέβασμα απο την τοποθεσία:

	\begin{quotation}
\htmladdnormallink{http://www.stjohnspoint.co.uk/grass/wingrass-extralibs.tar.gz}{http://www.stjohnspoint.co.uk/grass/wingrass-extralibs.tar.gz}
	\end{quotation}

Επιπλέον άφησε τις σημειώσεις για το πως να το συντάξετε (για όσους ενδιαφέρονται):

	\begin{quotation}
\htmladdnormallink{http://www.stjohnspoint.co.uk/grass/README.extralibs}{http://www.stjohnspoint.co.uk/grass/README.extralibs}
	\end{quotation}

Αποσυμπιέστε όλο το πακέτο στην τοποθεσία \texttt{c:$\backslash$msys$\backslash$local}

\paragraph{}\textbf{GRASS}\\

Πάρτε τον πηγαίο κώδικα απο το CVS, βλέπετε παρακάτω:

	\begin{quotation}
\htmladdnormallink{http://grass.itc.it/devel/cvs.php}{http://grass.itc.it/devel/cvs.php}
	\end{quotation}

Στην MSYS κονσόλα πηγαίνετε στον κατάλογο στον οποίο αποσυμπιέσατε (π.χ. \texttt{c:$\backslash$msys$\backslash$local$\backslash$src$\backslash$grass-6.3.cvs})

Τρέξτε τις παρακάτω εντολές:

\begin{verbatim}
export PATH="/usr/local/bin:/usr/local/lib:$PATH"
./configure --prefix=/usr/local --bindir=/usr/local --with-includes=/usr/local/include \
--with-libs=/usr/local/lib --with-cxx --without-jpeg --without-tiff \
--with-postgres=yes --with-postgres-includes=/local/pgsql/include \
--with-pgsql-libs=/local/pgsql/lib --with-opengl=windows --with-fftw \
--with-freetype --with-freetype-includes=/mingw/include/freetype2 --without-x \
--without-tcltk --enable-x11=no --enable-shared=yes \
--with-proj-share=/usr/local/share/proj
make
make install
\end{verbatim}

Θα έπρεπε να εγκατασταθεί στην τοποθεσία \texttt{c:$\backslash$msys$\backslash$local$\backslash$grass-6.3.cvs}

Παρεπιπτόντως αυτές οι σελίδες μπορεί να φανούν χρήσιμες:

\begin{itemize}
\item \htmladdnormallink{http://grass.gdf-hannover.de/wiki/WinGRASS\_Current\_Status}{http://grass.gdf-hannover.de/wiki/WinGRASS\_Current\_Status}
\item \htmladdnormallink{http://geni.ath.cx/grass.html}{http://geni.ath.cx/grass.html}
\end{itemize}

\paragraph{}\textbf{GEOS}\\

Κατεβάστε τους πηγαίους κώδικες:

	\begin{quotation}
\htmladdnormallink{http://geos.refractions.net/geos-2.2.3.tar.bz2}{http://geos.refractions.net/geos-2.2.3.tar.bz2}
	\end{quotation}

Απουμπιέστε στην τοποθεσία π.χ. \texttt{c:$\backslash$msys$\backslash$local$\backslash$src}

Για να συντάξετε, έπρεπε να προσθέσω τους πηγαίους κώδικες: στο αρχείο \texttt{source/headers/timeval.h}  γραμμη 13.
Αλλάξτε το απο:

\begin{verbatim}
#ifdef _WIN32
\end{verbatim}
σε:

\begin{verbatim}
#if defined(_WIN32) && defined(_MSC_VER)
\end{verbatim}

Τώρα στην MSYS κονσόλα, πηγαίνετε στον πηγαίο κατάλογο και τρέξτε:

\begin{verbatim}
./configure --prefix=/usr/local
make
make install
\end{verbatim}

\paragraph{}\textbf{SQLITE}\\

Μπορείτε να χρησιμοποιήσετε προσυνταγμένα DLL, δεν χρειάζεται να συντάξετε απο τον πηφαίο κώδικα:

Κατεβάστε το αρχείο:

	\begin{quotation}
\htmladdnormallink{http://www.sqlite.org/sqlitedll-3\_3\_17.zip}{http://www.sqlite.org/sqlitedll-3\_3\_17.zip}
	\end{quotation}

και αντιγράψτε το sqlite3.dll στο \texttt{c:$\backslash$msys$\backslash$local$\backslash$lib}

Έπειτα κατεβάστε αυτό το αρχείο:

	\begin{quotation}
\htmladdnormallink{http://www.sqlite.org/sqlite-source-3\_3\_17.zip}{http://www.sqlite.org/sqlite-source-3\_3\_17.zip}
	\end{quotation}

και αντιγράψτε το sqlite3.h στο \texttt{c:$\backslash$msys$\backslash$local$\backslash$include}

\paragraph{}\textbf{GSL}\\

Κατεβάστε τον πηγαίο κώδικα:

	\begin{quotation}
\htmladdnormallink{ftp://ftp.gnu.org/gnu/gsl/gsl-1.9.tar.gz}{ftp://ftp.gnu.org/gnu/gsl/gsl-1.9.tar.gz}
	\end{quotation}

Αποσυμπιέστε στο \texttt{c:$\backslash$msys$\backslash$local$\backslash$src}

Απο την MSYS τρέξτε κονσόλα στον πηγαίο κατάλογο:

\begin{verbatim}
./configure
make
make install
\end{verbatim}

\paragraph{}\textbf{EXPAT}\\

Κατεβάστε τους πηγαίους κώδικες:

	\begin{quotation}
\htmladdnormallink{http://dfn.dl.sourceforge.net/sourceforge/expat/expat-2.0.0.tar.gz}{http://dfn.dl.sourceforge.net/sourceforge/expat/expat-2.0.0.tar.gz}
	\end{quotation}

Αποσυμπιέστε στην θέση \texttt{c:$\backslash$msys$\backslash$local$\backslash$src}

Τρέξτε απο την MSYS κονσόλα στον πηγαίο κατάλογο:

\begin{verbatim}
./configure
make
make install
\end{verbatim}

\paragraph{}\textbf{POSTGRES}\\

Θα χρησιμοποιήσουμε προσυνταγμένα αρχεία (binary). Χρησιμοποιήστε το σύνδεσμο παρακάτω για να κατεβάσετε:

	\begin{quotation}
\url{http://wwwmaster.postgresql.org/download/mirrors-ftp}
	\end{quotation}

αντιγράψτε το περιεχόμενο του pgsql καταλόγου απο το αρχείο στο \texttt{c:$\backslash$msys$\backslash$local}

\minisec{Καθάρισμα}
Τελειώσαμε με την ετοιμασία του MSYS περιβάλλοντος. Τώρα μπορείτε να διαγράψετε οτιδήποτε βρίσκεται στην τοποθεσία \texttt{c:$\backslash$msys$\backslash$local$\backslash$src} - πιάνει πολλύ χώρο και δεν είναι καθόλου απαραίτητο.


\hypertarget{toc18}{}
\subsection{5.4 MacOS X: χτίσιμο με τη χρήση frameworks και του Cmake}
Σ'αυτή την προσέγγιση θα προσπαθήσω να αποφύγω όσο το δυνατόν περισσότερο το χτίσιμο των εξαρτησιών απο τον πηγαίο κώδικα και θα χρησιμοποιήσω frameworks όπου είναι δυνατόν.

Το βασικό σύστημα είναι Mac OS X 10.4 (\underline{Tiger}), με μία μοναδική χτισμένη αρχιτεκτονική.
Συμπεριλαμβάνονται μερικές σημειώσεις για το χτίσιμο σε  Mac OS X 10.5 (\underline{Leopard}) και 10.6 (\underline{Snow Leopard}).
Σιγουρευτείτε ότι θα διαβάσετε κάθε κεφάλαιο ολόκληρο πριν γράψετε την πρώτη εντολή που θα δείτε.

\underline{Γενική σημείωση πάνω στη χρήση του τερματικού:}  όταν λέω “cd” για ένα φάκελο στο τερματικό, σημαίνει ότι θα γράψετε “cd” (χωρίς τα εισαγωγικά, σιγουρευτείτε ότι θα πατήσετε space μετά) και μετά τη διαδρομή στον φάκελο που αναφέραμε και μετά $<$return$>$. Ένας απλός τρόπος να το κάνετε αυτό χωρίς να χρειάζεται να ξέρετε και να γράψετε την πλήρες διαδρομή είναι, μετά το κομμάτι με το “cd”, σείρετε το φάκελο (χρησιμοποιήστε το εικονίδιο του στην μπάρα τίτλου του παραθύρου του ή σύρετε ένα παράθυρο απο το εσωτερικό ενος παραθύρου) απο την επιφάνειες εργασίας στο τερματικό και μετά πατήστε $<$return$>$.

\underline{Παράλληλη σύνταξη:} σε πολυεπεξεργαστές/πολυπύρηνα Macs, είναι δυνατόν να επιταχύνουμε τη σύνταξη, αλλά δεν γίνεται αυτόματα. Όποτε θα πληκτρολογείτε “make” (αλλά όχι “make install”), αντιθέτως πατήστε:

\begin{verbatim}
make -j [n]
\end{verbatim}

Αντικαταστήστε το  [n] με τον αριθμό των πυρήνων και/ή των επεξεργαστών που έχει το ο Mac σας. Στα πρόσφατα μοντέλα με hyper-threading επεξεργαστές μπορεί αν είναι ο διπλός αριθμός επεξεργαστών και πυρήνων.

π.χ. Mac Pro "8 Core" μοντέλο (2 επεξεργαστές) = 8

π.χ. Macbook Pro i5 (hyperthreading) = 2 πυρήνες  X 2 = 4

\hypertarget{toc19}{}
\subsubsection{Εγκατάσταση του Qt4 απο το .dmg}
Χρειάζεστε τουλάχιστον το Qt4-4.4.0 Προτείνω να πάρετε το τελευταίο.

\underline{Σημείωση γαι το Snow Leopard:} Εν χτίζετε στο Snow Leopard, θα χρειαστεί να αποφασίσετε ανάμεσα στην 32-bit υποστήριξη στο παλαιότερο Qt Carbon παρακλάδι ή 64-bit υποστήριξη στο Qt Cocoa παρακλάδι. Οι κατάλληλοι εγκαταστάτες είναι διαθέσιμοι και για τα δύο του Qt-4.5.2. Qt 4.6+ προτείνεται για το Cocoa. 

\underline{Σημείωση για το PPC:} Φαίνεται να υπάρχουν προβλήματα με το Qt Cocoa στα PPC Macs. Προτείνεται το Qt Carbon στα PPC Macs. 

\begin{verbatim}
http://qt.nokia.com/downloads
\end{verbatim}

Αν θέλετε debug frameworks, το Qt παρέχει επίσης ένα dmg με αυτά. Αυτά είναι επιπρόσθετα στα non-debug frameworks.

Αφού έχουν κατέβει ανοίξτε το dmg και ανοίξτε τον εγκαταστάτη. Σημειώστε ότι χρειάζεστε προνόμια διαχειριστή για να εγκαταστήσετε.

\underline{Σημείωση για το Qt:} Ξεκινώντας στο Qt4.4, προστέθηκε το libQtCLucene, και στην έκδοση 4.5 τα libQtUiTools προστέθηκαν, και τα δύο στη θέση /usr/lib. Όταν χρησιμοποιήσετε ένα SDK σύστημα αυτές οι βιβλιοθήκες δεν θα βρεθούν. Για να διορθώσετε αυτό το πρόβλημα, προσθέστε συμβολικούς συνδέσμους (symlinks) στη θέση /usr/local:

\begin{verbatim}
sudo ln -s /usr/lib/libQtUiTools.a /usr/local/lib/
sudo ln -s /usr/lib/libQtCLucene.dylib /usr/local/lib/
\end{verbatim}

Αυτά θα έπρεπε να βρεθούν αυτόματα μετά στο Leopard και παραπάνω. Πιο πρόσφατα συστήματα ίσως χρειαστούν λίγη βοήθεια προσθέτοντας '-L/usr/local/lib' στο CMAKE\_SHARED\_LINKER\_FLAGS, CMAKE\_MODULE\_LINKER\_FLAGS και CMAKE\_EXE\_LINKER\_FLAGS στο χτίσιμο του cmake.

\hypertarget{toc20}{}
\subsubsection{Εγκαταστήστε τα frameworks ανάπτυξης για τις εξαρτησίες του QGIS}
Κατεβάστε το πλήρες και άριστο GDAL πακέτο του William Kyngesburye το οποίο περιλαμβάνει τα PROJ, GEOS, GDAL, SQLite3 και εικονικές βιβλιθήκες, ως frameworks. Υπάρχει επίσης και ένα GSL framework.

\begin{verbatim}
http://www.kyngchaos.com/wiki/software/frameworks
\end{verbatim}

Αφού κατέβουν, ανοίξτε και εγκαταστήστε τα frameworks.

Ο William παρέχει ένα επιπρόσθετο πακέτο εγκαταστάτη για την Postgresql (για υποστήριξη PostGIS). Το QGIS χρειάζεται απλά την “client” libpq βιβλιθήκη, οπότε εκτός αν θέλετε να ρυθμίσετε ολόκληρο τον Postgres + PostGIS server, το μόνο που χρειάζεστε είναι το πακέτο client-only. Είναι διαθέσιμο στο παρακάτω σύνδεσμο:

\begin{verbatim}
http://www.kyngchaos.com/wiki/software/postgres 
\end{verbatim}

Επίσης διαθέσιμη είναι και μια GRASS εφαρμογή:

\begin{verbatim}
http://www.kyngchaos.com/wiki/software/grass
\end{verbatim}

\minisec{Επιπρόσθετες εξαρτησίες: σημείωση γενικής συμβατότητας}
Υπάρχουν μερικές επιπρόσθετες εξαρτησίες, όταν γράφτηκε αυτό το εγχειρίδιο, δεν παρέχονται σαν frameworks ή εγκαταστάτες οπότε θα χρειαστεί να τα χτίσετε απο τομ πηγαίο κώδικα. Αν θέλετε να χτίσετε το Qgis σαν μια 64-bit εφαρμογή, θα χρειαστεί να παρέχετε τις κατάλληλες build εντολές για να παράγετε 64-bit υποστήριξη στις εξαρτησίες. Παρόμοια, για την 32-bit υποστήριξη στο Snow Leopard, χρειάζεται να παρακάμψετε την εξ'ορισμού αρχιτεκτονική του συστήματος, η οποία είναι 64-bit, σύμφωνα με τις οδηγίες για τα πακέτα μεμονομένων εξαρτησιών.

Προτιμούνται οι σταθερές εκδόσεις. Οι εκδόσεις Beta όπως και άλλες εκδόσεις μπορεί να εχουν προβλήματα και με αυτά δεν θα έχετε βοήθεια.

\minisec{Επιπρόσθετες εξαρτησίες: Expat}
\underline{Σημείωση για το Snow Leopard:} Το Snow Leopard περιέχει ένα χρήσιμο expat, οπότε αυτό το βήμα δεν είναι απαραίτητο στο Snow Leopard.

Πάρτε τον πηγαίο κώδικα του expat απο:

\begin{verbatim}
http://sourceforge.net/project/showfiles.php?group_id=10127 
\end{verbatim}

Κάντε διπλό κλικ στο πηγαίο tarball για να αποσυμπιεστεί, μετά, στο Τερματικό, γράψτε cd στον πηγαίο φάκελο και:

\begin{verbatim}
./configure
make 
sudo make install 
\end{verbatim}

\minisec{Επιπρόσθετες εξαρτησίες: Python}
\underline{Σημείωση για το Leopard και το Snow Leopard:} Το Leopard και το Snow Leopard συμπεριλαμβάνουν ένα χρήσιμο Python 2.5. και 2.6, αντίστοιχα. Οπότε δεν χρειάζεται να εγκαταστήσετε την Python στο Leopard και στο Leopard Snow. Μπορείτε βέβαια αν θέλετε να εγκαταστήσετε την Python απο το python.org.

Αν εγκαταστήσετε απο το python.org, σιγουρευτείτε ότι θα εγκαταστήσετε τουλάχιστον την τελευταία  Python 2.x απο 

\begin{verbatim}
http://www.python.org/download/
\end{verbatim}

H Python 3 είναι μια μεγάλη αλλαγή, και μπορεί να έχει προβλήματα συμβατότητας, οπότε το δοκιμάζετε με δικό σας ρίσκο..

\minisec{Επιπρόσθετες εξαρτησίες: SIP}
Ανακτήστε την εργαλειοθήκη συνδέσεων της Python SIP απο τη σελίδα

\begin{verbatim}
http://www.riverbankcomputing.com/software/sip/download
\end{verbatim}

κάντε διπλό κλικ στο πηγαίο tarball για να το ανοίξετε, μετά, στο Τερματικό, γράψτε cd στον πηγαίο φάκελο και μετά (εγκαθίσταται εξ'ορισμού στο Python framework, και είναι κατάλληλο μόνο για εγκαταστάσεις Python απο το python.org): 

\begin{verbatim}
python configure.py 
make 
sudo make install 
\end{verbatim}

\underline{Σημειώσεις Leopard}

Αν χτίσετε πάνω σε Leopard,χρησιμοποιώντας την πακεταρισμένη Python του Leopard, στο SIP θα εγκατασταθεί στη διαδρομή του συστήματος – αυτό δεν είναι καλή ιδέα. Αντιθέτως, χρησιμοποιήστε την παρακάτω εντολή ρύθμισης αντί για τη βασική ρύθμιση παραπάνω:

\begin{verbatim}
python configure.py -n -d /Library/Python/2.5/site-packages -b /usr/local/bin \
-e /usr/local/include -v /usr/local/share/sip -s MacOSX10.5.sdk
\end{verbatim}

\underline{Σημειώσεις για το Snow Leopard}

Παρόμοια με το Leopard, η εγκατάσταση θα έπρεπε να γίνει εκτός της διαδρομής του συστήματος της Python. Επίσης χρειάζεται να καθορίσετε την αρχιτεκτονική που θέλετε (απαιτείται τουλάχιστον SIP 4.9), και σιγουρευτείτε ότι θα τρέξετε τη δυαδική (binary) έκδοση της python (αυτό ανταποκρίνεται στην εντολή “arch”, ενώ η python όχι). Αν χρησιμοποιείται Qt 32-bit (Qt Carbon):

\begin{verbatim}
python2.6 configure.py -n -d /Library/Python/2.6/site-packages -b /usr/local/bin \
-e /usr/local/include -v /usr/local/share/sip --arch=i386 -s MacOSX10.6.sdk
\end{verbatim}

Για Qt 64-bit (Qt Cocoa), χρησιμοποιείστε αυτή τη γραμμή ρύθμισης:

\begin{verbatim}
python2.6 configure.py -n -d /Library/Python/2.6/site-packages -b /usr/local/bin \
-e /usr/local/include -v /usr/local/share/sip --arch=x86_64 -s MacOSX10.6.sdk
\end{verbatim}

\minisec{Επιπρόσθετες εξαρτησίες: PyQt}
Ανακτήστε την εργαλειοθήκη συνδέσεων της Python για την Qt απο το σύνδεσμο

\begin{verbatim}
http://www.riverbankcomputing.com/software/pyqt/download
\end{verbatim}

Κάντε διπλό κλικ στο πηγαίο tarball για να το ανοίξετε, μετά, στο Τερματικό γράψτε cd στον πηγαίο κώδικα και (θα εγκατασταθεί εξ' οσιμού στο framework της Python), και είναι κατάλληλο μόνο για εγκαταστάσεις της Python απο το python.org):

\begin{verbatim}
python configure.py 
yes 
\end{verbatim}

Υπάρχει ένα πρόβλημα με τη ρύθμιση που οποία χρειάζεται να φτιαχτεί τώρα (επηρεάζει τη μετέπειτα σύνταξη του PyQwt).  Ανοίξτε το pyqtconfig.py
 και αλλάξτε τη qt\_dir line σε:

\begin{verbatim}
    'qt_dir': '/usr',
\end{verbatim}

Μετά συνεχίστε με τη σύνταξη και την εγκατάσταση (αυτό είναι καλό μέρος για να συνεχίσετε την παράλληλη σύνταξη, αν μπορείτε):

\begin{verbatim}
make 
sudo make install 
\end{verbatim}

\underline{Σημειώσεις για το Leopard}

Αν χτίσετε πάνω σε Leopard,χρησιμοποιώντας την πακεταρισμένη Python του Leopard, το PyQt θα εγκατασταθεί στη διαδρομή του συστήματος – δεν είναι καλή ιδέα. Χρησιμοποιήστε την παρακάτω εντολή ρύθμισης, αντί για τη βασική ρύθμιση παραπάνω:

\begin{verbatim}
python configure.py -d /Library/Python/2.5/site-packages -b /usr/local/bin
\end{verbatim}

Αν υπάρχει κάποιο πρόβλημα με απροσδιόριστα σύμβολα στο QtOpenGL του Leopard, επιμεληθείτε το QtOpenGL/makefile και προσθέστε -απροσδιόριστο dynamic\_lookup στο LFLAGS.
Μετά ξαναδώστε την εντολή make.

\underline{Σημειώσεις για το Snow Leopard}

όπως και στο Leopard η εγκατάσταση πρέπει να γίνει έξω απο τη διαδρομή εγκατάστασης του Python. Επίσης χρειάζεται να καθοριστεί η αρχιτεκτονική που θέλετε (απαιτείται τουλάχιστον PyQt 4.6) και σιγουρευτείτε να τρέξετε τη δυαδική (binary) έκδοση της Python (αυτή ανατποκρίνεται στην εντολή 'arch', η οποία ειναι σημαντική για το pyuic4, ενώ η Python δεν ανταποκρίνεται). Αν χρησιμοποιείται 32-bit Qt (Qt Carbon):

\begin{verbatim}
python2.6 configure.py -d /Library/Python/2.6/site-packages -b /usr/local/bin \
--use-arch i386
\end{verbatim}

Για 64-bit Qt (Qt Cocoa), χρησιμποιήστε αυτή τη γραμμή ρύθμισης:

\begin{verbatim}
python2.6 configure.py -d /Library/Python/2.6/site-packages -b /usr/local/bin \
--use-arch x86_64
\end{verbatim}

\minisec{Επιπρόσθετες εξαρτησίες: Qwt/PyQwt}
Το εργαλείο ανίχνευσης του GPS χρησιμοποιεί Qwt. Μερικά διάσημα εξωγενή plugin χρησιμοποιούν PyQwt. Μπορείτε να τα προσέξετε και τα δύο με τον πηγαίο κώδικα του PyQwt απο τη σελίδα:

\begin{verbatim}
http://pyqwt.sourceforge.net/
\end{verbatim}

Κάντε διπλό κλικ στο tarball για να το ανοίξετε. Τα ακόλουθα παίρνουν σαν δεδομένο το PyQwt v5.2.0 (έρχεται μαζί με το Qwt 5.2.1). Η κανονική σύντξη κάνει και το Qwt αλλά και το PyQwt ταυτόχρονα, αλλά το Qwt είναι στατικά συνδεδεμένο με το PyQwt, και το Qgis δεν μπορεί να το χρησιμοποιήσει. Οπότε πρέπει να χωρίσουμε το BUILD .

Πρώτα επιμεληθείτε το qwtconfig.pri στον υποκατάλογο qwt-5.2 και αλλάξτε μερικές ρυθμίσεις έτσι ώστε να μην πάρετε μια φουσκωμένη στατική βιβλιοθήκη debug(κρίμα που αυτά δεν είναι ρυθμύσιμα απο απο το qmake). Κυλίστε προς τα κάτω στο τετράγωνο ’release/debug mode’. Επιμεληθείτε την τελευταία γραμμή που λέει:’CONFIG +=’, μέσα σε ένα τετράγωνο else, και αλλάξτε το 'debug' σε 'release'.  Όπως φαίνεται παρακάτω:

\begin{verbatim}
    else {
        CONFIG           += release     # release/debug
    }
\end{verbatim}

Επίσης αφαιρέστε τα σχόλια απο τη γραμμή (αφαιρέστε το \# prefix) 'CONFIG += QwtDll'. Όπως φαίνετααι παρακάτω:

\begin{verbatim}
CONFIG           += QwtDll
\end{verbatim}

Αν χτίζετε για Qt Carbon 32-bit στο Snow Leopard, προσθέστε, μια γραμμή στο τέλος:

\begin{verbatim}
CONFIG += x86
\end{verbatim}

Σώστε το και κλείστε το.

Τώρα, μπείτε με εντολή 'cd' στον υποκατάλογο qwt-5.2 σε ένα Τερματικό. Γράψτε τις παρακάτω εντολές για να χτίσετε και να εγκαταστήσετε:

\begin{verbatim}
qmake -spec macx-g++
make
sudo make install
sudo install_name_tool -id /usr/local/qwt-5.2.1-svn/lib/libqwt.5.dylib \
/usr/local/qwt-5.2.1-svn/lib/libqwt.5.dylib
\end{verbatim}

Η κοινή Qwt βιβλιοθήκη είναι πλέον εγκατεστημένη στο /usr/local/qwt-5.x.x[-svn] (xx είναι η μικρότερου σημείου εκδοση και μπορεί να είναι μια SVN έκδοση). Θυμηθείτε το αυτό για τη ρύθμιση του QGIS και PyQwt. .

Τώρα για το PyQwt. Γράφουμε στο τερματικό:

\begin{verbatim}
cd ../configure
python configure.py --extra-include-dirs=/usr/local/qwt-5.2.1-svn/include \
--extra-lib-dirs=/usr/local/qwt-5.2.1-svn/lib --extra-libs=qwt
make
sudo make install
\end{verbatim}

Σιγουρευτείτε να χρησιμοποιήσετε τη διαδρομή εγκατάστασης qwt απο το ήδη χτισμένο Qwt παραπάνω.

\underline{Σημείωση για το Snow Leopard}

Αν χρησιμοποιείται το Qt Carbon, χρειάζεται να καθορίσετε ποιές αρχιτεκτονικές θα χτίσετε, αλλίώς θα οδηγηθείτε σε ένα συνδιασμό ο οποίος δεν δουλεύει (δηλαδή x86_64 για ένα Carbon Qt
). Δεν είναι απαραίτητο για το Qt Cocoa. Ρυθμίστε όπως παρακάτω:

\begin{verbatim}
python configure.py --extra-cflags="-arch i386" --extra-cxxflags="-arch i386" \
--extra-lflags="-arch i386" --extra-include-dirs=/usr/local/qwt-5.2.1-svn/include \
--extra-lib-dirs=/usr/local/qwt-5.2.1-svn/lib --extra-libs=qwt
\end{verbatim}

\minisec{Επιπρόσθετες εξαρτησίες: Bison}
\underline{Σημείωση για το Leopard και το Snow Leopard:} Το Leopard και το Snow Leopard συμπεριλαμβάνουν το Bison 2.3, οπότε αυτό το βήμα μπορεί να προσπεραστεί για το Leopard και το Leopard Snow.

Η έκδοση του Bison που είναι εξ' ορισμού διαθέσιμη στο Mac OS X 10.4 είναι πολύ παλιά οπότε πρέπει να βάλετε μια πιο πρόσφατη στο σύστημά σας. Κατεβάστε τουλάχιστον την έκδοση 2.3 απο:

\begin{verbatim}
ftp.gnu.org/gnu/bison/
\end{verbatim}

Τώρα χτίστε και εγκαταστήστε το με προεπιλογή το /usr/local. Κάντε διπλό κλικ στο πηγαίο tarball για να το ανοίξετε και μετά πατήστε 'cd' στον πηγαίο φάκελο και:

\begin{verbatim}
./configure --prefix=/usr/local 
make
sudo make install 
\end{verbatim}

\hypertarget{toc21}{}
\subsubsection{Εγκατάσταση του Cmake για OSX}
(Χρειάζεται μόνο για το χτίσιμο του cmake.)

Πάρτε την τελευταία πηγαία έκδοση απο τον παρακάτω σύνδεσμο:

\begin{verbatim}
http://www.cmake.org/cmake/resources/software.html
\end{verbatim}

Δυαδικοί (binary) εγκαταστάτες είναι διαθέσιμοι για OS X, αλλά δεν προτείνονται (οι εκδόσεις 2.4  εγκαθίστανται στο /usr αντί για /usr/local, και οι εκδόσεις είναι μια περίεργη εφαρμογή). Αντιθέτως κατεβάστε τον πηγαίο κώδικα, κάντε διπλό κλικ στο πηγαίο tarball και μετά γράψτε 'cd' στον πηγαίο φάκελο και:

\begin{verbatim}
./bootstrap --docdir=/share/doc/CMake --mandir=/share/man
make
sudo make install
\end{verbatim}

\hypertarget{toc22}{}
\subsubsection{Εγκατάσταση του subversion για OSX}
\underline{Σημείωση για Leopard και Snow Leopard:}To Leopard και το Snow Leopard 
(Xcode 3+) συμπεριλαμβάνουν το SVN, οπότε αυτό το βήμα μπορεί να παρακαμφθεί όσον αφορά το Leopard και το Snow Leopard.

Το σχέδιο [\htmladdnormallink{http://sourceforge.net/projects/macsvn/MacSVN}{http://sourceforge.net/projects/macsvn/MacSVN}] έχει μία build έκδοση του svn που μπορεί να κατεβαστεί. Αν είστε ένα άτομο με κλίση προς τα Γραφικά Περιβάλλοντα Εργασίας ίσως θέλετε να έχετε και τον γραφικό πελάτη (client) επίσης. Αποκτήστε τον πελάτη γραμμής εντολών (command line client) απο:

\begin{verbatim}
curl -O http://ufpr.dl.sourceforge.net/sourceforge/macsvn/Subversion_1.4.2.zip 
\end{verbatim}

Αφού κατέβει αανοίξτε το αρχείο zip και τρέξτε τον εγκαταστάτη.

Χρειάζεται επίσης να εγκαταστήσετε το BerkleyDB διαθέσιμο απο την ίδια τοπθεσία.
\htmladdnormallink{http://sourceforge.net/projects/macsvn/}{website}. Όταν γράφτηκε αυτό το εγχειρίδιο το αρχείο ωρισκόταν εδω:

\begin{verbatim}
curl -O http://ufpr.dl.sourceforge.net/sourceforge/macsvn/Berkeley_DB_4.5.20.zip 
\end{verbatim}

Άλλη μια φορά αποσυμπιέστε και τρέξτε τον εγκαταστάτη.

Στο τέλος πρέπει να σιγουρευτούμε ότι το εκτελέσιμο svn commandline βρίσκεται στη διαδρομή (path).
Προσθέστε την παρακάτω γραμμή στο τέλος του /etc/bashrc χρησιμοποιώντας sudo:

\begin{verbatim}
sudo vim /etc/bashrc 
\end{verbatim}

Και προσθέστε αυτή τη γραμμή στο τέλος πρίν σώσετε και κλείσετε:

\begin{verbatim}
export PATH=/usr/local/bin:$PATH:/usr/local/pgsql/bin 
\end{verbatim}

Το /usr/local/bin πρέπει να είναι πρώτα μέσα στη διαδρομή έστι ώστε το νεότερο bison (το οποίο θα εγκατασταθεί απο τον πηγαίο κώδικα παράκατω) βρίσκεται πριν απο το bison (το οποίο είναι πολλύ παλίο) το οποίο έχει εγκατασταθεί απο το MacOSX

Τώρα κλείστε και ξανανοίξτε το τερματικό για να πάρετε τις ανανεωμένες μεταβλητές.

\hypertarget{toc23}{}
\subsubsection{Έλεγχος του QGIS απο το SVN}
Τώρα θα ελέγξουμε τους πηγαίους κώδικες για το QGIS. Πρώτα δημιουργήσουμε ένα κατάλογο εργασίας στο (ή κάποιο άλλο φάκελο της επιλογής σας):

\begin{verbatim}
mkdir -p ~/dev/cpp cd ~/dev/cpp 
\end{verbatim}

Τώρα έλεγχουμε τις πηγές:

Trunk:

\begin{verbatim}
svn co https://svn.osgeo.org/qgis/trunk/qgis qgis 
\end{verbatim}

Για μια branch έκδοση x.y.z:

\begin{verbatim}
svn co https://svn.qgis.org/qgis/branches/Release-x_y_z qgis-x.y.z
\end{verbatim}

Την πρώτη φορά που θα ελέγξετε τους πηγαίους κώδικες του QGIS πολύ πιθανόν να σας εμφανιστεί ένα μήνυμα που θα μοιάζει με το ακόλουθο:

\begin{verbatim}
 Error validating server certificate for 'https://svn.qgis.org:443':
 - The certificate is not issued by a trusted authority. Use the fingerprint to
   validate the certificate manually!  Certificate information:
 - Hostname: svn.qgis.org
 - Valid: from Apr  1 00:30:47 2006 GMT until Mar 21 00:30:47 2008 GMT
 - Issuer: Developer Team, Quantum GIS, Anchorage, Alaska, US
 - Fingerprint: 2f:cd:f1:5a:c7:64:da:2b:d1:34:a5:20:c6:15:67:28:33:ea:7a:9b
   (R)eject, accept (t)emporarily or accept (p)ermanently?  
\end{verbatim}

Προτείνω να επιλέξετε το 'p' και να δεχτείτε το κλειδί μόνιμα.

\hypertarget{toc24}{}
\subsubsection{Ρυθμίστε το χτίσιμο}
Το Cmake υποστηρίζει χτίσιμο εκτός του πηγαίου κώδικα οπότε θα δημιουργήσουμε έναν κατάλογο “build” για τη διαδικασία του χτισίματος. Το OS X χρησιμοποιεί τον \$\{HOME\}/Applications σαν έναν σταθερό κατάλογο εφαρμογών (του δίνει το εικονίδιο φακέλου των εφαρμογών του συστήματος). Αν έχετε τις κατάλληλες άδειες ίσως να θέλετε να χτίσετε κατευθείαν στο φάκελο σας /Applications. Οι οδηγίες παρακάτω θεωρούν ότι χτίζετε σε έναν προϋπάρχων \$\{HOME\}/Applications κατάλογο.
Ανοίξτε τερματικό και γράψτε 'cd' για να εισέλθετε στον πηγαίο φάκελο του qgis που κατεβάσατε προηγουμένως και μετά:

\begin{verbatim}
mkdir build
cd build
cmake -D CMAKE_INSTALL_PREFIX=~/Applications -D CMAKE_BUILD_TYPE=Release \
-D CMAKE_BUILD_TYPE=MinSizeRel -D WITH_INTERNAL_SPATIALITE=FALSE \
-D QWT_LIBRARY=/usr/local/qwt-5.2.1-svn/lib/libqwt.dylib \
-D QWT_INCLUDE_DIR=/usr/local/qwt-5.2.1-svn/include \
..
\end{verbatim}

Αυτό θα βρεί και θα εγκαταστήσει αυτόματα τα προηγουμένως εγκατεστημένα frameworks, καθώς και την εφαρμογή GRASS αν έχει εγκατασταθεί.

Ή, για να χρησιμοποιήσετε χτίσιμο του GRASS σε στυλ Unix, χρησιμοποιήστε την παρακάτω cmake εντολή (η πιο παλία έκδοση του GRASS θα είναι αυτή που δηλώθηκε στις απαιτήσεις του QGIS, αντικαταστήστε τη διαδρομή και την έκδοση του GRASS όπως απαιτείται):

\begin{verbatim}
cmake -D CMAKE_INSTALL_PREFIX=~/Applications -D CMAKE_BUILD_TYPE=Release \
-D CMAKE_BUILD_TYPE=MinSizeRel -D WITH_INTERNAL_SPATIALITE=FALSE \
-D QWT_LIBRARY=/usr/local/qwt-5.2.1-svn/lib/libqwt.dylib \
-D QWT_INCLUDE_DIR=/usr/local/qwt-5.2.1-svn/include \
-D GRASS_PREFIX=/user/local/grass-6.4.0 \
..
\end{verbatim}

\underline{Σημείωση για το Snow Leopard:} Για να χειριστείτε το 32-bit Qt (Carbon), δημιουργήστε ένα 32-bit python wrapper script και προσθέστε arch flags στη ρύθμιση:

\begin{verbatim}
sudo cat >/usr/local/bin/python32 <<EOF
#!/bin/sh
exec arch -i386 /usr/bin/python2.6 \${1+"\$@"}
EOF

sudo chmod +x /usr/local/bin/python32

cmake -D CMAKE_INSTALL_PREFIX=~/Applications -D CMAKE_BUILD_TYPE=Release \
-D CMAKE_BUILD_TYPE=MinSizeRel -D WITH_INTERNAL_SPATIALITE=FALSE \
-D QWT_LIBRARY=/usr/local/qwt-5.2.1-svn/lib/libqwt.dylib \
-D QWT_INCLUDE_DIR=/usr/local/qwt-5.2.1-svn/include \
-D CMAKE_OSX_ARCHITECTURES=i386 -D PYTHON_EXECUTABLE=/usr/local/bin/python32 \
..
\end{verbatim}

\underline{Σημείωση πακέτου:} Οι παλαιότερες εκδόσεις του Qt μπορεί να έχουν προβήματα με μερικά Qt plugins και το Qgis.  O τρόπος να το αντιμετωπισετε αυτό είναι να πακετάρετε το Qt μέσα στην Qgis εφαρμογή. Μπορείτε να το κάνετε αυτό τώρα ή περιμένετε να δείτε αν υπάρχουν άμεσα “κρασαρίσματα”  όταν τρέξετε το Qgis. Επίσης μια καλή ιδέα είναι να πακετάρετε το Qt αν χρειάζεται να αντιγράψετε το Qgis σε άλλα Mac (εκεί όπου θα έπρεπε να εγκατασήσετε το Xcode έτσι και το Qt θα εγκαθίσταται!) .

Για να πακετάρετε το Qt, προσθέστε την παρακάτω γραμμή πρίν την τελευταία γραμμή στην παραπάνω ρύθμιση του cmake:

\begin{verbatim}
-D QGIS_MACAPP_BUNDLE=1 \
\end{verbatim}

\hypertarget{toc25}{}
\subsubsection{Χτίσιμο}
Τώρα μπορούμε να ξεκινήσουμε τη διαδικασία του χτισίματος (θυμηθείτε την σημείωση της παράλληλης σύνταξης στην αρχή, αυτό είναι ένα καλό μέρος για να τη χρησιμοποιήσετε, αν μπορείτε):

\begin{verbatim}
make 
\end{verbatim}

Αν χτίσετε χωρίς λάθη μπορείτε μετά να το εγκαταστήσετε:

\begin{verbatim}
make install 
\end{verbatim}

ή, για ένα /Applications χτίσιμο:

\begin{verbatim}
sudo make install
\end{verbatim}

