Difference between revisions of "Γεωχωρικές Εφαρμογές Ανοιχτού Κώδικα υπό το Ubuntu-Linux (8.04)"
Jump to navigation
Jump to search
Wiki-Nikos (talk | contribs) |
Wiki-Nikos (talk | contribs) m |
||
(4 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | ''' ~ - ~ Υπό κατασκευή... ~ - ~ Under construction... ~ - ~ ''' | + | === ''' ~ - ~ Υπό κατασκευή... ~ - ~ 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''' | '''• 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''' | ||
− | + | * Λήψη του πηγαίου κώδικα (αρχείο '''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''' | '''• 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 | ||
== Εφαρμογές διαχείρισης γεωχωρικών δεδομένων == | == Εφαρμογές διαχείρισης γεωχωρικών δεδομένων == | ||
Line 24: | Line 159: | ||
'''• GRASS''' | '''• 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''' | '''• 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''' | '''• 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''' | '''• 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 |
Latest revision as of 01:00, 23 July 2010
~ - ~ Υπό κατασκευή... ~ - ~ 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