Compile and Install/id: Difference between revisions
⚠️Firmanhadi (talk | contribs) |
⚠️Firmanhadi (talk | contribs) |
||
Line 180: | Line 180: | ||
---- | ---- | ||
''' | '''Sebelum''' mencoba untuk melakukan kompilasi GRASS, bacalah bagian READ (C) di berkas '''INSTALL''' yang terletak di direktori utama GRASS source code : | ||
'''(C) | '''(C) CATATAN KOMPILASI untuk platform 64bit platforms''' | ||
---- | ---- | ||
* | * instal FFTW3, jika belum ada dalam sistem | ||
sudo apt-get install fftw3 fftw3-dev | sudo apt-get install fftw3 fftw3-dev | ||
* | * instal FFMPEG (informasi mengenai hal ini dapat diperoleh di: http://stream0.org/2008/01/install-ffmpeg-on-ubuntu-gutsy.html) | ||
* | * unduhlah source code dengan svn | ||
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg | 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 | 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 | 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 \ | ./configure --enable-gpl --enable-libvorbis --enable-libtheora \ | ||
--enable-liba52 --enable-libdc1394 --enable-libgsm \ | --enable-liba52 --enable-libdc1394 --enable-libgsm \ | ||
Line 206: | Line 206: | ||
--enable-shared | --enable-shared | ||
* | * kompilasi | ||
make | make | ||
* | * 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!''' | ||
* | * 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 | ||
* | * 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 226: | Line 226: | ||
--with-ffmpeg-includes=/usr/local/include/ffmpeg | --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 | cd /usr/include/GL | ||
Line 232: | Line 232: | ||
sudo ln glxATI.h glx.h | sudo ln glxATI.h glx.h | ||
* | * kompilasi | ||
make | make | ||
* | * 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 242: | Line 242: | ||
No errors detected. | No errors detected. | ||
* | * instalasi | ||
sudo make install | sudo make install | ||
* | * jalankan 64-bit GRASS.6.3.svn | ||
grass63 | grass63 | ||
''' | '''Catatan''' | ||
* | * jika terjadi kesalahan dalam kompilasi, kemudian Anda hendak melakukan kompilasi ulang, ingatlah untuk menghapus program biner dengan | ||
make clean | make clean | ||
* | * dan hilangkan juga berkas yang dihasilkan dari proses konfigurasi sebelumnya dengan | ||
make distclean | make distclean | ||
Revision as of 09:13, 9 July 2008
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 JPEG support: yes 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.
- Compile and install GRASS and QGIS with GDAL/OGR Plugin (membuat QGIS untuk membaca data GRASS secara langsung)
Catatan Platform tertentu
Linux
Debian
# Instal PROJ terlebih dahulu, baru kemudian GDAL. cd grass63/ # ikuti instruksi di debian/README.debian fakeroot buildpackage
- Paket resmi DebianGIS control files, juga dapat diakses via svn:
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 \ libjpeg62-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
- instal FFMPEG (informasi mengenai hal ini dapat diperoleh di: http://stream0.org/2008/01/install-ffmpeg-on-ubuntu-gutsy.html)
- unduhlah source code dengan svn
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
RPM SPEC files
- ... can be found in the source code, rpm/ directory,
- or here (Mandrake, SuSe)
- or openSuSe
- or Fedora
- or Mandriva 2008 or Mandriva Cooker (there are also proj4, geos, gdal, gdal-grass-plugin, qgis etc)
Zaurus
... see here for instructions
Mac OSX
... see here for instructions
Solaris
10 SPARC/i86pc
- get gcc compiler and tools. There are several sources: Solaris Companion CD (SFW pkg, installs in /opt/sfw/), Blastwave ([1], CSW pkg, installs in /opt/csw/) or Sunfreeware ([2], SMC pkg, installs in /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.
- compile and install fftw-library ([3]). You need to re-compile the library with:
./configure --with-pic --enable-shared; make ; make install.
The pre-built packages don't work.
- compile and install gdal library (see documentation of gdal, [4]).
- compile and install any additional libraries (e. g. GEOS, [5]).
- set compiler flags and path. e. g.:
# on ultra-sparc machine: 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 has to be changed for the packages (Sunfreeware: /usr/local/bin, Solaris Companion: /opt/sfw/bin, Blastwave: /opt/csw/bin).
- Next configure, e. g.:
./configure --with-postgres-includes=/usr/include/pgsql/ \ --with-postgres-libs=/usr/lib --with-postgres=yes \ --with-includes=/usr/local/include/ncurses
If you use n(ew)curses, you have to include the path /usr/local/include/ncurses.
then:
make su 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:
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.
MS-Windows
MS-Windows/Cygwin
... see here (should be moved to the Wiki)
MS-Windows/native
See new GRASS Windows Native Binary Building Guide
See also WinGRASS Current Status for latest updates.
... or see here incl. QGIS compilation (with MinGW)
Common problems and solutions
During compilation, error can occur if certain packages are not installed. Here a list of problems with solution:
- error: X11/Xlib.h: No such file or directory
- this suggests that you don't have the X headers installed
- Solution: Install the libx11-dev package
Configure options and their meanings
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.
- --prefix=/path - Sets path where GRASS will be installed. GRASS will reside in /path/grass-version.
- --enable-largefile - Enables large (>2Gb on 32bit systems) support. For current large file support status look at Large File Support page.
- --with-cxx - Enables compilation of C++ code. Required for r.terraflow module.
- --with-readline - Enables readline support. If readline is enabled, you can use its history/editing facilities when entering r.mapcalc expressions on stdin.
- --with-glw - Enables GLw support. The GLw library provides OpenGL "canvas" widgets for Athena and Motif.
That switch is unnecessary for normal compilation. It's only required for r3.showdspf, which isn't normally built; if you want it, you have build it manually (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). Glynn Clements at GRASS-user mailing list