Difference between revisions of "Γεωχωρικές Εφαρμογές Ανοιχτού Κώδικα υπό το Ubuntu-Linux (8.04)"
Wiki-Nikos (talk | contribs) m |
Wiki-Nikos (talk | contribs) |
||
Line 3: | Line 3: | ||
Αυτή η σελίδα περιγράφει βήμα προς βήμα την εγκατάσταση ανοιχτού κώδικα εφαρμογών διαχείρισης γεωχωρικών δεδομένων. Οι οδηγίες αφορούν στην εγκατάσταση των εφαρμογών χρησιμοποιώντας τον πηγαίο κώδικα. | Αυτή η σελίδα περιγράφει βήμα προς βήμα την εγκατάσταση ανοιχτού κώδικα εφαρμογών διαχείρισης γεωχωρικών δεδομένων. Οι οδηγίες αφορούν στην εγκατάσταση των εφαρμογών χρησιμοποιώντας τον πηγαίο κώδικα. | ||
− | + | * Τι είναι ο πηγαίος κώδικας; | |
− | * | + | * Μεταγλώττιση. Δηλαδή; |
+ | * Γλώσσα προγραμματισμού υψηλού επιπέδου | ||
+ | * Γλώσσα μηχανής | ||
+ | * Ποια είναι τα βήματα της μεταγλώττισης του πηγαίου κώδικα | ||
* Λήψη πηγαίου κώδικα | * Λήψη πηγαίου κώδικα | ||
* Ρύθμιση/προετοιμασία | * Ρύθμιση/προετοιμασία | ||
* Μεταγλώττιση | * Μεταγλώττιση | ||
− | + | * Πλεονεκτήματα και μειονεκτήματα χρήσης του πηγαίου κώδικα | |
+ | + | ||
+ | + | ||
Line 25: | Line 28: | ||
sudo apt-get install \ | sudo apt-get install \ | ||
+ | |||
build-essential \ | build-essential \ | ||
+ | |||
make \ | make \ | ||
+ | |||
flex \ | flex \ | ||
+ | |||
bison \ | bison \ | ||
+ | |||
gcc \ | gcc \ | ||
+ | |||
libgcc1 \ | libgcc1 \ | ||
+ | |||
g++ \ | g++ \ | ||
+ | |||
cmake \ | cmake \ | ||
+ | |||
ccache \ | ccache \ | ||
+ | |||
swig swig1.3 \ | swig swig1.3 \ | ||
+ | |||
python python-dev \ | python python-dev \ | ||
+ | |||
python3 python3-dev \ | python3 python3-dev \ | ||
+ | |||
python-qt4 python-qt4-dev \ | python-qt4 python-qt4-dev \ | ||
+ | |||
sip4 \ | sip4 \ | ||
+ | |||
python-sip4 python-sip4-dev \ | python-sip4 python-sip4-dev \ | ||
+ | |||
# python-gdal \ | # python-gdal \ | ||
+ | |||
python-opengl \ | python-opengl \ | ||
+ | |||
libgsl0-dev \ | libgsl0-dev \ | ||
+ | |||
python-wxversion python-wxtools \ | python-wxversion python-wxtools \ | ||
+ | |||
python-wxgtk2.8 \ | python-wxgtk2.8 \ | ||
+ | |||
wx2.8-headers wx-common \ | wx2.8-headers wx-common \ | ||
+ | |||
libwxgtk2.8-dev libwxgtk2.8-dbg \ | libwxgtk2.8-dev libwxgtk2.8-dbg \ | ||
+ | |||
libwxbase2.8-dev libwxbase2.8-dbg \ | libwxbase2.8-dev libwxbase2.8-dbg \ | ||
+ | |||
ruby \ | ruby \ | ||
+ | |||
libncurses5-dev \ | libncurses5-dev \ | ||
+ | |||
zlib1g-dev \ | zlib1g-dev \ | ||
+ | |||
libjpeg62-dev \ | libjpeg62-dev \ | ||
+ | |||
libtiff4-dev \ | libtiff4-dev \ | ||
+ | |||
libpngwriter-dev \ | libpngwriter-dev \ | ||
+ | |||
libhdf4g-dev libhdf4g-run \ | libhdf4g-dev libhdf4g-run \ | ||
+ | |||
tcl8.4-dev tk8.4-dev \ | tcl8.4-dev tk8.4-dev \ | ||
+ | |||
libcairo libcairo-dev \ | libcairo libcairo-dev \ | ||
+ | |||
sqlite3 libsqlite3-dev \ | sqlite3 libsqlite3-dev \ | ||
+ | |||
libpq-dev \ | libpq-dev \ | ||
+ | |||
libreadline5 libreadline5-dev libfreetype6-dev \ | libreadline5 libreadline5-dev libfreetype6-dev \ | ||
+ | |||
txt2tags \ | txt2tags \ | ||
+ | |||
fftw3 fftw3-dev \ | fftw3 fftw3-dev \ | ||
+ | |||
libqt4-core libqt4-dbg libqt4-dev libqt4-gui libqt4-sql libqt4-qt3support \ | libqt4-core libqt4-dbg libqt4-dev libqt4-gui libqt4-sql libqt4-qt3support \ | ||
+ | |||
lsb-qt4 qt4-designer qt4-dev-tools qt4-doc qt4-qtconfig \ | lsb-qt4 qt4-designer qt4-dev-tools qt4-doc qt4-qtconfig \ | ||
+ | |||
libapt-pkg-perl resolvconf \ | libapt-pkg-perl resolvconf \ | ||
+ | |||
libjasper-dev \ | libjasper-dev \ | ||
+ | |||
subversion | subversion | ||
Revision as of 20:03, 6 December 2008
~ - ~ Υπό κατασκευή... ~ - ~ Under construction... ~ - ~
Αυτή η σελίδα περιγράφει βήμα προς βήμα την εγκατάσταση ανοιχτού κώδικα εφαρμογών διαχείρισης γεωχωρικών δεδομένων. Οι οδηγίες αφορούν στην εγκατάσταση των εφαρμογών χρησιμοποιώντας τον πηγαίο κώδικα.
- Τι είναι ο πηγαίος κώδικας;
- Μεταγλώττιση. Δηλαδή;
* Γλώσσα προγραμματισμού υψηλού επιπέδου * Γλώσσα μηχανής
- Ποια είναι τα βήματα της μεταγλώττισης του πηγαίου κώδικα
* Λήψη πηγαίου κώδικα * Ρύθμιση/προετοιμασία * Μεταγλώττιση
- Πλεονεκτήματα και μειονεκτήματα χρήσης του πηγαίου κώδικα
+ + + - Χρονοβόρα διαδικασία -
Γενικά
- Για πρακτικούς λόγους δημιουργηθεί ένας κεντρικός κατάλογος στον οποίο θα συγκεντρωθούν ο πηγαίος κώδικας των εφαρμογών που πρόκειται να μεταγγλωτιστούν.
- ...
- ...
- Αναφορά του καταλόγου /usr/local/lib στο αρχείο /etc/ld.so.conf
Εγκατάσταση πακέτων υποστήριξης της μεταγλώττισης πηγαίου κώδικα
sudo apt-get install \
build-essential \
make \
flex \
bison \
gcc \
libgcc1 \
g++ \
cmake \
ccache \
swig swig1.3 \
python python-dev \
python3 python3-dev \
python-qt4 python-qt4-dev \
sip4 \
python-sip4 python-sip4-dev \
- python-gdal \
python-opengl \
libgsl0-dev \
python-wxversion python-wxtools \
python-wxgtk2.8 \
wx2.8-headers wx-common \
libwxgtk2.8-dev libwxgtk2.8-dbg \
libwxbase2.8-dev libwxbase2.8-dbg \
ruby \
libncurses5-dev \
zlib1g-dev \
libjpeg62-dev \
libtiff4-dev \
libpngwriter-dev \
libhdf4g-dev libhdf4g-run \
tcl8.4-dev tk8.4-dev \
libcairo libcairo-dev \
sqlite3 libsqlite3-dev \
libpq-dev \
libreadline5 libreadline5-dev libfreetype6-dev \
txt2tags \
fftw3 fftw3-dev \
libqt4-core libqt4-dbg libqt4-dev libqt4-gui libqt4-sql libqt4-qt3support \
lsb-qt4 qt4-designer qt4-dev-tools qt4-doc qt4-qtconfig \
libapt-pkg-perl resolvconf \
libjasper-dev \
subversion
Βασικά πακέτα υποστήριξης των εφαρμογών διαχείρισης γεωχωρικών δεδομένων
• PROJ4
Χαρτογραφικές προβολές
- Λήψη των συμπιεσμένων αρχείων που περιέχουν τις χαρτογραφικές προβολές proj-4.6.1.tar.gz και proj-datumgrid-1.4.tar.gz από http://trac.osgeo.org/proj
- Μετακίνηση στον κατάλογο /usr/local/src και αποσυμπίεση ## Ο πηγαίος κώδικας μπορεί να τοποθετηθεί και σε αλλο κατάλογο αρκεί να του δοθούν τα απαραίτητα δικαιώματα εγγραφής-ανάγνωσης-εκτέλεσης.
tar xzvf proj-4.6.1.tar.gz
- Μετακίνηση του αρχείου proj-datumgrid-1.3.tar.gz στον κατάλογο proj/nad και αποσυμπίεση
cd /usr/local/src/proj/nad tar xzvf proj-datumgrid-1.3.tar.gz
- Προετοιμασία ( Ρύθμιση;)
./configure
- Μεταγλώττιση
make
- Εγκατάσταση
sudo make install
• GEOS
- Λήψη του πηγαίου κώδικα (αρχείο geos-3.0.0.tar.bz2)
- Μετακίνηση στον "κεντρικό κατάλογο" και αποσυμπίεση
bunzip geos-3.0.0.tar.bz2 tar xvf geos-3.0.0.tar
- Προετοιμασία
./configure
- Μεταγλώττιση
make
- Εγκατάσταση
sudo make install
- Εκτέλεση του προγράμματος /sbin/ldconfig με δικαώματα υπερχρήστη
sudo ldconfig
== BELOW ALL TO BE TRANSLATED/FORMATTED ==
• GDAL
- Πρέπει να μεταγλωττιστεί χωρίς υποστήριξη για γεωχωρικά δεδομένα του GRASS-GIS ***
# Download with svn ## or update with "svn up" # πλοήγηση στον κατάλογο gdal_stable ο οποίος περιέχει τον πηγαίο κώδικα cd /usr/local/src/gdal_stable
- Προετοιμασία
CFLAGS="-g -Wall" LDFLAGS="-s" ./configure --with-png=internal --with-libtiff=internal --with-geotiff=internal --with-jpeg=internal --with-gif=internal --with-ecw=yes --with-expat=yes --with-expat-inc=/usr/include/ --with-expat-lib=/usr/lib --with-sqlite3=yes --with-geos=yes --with-python --with-libz=internal --with-netcdf --with-sqlite --with-threads=yes --without-grass --without-ogdi --with-pg=/usr/bin/pg_config --with-xerces=yes
- Μεταγλώττιση
make
- Εγκατάσταση
sudo make install
- Εκτέλεση του προγράμματος /sbin/ldconfig με δικαώματα υπερχρήστη
sudo ldconfig
Troubleshooting
All stuff installed but QGIS doesn't see GRASS or r.out.gdal doesn't work?
- Check if GDAL finds the plugin:
gdal_translate --formats | grep -i grass GRASS (ro): GRASS Database Rasters (5.7+)
- Check if the GRASS libs are found by the plugin. All libraries should be found (maybe you forgot to run 'ldconfig' if you didn't install from RPMs?):
ldd /usr/lib/gdalplugins/gdal_GRASS.so ldd /usr/lib/gdalplugins/ogr_GRASS.so
- Check if the GRASS plugins are in the right directory (check the 'Auto register' directory reported in the output):
# remember that you have to specify the absolute path: export CPL_DEBUG=on gdalinfo /home/neteler/grassdata/spearfish60/PERMANENT/cellhd/roads ogrinfo -summary $HOME/grassdata/spearfish60/PERMANENT/vector/roads/head
Εφαρμογές διαχείρισης γεωχωρικών δεδομένων
• GRASS
- Λήψη του πηγαίου κώδικα χρησιμοποιώντας το svn
- Configure:
CFLAGS="-g -Wall" LDFLAGS="-s" ./configure \ --enable-64bit \ --with-libs=/usr/lib64 \ --with-cxx \ --with-freetype=yes \ --with-freetype-includes="/usr/include/freetype2/" \ --with-postgres=no \ --with-sqlite=yes \ --enable-largefile=yes \ --with-tcltk-includes="/usr/include/tcl8.4/" \ --with-freetype-includes=/usr/include/freetype2 \ --with-opengl-libs=/usr/include/GL \ --with-readline \ --with-python=yes \ --with-proj-share=/usr/share/proj/ \ --with-wxwidgets \ --with-cairo
• GDAL-GRASS-plugin
# create grass6.conf or add in ld.so.conf the "GRASS library path"
# configure ## point to grass installation as needed ./configure --prefix=/usr/local --with-gdal=/usr/local/bin/gdal-config --with-grass=/usr/local/grass-6.4.svn/ --with-autoload="/usr/local/lib/gdalplugins/" --with-ld-shared="g++ -shared"
#compilation make
#installation sudo make install
• QGIS
# Compile qgis source code following steps described in the wiki
# Get qgis from svn under the desired folder (I use /usr/local/src) sudo apt-get install svn
svn co https://svn.osgeo.org/qgis/trunk/qgis qgis
# Install some dependencies sudo apt-get install libqt4-core libqt4-debug libqt4-debug-dev libqt4-dev libqt4-gui libqt4-qt3support libqt4-sql lsb-qt4 qt4-designer qt4-dev-tools qt4-doc qt4-qtconfig uim-qt gcc libapt-pkg-perl resolvconf
### This step is required if two versions of qt are there! #/usr/bin/qmake -> /etc/alternatives/qmake 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
# some tip to speed-up compilation as suggested in qgis wiki cd /usr/local/bin sudo ln -s /usr/bin/ccache gcc sudo ln -s /usr/bin/ccache g++
# configure - compile - install cd /usr/local/src/qgis/
mkdir build
cd build
ccmake ..
make
sudo make install
# launch qgis qgis
# install r, rpy, numpy sudo apt-get install r-base sudo apt-get install python-rpy sudo apt-get install python-numpy
• Starspan
#download and prepare tar zxf starspan-XXXX.tar.gz cd starspan-XXXX
#configure ./configure --with-grass=/usr/local/grass-6.4.svn
#compile make
#install make install