Compile and Install/id: Difference between revisions

From GRASS-Wiki
Jump to navigation Jump to search
(jpeg not needed)
 
(17 intermediate revisions by 2 users not shown)
Line 3: Line 3:
Di sini akan dijelaskan prosedur untuk melakukan kompilasi GRASS dari CVS, yang juga dapat digunakan untuk rilis resmi GRASS 6.
Di sini akan dijelaskan prosedur untuk melakukan kompilasi GRASS dari CVS, yang juga dapat digunakan untuk rilis resmi GRASS 6.


''Untuk instalasi paket biner, lihat halaman [[Panduan Instalasi]].''
''Untuk instalasi paket biner, lihat halaman [[Installation Guide/id]].''


Untuk informasi detil mengenai kompilasi, silakan lihat berkas [http://grass.itc.it/grass61/source/INSTALL INSTALL] dalam kode sumber.
Untuk informasi detil mengenai kompilasi, silakan lihat berkas [http://grass.itc.it/grass61/source/INSTALL INSTALL] dalam kode sumber.
Line 74: Line 74:
   GDAL support:              yes
   GDAL support:              yes
   GLw support:                no
   GLw support:                no
  JPEG support:              yes
   LAPACK support:            no
   LAPACK support:            no
   Large File Support (LFS):  no
   Large File Support (LFS):  no
Line 112: Line 111:
       grass63
       grass63


=== What else? ===
=== Apa lagi? ===


If you want to use [http://www.qgis.org QGIS], then also compile the GRASS-GDAL/OGR plugin. This is also useful to access your GRASS-data
Jika Anda ingin menggunakan [http://www.qgis.org QGIS], lakukan kompilasi juga untuk plugin GRASS-GDAL/OGR. Hal ini akan amat berguna untuk mengakses GRASS-data dari aplikasi lain yang menggunakan GDAL/OGR seperti [http://thuban.intevation.de thuban].
from other application using GDAL/OGR like [http://thuban.intevation.de thuban].
* [[Compile and install GRASS and QGIS with GDAL/OGR Plugin/id]] (membuat QGIS untuk membaca data GRASS secara langsung)
* [[Compile and install GRASS and QGIS with GDAL/OGR Plugin]] (enables QGIS to read GRASS data directly)


=== Platform Specific Notes ===
=== Catatan Platform tertentu ===


==== Linux ====
==== Linux ====
Line 124: Line 122:
===== Debian =====
===== Debian =====


   # first install PROJ, then GDAL.
   # Instal PROJ terlebih dahulu, baru kemudian GDAL.
   cd grass63/
   cd grass63/
   # follow instructions in debian/README.debian
   # ikuti instruksi di debian/README.debian
   fakeroot buildpackage
   fakeroot buildpackage


* Official [http://pkg-grass.alioth.debian.org/cgi-bin/wiki.pl DebianGIS] packaging [http://svn.debian.org/wsvn/pkg-grass/packages/grass/branches/ control files], also accessible via svn:
* Paket resmi [http://pkg-grass.alioth.debian.org/cgi-bin/wiki.pl DebianGIS] [http://svn.debian.org/wsvn/pkg-grass/packages/grass/branches/ control files], juga dapat diakses via svn:
   svn co svn://svn.debian.org/svn/pkg-grass/packages/grass/branches/<GRASS Version>
   svn co svn://svn.debian.org/svn/pkg-grass/packages/grass/branches/<GRASS Version>


* [http://hamish.bowman.googlepages.com/debiangisfiles#compile Compiling GRASS 6.1-CVS on Debian/OldStable (aka 3.1, Sarge)]
* [http://hamish.bowman.googlepages.com/debiangisfiles#compile Kompilasi GRASS 6.1-CVS di Debian/OldStable (alias 3.1, Sarge)]


===== Ubuntu =====
===== Ubuntu =====


''The above Debian notes will probably work with Ubuntu as well.''
''Catatan prosedur pada Debian juga bisa berfungsi dengan baik di Ubuntu.''


====== Ubuntu 6.06, 7.10 ======
====== Ubuntu 6.06, 7.10 ======


* [http://david.p.finlayson.googlepages.com/makegrass.sh makegrass.sh] is script designed to automate most of the download, configuration and compilation of GRASS 6.x-CVS
* [http://david.p.finlayson.googlepages.com/makegrass.sh makegrass.sh] adalah sebuah skrip yang didesain untuk melakukan otomasi proses pengunduhan, konfigurasi dan kompilasi GRASS 6.x-CVS
** it is advised use [https://help.ubuntu.com/community/CheckInstall checkinstall] (''sudo apt-get install checkinstall'') instead of ''make install'' to keep track of installed software  
** Disarankan untuk menggunakan [https://help.ubuntu.com/community/CheckInstall checkinstall] (''sudo apt-get install checkinstall'') daripada ''make install'' untuk menyimpan catatan software terinstal
** Think twice before using this script. Some users experienced problems such as disabled XGL etc.
** Berpikirlah dua kali sebelum menggunakan skrip ini. Beberapa pengguna mengalami masalah seperti rusaknya XGL dan sebagainya.
* [[User:Steko/Automated_CVS_compiling|Here]] is another of these scripts, it's homemade so probably you'll find the above more useful for production sites.
* [[User:Steko/Automated_CVS_compiling|Di sini ]] juga Anda dapat mengunduh skrip lainnya, walaupun bukan hasil kerja komunitas. Oleh karena itu, skrip di atas mungkin lebih baik.  


====== Ubuntu 7.10 64-bit ======
====== Ubuntu 7.10 64-bit ======


* Compiling latest GRASS source code on a 64-bit machine (with an ATI graphic card) under Ubuntu 7.10 64-bit with support for: 64-bit, SQLite, OpenGL, PYTHON, FFMPEG
* Mengkompilasi GRASS source code terkini pada sebuah mesin 64-bit (dengan Kartu Grafis ATI) dalam sistem Ubuntu 7.10 64-bit yang memiliki dukungan untuk: 64-bit, SQLite, OpenGL, PYTHON, FFMPEG
(Based on "Ubuntu 6.06 LTS - GRASS 6.1 Compilation Script" by David Finlayson)
(Berbasis "Skrip Kompilasi Ubuntu 6.06 LTS - GRASS 6.1 " oleh David Finlayson)
''Assuming it is the first time attempting to compile GRASS' source code & installing SVN, PROJ, GDAL/OGR''
''Dengan asumsi inilah saat pertama kali mengkompilasi GRASS' source code & dan menginstal SVN, PROJ, GDAL/OGR''


'''Preparation'''
'''Persiapan'''
  sudo apt-get update && sudo apt-get upgrade
  sudo apt-get update && sudo apt-get upgrade


* install dependencies for compiling (in general) and dependencies for GRASS: PROJ, GDAL/OGR
* Instalasi dependencies untuk kompilasi (secara umum) dan dependencies untuk GRASS: PROJ, GDAL/OGR
  sudo apt-get install grass build-essential flex bison libncurses5-dev zlib1g-dev \
  sudo apt-get install grass build-essential flex bison libncurses5-dev zlib1g-dev \
  libjpeg62-dev libgdal1-dev libtiff4-dev libgcc1 bpng12-dev tcl8.4-dev tk8.4-dev fftw3-dev \
  libgdal1-dev libtiff4-dev libgcc1 bpng12-dev tcl8.4-dev tk8.4-dev fftw3-dev \
  libfreetype6-dev libavcodec-dev libxmu-dev gdal-bin libreadline5 libreadline5-dev \
  libfreetype6-dev libavcodec-dev libxmu-dev gdal-bin libreadline5 libreadline5-dev \
  make
  make


* install SQLite
* instal SQLite
  sudo apt-get install sqlite3 libsqlite3-dev
  sudo apt-get install sqlite3 libsqlite3-dev


Line 166: Line 164:
  sudo apt-get install subversion
  sudo apt-get install subversion


* create a directory as a simple user where source code(s) are going to be stored (in our example we use a directory called '''src''' under '''/usr/local''')
* Buatlah sebuah direktori untuk menyimpan source code (contoh: direktori '''src''' di bawah '''/usr/local''')


  sudo mkdir /usr/local/src
  sudo mkdir /usr/local/src


* grant rwx (read-write-execute) permissions for our userid/ groupid on the directory (replace words userid and groupid with real userid):
* Berikan permisi rwx (read-write-execute) untuk userid/ groupid pada direktori(gantilah kata userid dan groupid dengan userid sebenarnya):
  sudo chown ''userid'':''groupid'' /usr/local/src
  sudo chown ''userid'':''groupid'' /usr/local/src


  sudo chmod ug+rwx /usr/local/src
  sudo chmod ug+rwx /usr/local/src


* download latest source code from GRASS SVN repository in a directory on the system (e.g. /usr/local/src)
* Unduhlah source code terakhir dari repositori GRASS SVN dalam sebuah direktori dalam sistem (misal, /usr/local/src)
  svn checkout https://svn.osgeo.org/grass/grass/trunk grass_trunk
  svn checkout https://svn.osgeo.org/grass/grass/trunk grass_trunk


* Above command places GRASS' source code in '''/usr/local/src/grass_trunk'''. In case of a subsequent update use the command: '''svn up''' from within the grass_trunk directory
* Perintah di atas menempatkan GRASS' source code dalam direktori '''/usr/local/src/grass_trunk'''. Dalam kasus update berkala, gunakan perintah : '''svn up''' dalam direktori grass_trunk


----
----
'''Before''' attempting to compile GRASS, READ section (C) in the '''INSTALL''' file located in the main directory of GRASS source code entitled:
'''Sebelum''' mencoba untuk melakukan kompilasi GRASS, bacalah bagian READ (C) di berkas '''INSTALL''' yang terletak di direktori utama GRASS source code :
'''(C) COMPILATION NOTES for 64bit platforms'''
'''(C) CATATAN KOMPILASI  untuk platform 64bit platforms'''
----
----


* installing FFTW3 if not already on system
* instal FFTW3, jika belum ada dalam sistem
  sudo apt-get install fftw3 fftw3-dev
  sudo apt-get install fftw3 fftw3-dev


* install FFMPEG (information taken from: http://stream0.org/2008/01/install-ffmpeg-on-ubuntu-gutsy.html)
* instal FFMPEG (informasi mengenai hal ini dapat diperoleh di: http://stream0.org/2008/01/install-ffmpeg-on-ubuntu-gutsy.html)
* download source code with svn
* unduhlah source code dengan svn
  svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
  svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg


* install dependencies
* instal dependencies
  sudo apt-get install liblame-dev libfaad2-dev libfaac-dev libxvidcore4-dev liba52-0.7.4 liba52-0.7.4-dev libx264-dev libdts-dev checkinstall build-essential subversion
  sudo apt-get install liblame-dev libfaad2-dev libfaac-dev libxvidcore4-dev liba52-0.7.4 liba52-0.7.4-dev libx264-dev libdts-dev checkinstall build-essential subversion


* guide to ffmpeg directory
* masuklah ke dalam direktori ffmpeg  
  cd ffmpeg
  cd ffmpeg


if necessary: '''make distclean''' before configuration (look at notes below)
jika perlu: '''make distclean''' sebelum melakukan konfigurasi (lihatlah catatan di bawah ini)


* configuration ('''note:''' the configuration parameter "'''--enable-pp'''" does not work anymore)
* konfigurasi ('''catatan:''' parameter konfigurasi "'''--enable-pp'''" tidak berfungsi lagi)
  ./configure --enable-gpl --enable-libvorbis --enable-libtheora \
  ./configure --enable-gpl --enable-libvorbis --enable-libtheora \
             --enable-liba52 --enable-libdc1394 --enable-libgsm \
             --enable-liba52 --enable-libdc1394 --enable-libgsm \
Line 207: Line 205:
             --enable-shared
             --enable-shared


* compilation
* kompilasi
  make
  make


* installation on /usr/local/bin -- important to remember when configuring GRASS' source code for compilation
* hasil instalasi akan diletakkan di /usr/local/bin -- penting untuk diingat jika Anda melakukan konfigurasi source code GRASS untuk kompilasi
  sudo checkinstall
  sudo checkinstall


'''go for GRASS!'''
'''go for GRASS!'''
* in our example we used the /usr/local/src directory to store GRASS' source code, so:
* dalam contoh, kami menggunakan direktori /usr/local/src untuk menyimpan source code GRASS :
  cd /usr/local/src/grass_trunk
  cd /usr/local/src/grass_trunk


* configuration
* konfigurasi
   CFLAGS="-g -Wall" ./configure --enable-64bit \
   CFLAGS="-g -Wall" ./configure --enable-64bit \
         --with-libs=/usr/lib64 --with-cxx --with-freetype=yes \
         --with-libs=/usr/lib64 --with-cxx --with-freetype=yes \
Line 227: Line 225:
         --with-ffmpeg-includes=/usr/local/include/ffmpeg
         --with-ffmpeg-includes=/usr/local/include/ffmpeg


*if OpenGL fails then maybe it is necessary to link '''glxATI.h''' with '''glx.h''' and re-run the configuration
*jika OpenGL gagal, mungkin perlu untuk menyambungkan (symbolic link (ln -s)) '''glxATI.h''' dengan '''glx.h''' dan menjalankan ulang konfigurasi


  cd /usr/include/GL
  cd /usr/include/GL
Line 233: Line 231:
  sudo ln glxATI.h glx.h
  sudo ln glxATI.h glx.h


* compilation
* kompilasi
  make
  make


* compilation is expected to end with a statement similar to the following:
* kompilasi diharapkan selesai dengan sebuah pernyataan seperti berikut :


  Started compilation: Wed Feb 27 00:24:36 CET 2008
  Started compilation: Wed Feb 27 00:24:36 CET 2008
Line 243: Line 241:
  No errors detected.
  No errors detected.


* installation
* instalasi
  sudo make install
  sudo make install


* launch 64-bit GRASS.6.3.svn
* jalankan 64-bit GRASS.6.3.svn
  grass63
  grass63


'''Notes'''
'''Catatan'''
* in case of errors in future compilation attempts, remember to remove program binaries with
* jika terjadi kesalahan dalam kompilasi, kemudian Anda hendak melakukan kompilasi ulang, ingatlah untuk menghapus program biner dengan
  make clean
  make clean
* and the files created with the "configuration" from previous compilations with
* dan hilangkan juga berkas yang dihasilkan dari proses konfigurasi sebelumnya dengan
  make distclean
  make distclean


===== RPM SPEC files =====
===== Berkas RPM SPEC =====


* ... can be found in the source code, rpm/ directory,  
* ... dapat diakses di dalam kode sumber, direktori rpm/,  
* or [http://www.gdf-hannover.de/media.php?id=1&lg=en here] (Mandrake, SuSe)
* atau [http://www.gdf-hannover.de/media.php?id=1&lg=en di sini] (Mandrake, SuSe)
* or [http://teodori.org/repository/grass.html openSuSe]
* atau [http://teodori.org/repository/grass.html openSuSe]
* or [http://grass.itc.it/grass62/binary/linux/fedora_specs/ Fedora]
* atau [http://grass.itc.it/grass62/binary/linux/fedora_specs/ Fedora]
* or [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/grass/ Mandriva 2008] or [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/grass/current/SPECS/ Mandriva Cooker] (there are also [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/proj/ proj4], [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/geos/ geos], [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/gdal/ gdal], [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/gdal-grass/ gdal-grass-plugin], [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/qgis/ qgis] etc)
* atau [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/grass/ Mandriva 2008] atau
[http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/grass/current/SPECS/ Mandriva Cooker] (di sana juga ada [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/proj/ proj4], [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/geos/ geos], [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/gdal/ gdal], [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/gdal-grass/ gdal-grass-plugin], [http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/qgis/ qgis] etc)


===== Zaurus =====
===== Zaurus =====


... see [http://wiki.debian.org/?GrassGISonZaurus here] for instructions
... lihat [http://wiki.debian.org/?GrassGISonZaurus di sini] untuk instruksinya
 


==== Mac OSX ====
==== Mac OSX ====


... see [http://grass.itc.it/platforms/macgrass.php here] for instructions
... lihat [http://grass.itc.it/platforms/macgrass.php di sini] untuk instruksinya
 
... [[Compiling on MacOSX/id|atau lihat di sini untuk cara lain]]
... [[Compiling on MacOSX|or this other way]]
 


==== Solaris ====
==== Solaris ====
Line 279: Line 275:
===== 10 SPARC/i86pc =====
===== 10 SPARC/i86pc =====


* get gcc compiler and tools. There are several sources: Solaris Companion CD (SFW pkg, installs in /opt/sfw/), Blastwave ([http://www.blastwave.org], CSW pkg, installs in /opt/csw/) or Sunfreeware ([http://www.sunfreeware.com], SMC pkg, installs in /usr/local/).  
* dapatkan compiler dan tool gcc. Ada beberapa sumber yang bisa digunakan: Solaris Companion CD (SFW pkg, install di /opt/sfw/), Blastwave ([http://www.blastwave.org], CSW pkg, instal di /opt/csw/) atau Sunfreeware ([http://www.sunfreeware.com], SMC pkg, instal di /usr/local/).  
Needed Packages from Sunfreeware: SMCbinut, SMCbison, SMCcoreu, SMCfindu, SMCflex, SMCgawk, SMCgcc, SMCgrep, SMCgzip, SMCless, SMClibt, SMClicon, SMCmake, SMCncurs, SMCproj, SMCsed, SMCtar, SMCtcl, SMCtiff, SMCtk, SMCunzip, SMCzlib.  
Paket-paket yang dibutuhkan dari Sunfreeware: SMCbinut, SMCbison, SMCcoreu, SMCfindu, SMCflex, SMCgawk, SMCgcc, SMCgrep, SMCgzip, SMCless, SMClibt, SMClicon, SMCmake, SMCncurs, SMCproj, SMCsed, SMCtar, SMCtcl, SMCtiff, SMCtk, SMCunzip, SMCzlib.  


* compile and install fftw-library ([http://www.fftw.org]). You need to re-compile the library with:  
* kompilasi dan instal pustak fftw ([http://www.fftw.org]). Anda perlu untuk melakukan kompilasi ulang pustaka dengan :  


       ./configure --with-pic --enable-shared; make ; make install.  
       ./configure --with-pic --enable-shared; make ; make install.  


The pre-built packages don't work.  
Paket yang telah dipaketkan tidak berfungsi.  


* compile and install gdal library (see documentation of gdal, [http://www.gdal.org]).
* kompilasi dan install pustaka gdal (lihat dokumentasi GDAL, [http://www.gdal.org]).


* compile and install any additional libraries (e. g. GEOS, [http://geos.refractions.net]).  
* kompilasi dan instal pustaka tambahan (misalnya, GEOS, [http://geos.refractions.net]).  


* set compiler flags and path. e. g.:  
* tentukan compiler flags and path. e. g.:  


       # on ultra-sparc machine:
       # pada mesin ultra-sparc:
       CFLAGS="-O3 -mcpu=v9"
       CFLAGS="-O3 -mcpu=v9"
       CXXFLAGS="-O3 -mcpu=v9"
       CXXFLAGS="-O3 -mcpu=v9"
Line 300: Line 296:
       export CFLAGS CXXFLAGS PATH
       export CFLAGS CXXFLAGS PATH


Path has to be changed for the packages (Sunfreeware: /usr/local/bin, Solaris Companion: /opt/sfw/bin, Blastwave: /opt/csw/bin).  
Path harus dirubah untuk paket-paket (Sunfreeware: /usr/local/bin, Solaris Companion: /opt/sfw/bin, Blastwave: /opt/csw/bin).  


* Next configure, e. g.:  
* Selanjutnya lakukan konfigurasi, e. g.:  


       ./configure --with-postgres-includes=/usr/include/pgsql/ \
       ./configure --with-postgres-includes=/usr/include/pgsql/ \
Line 308: Line 304:
       --with-includes=/usr/local/include/ncurses
       --with-includes=/usr/local/include/ncurses


If you use n(ew)curses, you have to include the path /usr/local/include/ncurses.  
JIka Anda menggunakan n(ew)curses, Anda harus mengikutsertakan path /usr/local/include/ncurses.  


then:
kemudian:


       make
       make
Line 316: Line 312:
       make install
       make install


If the shared libraries are not found at runtime of the modules, use 'crle' to add the paths of the libraries for the dynamic linker, e. g. as root:
Jika ''shared library'' tidak ditemukan pada modul, gunakan 'crle' untuk menambahkan path dari pustaka untuk ''dynamic linker'', misalnya sebagai root:


       crle -l /lib:/usr/lib:/usr/local/lib:/opt/sfw/lib:/usr/X11/lib
       crle -l /lib:/usr/lib:/usr/local/lib:/opt/sfw/lib:/usr/X11/lib


Be careful not to omit a library path, the system may be unusable if you forget the /lib path.
Hati-hatilah untuk mengindahkan sebuah path ke pustaka, sistem mungkin tidak akan dapat digunakan lagi jika Anda melupakan path /lib.


==== MS-Windows ====
==== MS-Windows ====
Line 326: Line 322:
===== MS-Windows/Cygwin =====
===== MS-Windows/Cygwin =====


... see [http://grass.itc.it/platforms/wingrass.html here] (should be moved to the Wiki)
... lihat [http://grass.itc.it/platforms/wingrass.html di sini] (akan dipindahkan ke Wiki)


===== MS-Windows/native =====
===== MS-Windows/native =====


See new [http://www.webalice.it/marco.pasetti/grass/BuildFromSource.html GRASS Windows Native Binary Building Guide]
Lihat halaman [http://www.webalice.it/marco.pasetti/grass/BuildFromSource.html GRASS Windows Native Binary Building Guide]


See also [[WinGRASS Current Status]] for latest updates.
Lihat juga [[WinGRASS Current Status]] untuk update terkini.


... or see [http://wiki.qgis.org/qgiswiki/BuildingWindowsBinaryOnLinux here incl. QGIS compilation] (with MinGW)
... atau lihat [http://wiki.qgis.org/qgiswiki/BuildingWindowsBinaryOnLinux di sini termasuk kompilasi QGIS] (dengan MinGW)


=== Common problems and solutions ===
=== Permasalahan yang umum dan solusinya ===


During compilation, error can occur if certain packages are not installed. Here a list of problems with solution:
Selama proses kompilasi, kesalahan bisa saja muncul jika paket tertentu belum terinstal. Berikut adalah list permasalahan dan solusinya :


* error: X11/Xlib.h: No such file or directory
* error: X11/Xlib.h: No such file or directory
** this suggests that you don't have the X headers installed
** Pesan kesalahan di atas menyatakan bahwa Anda tidak memiliki X headers yang terinstal
** Solution: Install the libx11-dev package
** Solusi: Instal paket libx11-dev


=== Configure options and their meanings ===
=== Opsi konfigurasi dan artinya ===


For configure there are many options and some GRASS modules are built only if some options are set. Here are listed common configuration options with short explanation.
Untuk konfigurasi, terdapat banyak opsi dan beberapa modul GRASS akan dibangun jika modul GRASS tertentu dikonfigurasi. Di sini disertakan daftar opsi konfigurasi yang umum dengan penjelasan ringkasnya.


* --prefix=/path - Sets path where GRASS will be installed. GRASS will reside in /path/grass-version.
* --prefix=/path - Menentukan path dimana GRASS akan diinstal. GRASS akan diletakkan dalam direktori /path/grass-version.
* --enable-largefile - Enables large (>2Gb on 32bit systems) support. For current large file support status look at [[Large File Support]] page.
* --enable-largefile - Memberikan dukungan untuk berkas besar (>2Gb pada sistem 32bit). Untuk status dukungan berkas besar saat ini, silakan lihat di halaman [[Large File Support/id|Dukungan berkas besar]].
* --with-cxx - Enables compilation of C++ code. Required for r.terraflow module.
* --with-cxx - Memungkinkan kompilasi kode C++ code. Dibutuhkan untuk modul r.terraflow.
* --with-readline - Enables readline support. If readline is enabled, you can use its history/editing facilities when entering r.mapcalc expressions on stdin.
* --with-readline - Memberikan dukungan readline. Jika readline dipilih, Anda dapat menggunakan fasilitas history/editing yang ada padanya ketika menggunakan ekspresi r.mapcalc dalam stdin.
* --with-glw - Enables GLw support. The GLw library provides OpenGL "canvas" widgets for Athena and Motif.  
* --with-glw - Memberikan dukungan GLw. Pustaka GLw memberikan widget OpenGL "canvas" untuk Athena and Motif.  
   
   
  That switch is unnecessary for normal compilation. It's only
  Perubahan seperti di atas tidak diperlukan untuk kompilasi biasa. Hanya diperlukan untuk r3.showdspf, yang normalnya tidak  diinstal; jika Anda menginginkannya, Anda harus melakukan instalasi secara manual (misalnya "make -C raster3d/r3.showdspf").
required for r3.showdspf, which isn't normally built; if you
  Karena fungsional yang sama telah diberikan oleh NVIZ, r3.showdspf saat ini tidak digunakan lagi.
want it, you have build it manually
  r3.showdspf menggunakan widget Motif (maka Anda juga membutuhkan sebuah pustaka Motif, misalnya Lesstif or OpenMotif).
(e.g. "make -C raster3d/r3.showdspf").
  As similar functionality is now provided by NVIZ, r3.showdspf
is deprecated.
  r3.showdspf uses the Motif widget (so you also need a
Motif library, e.g. Lesstif or OpenMotif).
  [http://grass.itc.it/pipermail/grassuser/2006-December/037475.html Glynn Clements at GRASS-user mailing list]
  [http://grass.itc.it/pipermail/grassuser/2006-December/037475.html Glynn Clements at GRASS-user mailing list]


Line 367: Line 358:
[[Category:Documentation]]
[[Category:Documentation]]
[[Category:Installation]]
[[Category:Installation]]
[[Category:Languages/id]]

Latest revision as of 20:26, 11 March 2012

Bagaimana melakukan kompilasi dan instalasi GRASS 6?

Di sini akan dijelaskan prosedur untuk melakukan kompilasi GRASS dari CVS, yang juga dapat digunakan untuk rilis resmi GRASS 6.

Untuk instalasi paket biner, lihat halaman Installation Guide/id.

Untuk informasi detil mengenai kompilasi, silakan lihat berkas INSTALL dalam kode sumber.

Syarat

GRASS membutuhkan paling tidak dua buah pustaka ekstra : PROJ dan GDAL/OGR

Catatan : Jika Anda ingin ada dukungan DBMS dalam GDAL (juga dalam GRASS), Anda harus melakukan langkah opsional seperti berikut.


  • PROJ4 untuk pengelolaan proyeksi (dengan dukungan proj-datumgrid-1.3.zip)
  • Opsional: GEOS
  • Opsional: PostgreSQL, mySQL, unixODBC, SQLite (SQLite dibutuhkan untuk QGIS)
  • GDAL/OGR untuk membaca dan menulis beragam format data GIS (interoperability)

Anda harus melakukan instalasi dua pustaka ini terlebih dahulu.

Cara yang paling mudah adalah mendapatkan pustaka ini dalam bentuk paket seperti .rpm, .deb untuk sistem operasi yang Anda gunakan dan menjalankan proses instalasi yang sesuai (misalnya., rpm -Uhv namapaket.rpm; apt-get) dari terminal (console). Lakukan secara seksama jika Anda akan melakukan instalasi pustaka ini dari paket pengembangannya (paket ..-devel). Jika tidak ada paket yang siap untuk diinstal, maka Anda harus melakukan pengunduhan dahulu kode sumbernya (lihat tautan berikut, paket kode sumber biasanya berakhiran .tar.gz atau .zip), kemudian lakukan kompilasi (Anda harus memiliki sebuah program kompilasi C dalam sistem operasi Anda). Tahapan untuk melakukan kompilasi dan instalasi pustaka tersebut dapat dilihat di website.

Pustaka lain yang diperlukan untuk menjalankan GRASS ada dalam list berikut : REQUIREMENTS. Untuk melakukan kompilasi, Anda juga membutuhkan paket pengembangannya (paket "..-devel").

Prosedur kompilasi dan instalasi generik

  • Periksa GRASS 6.x dari SVN (lihat: http://trac.osgeo.org/grass/wiki/DownloadSource)
  • Akan lebih bagus jika proses kompilasi dilakukan sebagai normal user, bukan root. Jika Anda menginginkan kode sumber tersebut diletakkan di direktori dimana Anda memiliki hak (misalnya /usr/local/src/cvs) cukup ikuti prosedur berikut:
     cd /usr/local/src/cvs 
     su -c 'mkdir grass6'
     su -c 'chown yourlogin:yourgroup grass6'
  • Lakukan checkout (co) dari repository
     cvs -z3 co grass6
  • Dalam direktori grass6, Anda akan menemukan berkas INSTALL, bukalah dengan editor teks favorit Anda dan bacalah baik-baik!
  • Jalankan configure dengan parameter-parameter yang sesuai dengan sistem yang Anda miliki. Untuk melihat opsi apa yang dapat dilewati, jalankan configure --help. Pilihan minimum untuk melakukan konfigurasi parameter adalah sebagai berikut : (berdasarkan GRASS 6 dari CVS, bukan pada rilis 6.x ):
     ./configure ### Bisa seperti ini :
     ./configure \
         --with-cxx \
         --with-sqlite \
         --with-postgres-libs=/usr/include/pgsql/libpq \
         --with-postgres-includes=/usr/include/pgsql \
         --with-freetype \
         --with-freetype-includes=/usr/include/freetype2 \
         --with-motif \
         --with-glw \
         --with-proj-share=/usr/share/proj

Anda mungkin harus menentukan secara eksplisit path untuk lokasi tertentu (mis. gdal). Perintah 'locate' dalam Unix bermanfaat dalam menemukan path dari paket yang dibutuhkan (Anda mungkin harus menjalankan locate sebagi root, misalnya : sudo locate gdal-config).

Perlu dicatat juga bahwa path yang diterangkan di atas bisa jadi beragam karena perbedaan distribusi yang digunakan. Pada bagian akhir proses konfigurasi, Anda akan mendapat laporan seperti ini :

GRASS is now configured for: i686-pc-linux-gnu

Source directory:            /usr/src/grass6
Build directory:             /usr/src/grass6
Installation directory:      /usr/local/grass-6.3.svn
Startup script in directory: ${exec_prefix}/bin
C compiler:                  gcc -g -O2 
C++ compiler:                c++ -g -O2
FORTRAN compiler:            
Building shared libraries:   yes
64bit support:               no

 NVIZ:                       yes

 BLAS support:               no
 C++ support:                yes
 DWG support:                no
 FFMPEG support:             no
 FFTW support:               yes
 FreeType support:           yes
 GDAL support:               yes
 GLw support:                no
 LAPACK support:             no
 Large File Support (LFS):   no
 Motif support:              no
 MySQL support:              no
 NLS support:                no
 ODBC support:               no
 OGR support:                yes
 OpenGL(R) support:          yes
 PNG support:                yes
 PostgreSQL support:         yes
 Readline support:           no
 SQLite support:             no
 Tcl/Tk support:             yes
 TIFF support:               yes
 X11 support:                yes
 
  • Lakukan kompilasi (mungkin akan perlu waktu...)!
     make
  • Pada bagian akhir proses kompilasi, Anda akan mendapatkan laporan seperti ini:
----------------------------------------------------------------------
Following modules are missing the 'description.html' file in src code:
----------------------------------------------------------------------
GRASS GIS compilation log
-------------------------
Started compilation: Ne kvě 28 13:18:43 CEST 2006
--
Errors in:
--
Finished compilation: Ne kvě 28 13:43:40 CEST 2006
(In case of errors please change into the directory with error and run 'make')
  • Jika ada kesalahan, masuklah ke dalam direktori dengan pesan kesalahan tersebut, jalankan "make: kembali. Jika masih salah, laporan kesalahan berulang tersebut kepada milis GRASS
  • Setelah proses kompilasi selesai, Anda siap untuk menginstal GRASS ke dalam sistem.
     su -c 'make install'
  • Jalankan dan bersenang-senanglah dengan GRASS:
     grass63

Apa lagi?

Jika Anda ingin menggunakan QGIS, lakukan kompilasi juga untuk plugin GRASS-GDAL/OGR. Hal ini akan amat berguna untuk mengakses GRASS-data dari aplikasi lain yang menggunakan GDAL/OGR seperti thuban.

Catatan Platform tertentu

Linux

Debian
  # Instal PROJ terlebih dahulu, baru kemudian GDAL.
  cd grass63/
  # ikuti instruksi di debian/README.debian
  fakeroot buildpackage
  svn co svn://svn.debian.org/svn/pkg-grass/packages/grass/branches/<GRASS Version>
Ubuntu

Catatan prosedur pada Debian juga bisa berfungsi dengan baik di Ubuntu.

Ubuntu 6.06, 7.10
  • makegrass.sh adalah sebuah skrip yang didesain untuk melakukan otomasi proses pengunduhan, konfigurasi dan kompilasi GRASS 6.x-CVS
    • Disarankan untuk menggunakan checkinstall (sudo apt-get install checkinstall) daripada make install untuk menyimpan catatan software terinstal
    • Berpikirlah dua kali sebelum menggunakan skrip ini. Beberapa pengguna mengalami masalah seperti rusaknya XGL dan sebagainya.
  • Di sini juga Anda dapat mengunduh skrip lainnya, walaupun bukan hasil kerja komunitas. Oleh karena itu, skrip di atas mungkin lebih baik.
Ubuntu 7.10 64-bit
  • Mengkompilasi GRASS source code terkini pada sebuah mesin 64-bit (dengan Kartu Grafis ATI) dalam sistem Ubuntu 7.10 64-bit yang memiliki dukungan untuk: 64-bit, SQLite, OpenGL, PYTHON, FFMPEG

(Berbasis "Skrip Kompilasi Ubuntu 6.06 LTS - GRASS 6.1 " oleh David Finlayson) Dengan asumsi inilah saat pertama kali mengkompilasi GRASS' source code & dan menginstal SVN, PROJ, GDAL/OGR

Persiapan

sudo apt-get update && sudo apt-get upgrade
  • Instalasi dependencies untuk kompilasi (secara umum) dan dependencies untuk GRASS: PROJ, GDAL/OGR
sudo apt-get install grass build-essential flex bison libncurses5-dev zlib1g-dev \
libgdal1-dev libtiff4-dev libgcc1 bpng12-dev tcl8.4-dev tk8.4-dev fftw3-dev \
libfreetype6-dev libavcodec-dev libxmu-dev gdal-bin libreadline5 libreadline5-dev \
make
  • instal SQLite
sudo apt-get install sqlite3 libsqlite3-dev
  • install SVN
sudo apt-get install subversion
  • Buatlah sebuah direktori untuk menyimpan source code (contoh: direktori src di bawah /usr/local)
sudo mkdir /usr/local/src
  • Berikan permisi rwx (read-write-execute) untuk userid/ groupid pada direktori(gantilah kata userid dan groupid dengan userid sebenarnya):
sudo chown userid:groupid /usr/local/src
sudo chmod ug+rwx /usr/local/src
  • Unduhlah source code terakhir dari repositori GRASS SVN dalam sebuah direktori dalam sistem (misal, /usr/local/src)
svn checkout https://svn.osgeo.org/grass/grass/trunk grass_trunk
  • Perintah di atas menempatkan GRASS' source code dalam direktori /usr/local/src/grass_trunk. Dalam kasus update berkala, gunakan perintah : svn up dalam direktori grass_trunk

Sebelum mencoba untuk melakukan kompilasi GRASS, bacalah bagian READ (C) di berkas INSTALL yang terletak di direktori utama GRASS source code : (C) CATATAN KOMPILASI untuk platform 64bit platforms


  • instal FFTW3, jika belum ada dalam sistem
sudo apt-get install fftw3 fftw3-dev
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
  • instal dependencies
sudo apt-get install liblame-dev libfaad2-dev libfaac-dev libxvidcore4-dev liba52-0.7.4 liba52-0.7.4-dev libx264-dev libdts-dev checkinstall build-essential subversion
  • masuklah ke dalam direktori ffmpeg
cd ffmpeg

jika perlu: make distclean sebelum melakukan konfigurasi (lihatlah catatan di bawah ini)

  • konfigurasi (catatan: parameter konfigurasi "--enable-pp" tidak berfungsi lagi)
./configure --enable-gpl --enable-libvorbis --enable-libtheora \
            --enable-liba52 --enable-libdc1394 --enable-libgsm \
            --enable-libmp3lame --enable-libfaad --enable-libfaac \
            --enable-libxvid --enable-pthreads --enable-libx264 \
            --enable-shared
  • kompilasi
make
  • hasil instalasi akan diletakkan di /usr/local/bin -- penting untuk diingat jika Anda melakukan konfigurasi source code GRASS untuk kompilasi
sudo checkinstall

go for GRASS!

  • dalam contoh, kami menggunakan direktori /usr/local/src untuk menyimpan source code GRASS :
cd /usr/local/src/grass_trunk
  • konfigurasi
 CFLAGS="-g -Wall" ./configure --enable-64bit \
       --with-libs=/usr/lib64 --with-cxx --with-freetype=yes \
       --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-ffmpeg=yes \
       --with-ffmpeg-includes=/usr/local/include/ffmpeg
  • jika OpenGL gagal, mungkin perlu untuk menyambungkan (symbolic link (ln -s)) glxATI.h dengan glx.h dan menjalankan ulang konfigurasi
cd /usr/include/GL
sudo ln glxATI.h glx.h
  • kompilasi
make
  • kompilasi diharapkan selesai dengan sebuah pernyataan seperti berikut :
Started compilation: Wed Feb 27 00:24:36 CET 2008
--
Errors in:
No errors detected.
  • instalasi
sudo make install
  • jalankan 64-bit GRASS.6.3.svn
grass63

Catatan

  • jika terjadi kesalahan dalam kompilasi, kemudian Anda hendak melakukan kompilasi ulang, ingatlah untuk menghapus program biner dengan
make clean
  • dan hilangkan juga berkas yang dihasilkan dari proses konfigurasi sebelumnya dengan
make distclean
Berkas RPM SPEC

Mandriva Cooker (di sana juga ada proj4, geos, gdal, gdal-grass-plugin, qgis etc)

Zaurus

... lihat di sini untuk instruksinya

Mac OSX

... lihat di sini untuk instruksinya ... atau lihat di sini untuk cara lain

Solaris

10 SPARC/i86pc
  • dapatkan compiler dan tool gcc. Ada beberapa sumber yang bisa digunakan: Solaris Companion CD (SFW pkg, install di /opt/sfw/), Blastwave ([1], CSW pkg, instal di /opt/csw/) atau Sunfreeware ([2], SMC pkg, instal di /usr/local/).

Paket-paket yang dibutuhkan dari Sunfreeware: SMCbinut, SMCbison, SMCcoreu, SMCfindu, SMCflex, SMCgawk, SMCgcc, SMCgrep, SMCgzip, SMCless, SMClibt, SMClicon, SMCmake, SMCncurs, SMCproj, SMCsed, SMCtar, SMCtcl, SMCtiff, SMCtk, SMCunzip, SMCzlib.

  • kompilasi dan instal pustak fftw ([3]). Anda perlu untuk melakukan kompilasi ulang pustaka dengan :
     ./configure --with-pic --enable-shared; make ; make install. 

Paket yang telah dipaketkan tidak berfungsi.

  • kompilasi dan install pustaka gdal (lihat dokumentasi GDAL, [4]).
  • kompilasi dan instal pustaka tambahan (misalnya, GEOS, [5]).
  • tentukan compiler flags and path. e. g.:
     # pada mesin ultra-sparc:
     CFLAGS="-O3 -mcpu=v9"
     CXXFLAGS="-O3 -mcpu=v9"
     PATH="/usr/local/bin:/opt/sfw/bin:/usr/ccs/bin:/usr/bin:/usr/sbin"
     export CFLAGS CXXFLAGS PATH

Path harus dirubah untuk paket-paket (Sunfreeware: /usr/local/bin, Solaris Companion: /opt/sfw/bin, Blastwave: /opt/csw/bin).

  • Selanjutnya lakukan konfigurasi, e. g.:
     ./configure --with-postgres-includes=/usr/include/pgsql/ \
     --with-postgres-libs=/usr/lib --with-postgres=yes \
     --with-includes=/usr/local/include/ncurses

JIka Anda menggunakan n(ew)curses, Anda harus mengikutsertakan path /usr/local/include/ncurses.

kemudian:

     make
     su
     make install

Jika shared library tidak ditemukan pada modul, gunakan 'crle' untuk menambahkan path dari pustaka untuk dynamic linker, misalnya sebagai root:

     crle -l /lib:/usr/lib:/usr/local/lib:/opt/sfw/lib:/usr/X11/lib

Hati-hatilah untuk mengindahkan sebuah path ke pustaka, sistem mungkin tidak akan dapat digunakan lagi jika Anda melupakan path /lib.

MS-Windows

MS-Windows/Cygwin

... lihat di sini (akan dipindahkan ke Wiki)

MS-Windows/native

Lihat halaman GRASS Windows Native Binary Building Guide

Lihat juga WinGRASS Current Status untuk update terkini.

... atau lihat di sini termasuk kompilasi QGIS (dengan MinGW)

Permasalahan yang umum dan solusinya

Selama proses kompilasi, kesalahan bisa saja muncul jika paket tertentu belum terinstal. Berikut adalah list permasalahan dan solusinya :

  • error: X11/Xlib.h: No such file or directory
    • Pesan kesalahan di atas menyatakan bahwa Anda tidak memiliki X headers yang terinstal
    • Solusi: Instal paket libx11-dev

Opsi konfigurasi dan artinya

Untuk konfigurasi, terdapat banyak opsi dan beberapa modul GRASS akan dibangun jika modul GRASS tertentu dikonfigurasi. Di sini disertakan daftar opsi konfigurasi yang umum dengan penjelasan ringkasnya.

  • --prefix=/path - Menentukan path dimana GRASS akan diinstal. GRASS akan diletakkan dalam direktori /path/grass-version.
  • --enable-largefile - Memberikan dukungan untuk berkas besar (>2Gb pada sistem 32bit). Untuk status dukungan berkas besar saat ini, silakan lihat di halaman Dukungan berkas besar.
  • --with-cxx - Memungkinkan kompilasi kode C++ code. Dibutuhkan untuk modul r.terraflow.
  • --with-readline - Memberikan dukungan readline. Jika readline dipilih, Anda dapat menggunakan fasilitas history/editing yang ada padanya ketika menggunakan ekspresi r.mapcalc dalam stdin.
  • --with-glw - Memberikan dukungan GLw. Pustaka GLw memberikan widget OpenGL "canvas" untuk Athena and Motif.
Perubahan seperti di atas tidak diperlukan untuk kompilasi biasa. Hanya diperlukan untuk r3.showdspf, yang normalnya tidak   diinstal; jika Anda menginginkannya, Anda harus melakukan instalasi secara manual (misalnya "make -C raster3d/r3.showdspf").
Karena fungsional yang sama telah diberikan oleh NVIZ, r3.showdspf saat ini tidak digunakan lagi.
r3.showdspf menggunakan widget Motif  (maka Anda juga membutuhkan sebuah pustaka Motif, misalnya Lesstif or OpenMotif).
Glynn Clements at GRASS-user mailing list