この付録は Linux に 固有な設定ファイルの例を選びました。今のところ 1 種類 のファイルのいくつかの例だけがあげられています。しかしこれは最も大切な設定 ファイルです! 今後、データベースの設定ファイル(DEFAULT_WIND など)の例や 他のファイルも載せる予定です。
$GIS/src/CMD/header ディレクトリにある [header] ファイルの解説は、インス トール・ガイドの 10-11 頁に載っています($GIS は、GRASS がインストール されているディレクトリです。慣例にしたがうとそのディレクトリは /usr/local に なります。私は独立したファイルシステム/ディレクトリになっている /user/grass4.1 に GRASS のすべてインストールしています)。インストール・ガイド は、Sun のシステムを意識して書かれています。それは GRASS4 の開発環境が Sun だったからです(初期の開発は Masscomp のワークステーションで行われたことも気に かけておいてください)。下記に Linux で使用するこのファイルの例をあげておき ます。$/src/CMD/header ディレクトリに linux という名前で置いて 置きたくなるかもしれませんね。setup コマンド($GIS/src/CMD/utils/setup) を動かす時に参照してください。
One version:
CC = gcc
ARCH =
GISBASE = /user/grass4.1
UNIX_BIN = /user/grass4.1/bin
DEFAULT_DATABASE = /user/grass4.1/data
DEFAULT_LOCATION = china
COMPILE_FLAGS = -O2
LDFLAGS = -s
XCFLAGS = -D_NO_PROTO -DXM_1_1_BC
XLDFLAGS =
XINCPATH =
XMINCPATH =
XLIBPATH =
XTLIBPATH = -L/usr/lib
XMLIBPATH = -L/usr/lib
XLIB = -lX11
XTLIB = -lXt
XMLIB = -lXm
XEXTRALIBS =
TERMLIB =
CURSES = -lcurses $(TERMLIB)
MATHLIB = -lm
# LIBRULE = ar ruv $@ $?
# LIBRULE = ar ruv $@ $?; ranlib $@
# LIBRULE = ar ruv $@ $?; ar ts $@
# LIBRULE = ar rc $@ `lorder $(OBJ) | tsort`
LIBRULE = ar ruv $@ $?
USE_TERMIO = -DUSE_TERMIO
USE_MTIO = -DUSE_MTIO
USE_FTIME = -DUSE_FTIME
DIGITFLAGS = -DUSE_SETREUID -DUSE_SETPRIORITY
VECTLIBFLAGS =
GETHOSTNAME = -DGETHOSTNAME_OK
_____________________________________________________________
Another version:
#CC = gcc
#CC = gcc -ggdb -traditional
CC = gcc -traditional
#CC = gcc -static
ARCH = linux
GISBASE = /usr2/local/grass/grass4.1
UNIX_BIN = /usr/local/bin
DEFAULT_DATABASE = /usr2/local/grass
DEFAULT_LOCATION = grass4.1
COMPILE_FLAGS =
#COMPILE_FLAGS = -O
LDFLAGS = -s
XCFLAGS = -D_NO_PROTO
XLDFLAGS =
XINCPATH = -I$GISBASE/xgrass
#XINCPATH =
XMINCPATH =
XLIBPATH = -L/usr/lib
XTLIBPATH = -L/usr/lib
XMLIBPATH = -L/usr/lib
XLIB = -lX11
XTLIB = -lXt
XMLIB = -lXm
XEXTRALIBS =
TERMLIB =
CURSES = -lcurses $(TERMLIB)
MATHLIB = -lm
# LIBRULE = ar ruv $@ $?
# LIBRULE = ar ruv $@ $?; ranlib $@
# LIBRULE = ar ruv $@ $?; ar ts $@
# LIBRULE = ar rc $@ `lorder $(OBJ) | tsort`
LIBRULE = ar ruv $@ $?; ranlib $@
USE_TERMIO = -DUSE_TERMIO
USE_MTIO = -DUSE_MTIO
USE_FTIME = -DUSE_FTIME
DIGITFLAGS = -DUSE_SETREUID -DUSE_SETPRIORITY
VECTLIBFLAGS =
GETHOSTNAME = -DGETHOSTNAME_OK
_____________________________________________________________
Another version:
#CC = gcc -traditional -ggdb
CC = gcc -traditional -m486
#CC = gcc
ARCH = linux
GISBASE = /usr/local/grass/grass4.1
UNIX_BIN = /usr/local/bin
DEFAULT_DATABASE = /usr/local/grass
DEFAULT_LOCATION = grass4.1
COMPILE_FLAGS = -O2
LDFLAGS = -s
XCFLAGS = -D_NO_PROTO -DXM_1_1_BC
XLDFLAGS =
XINCPATH =
XMINCPATH =
XLIBPATH = -L/usr/lib
XTLIBPATH = -L/usr/lib
XMLIBPATH = -L/usr/lib
XLIB = -lX11
XTLIB = -lXt
XMLIB = -lXm
XEXTRALIBS = -lXmu
TERMLIB =
CURSES = -lcurses $(TERMLIB)
MATHLIB = -lm
# LIBRULE = ar ruv $@ $?
# LIBRULE = ar ruv $@ $?; ranlib $@
# LIBRULE = ar ruv $@ $?; ar ts $@
# LIBRULE = ar rc $@ `lorder $(OBJ) | tsort`
LIBRULE = ar ruv $@ $?; ranlib $@
#USE_TERMIO = #-DUSE_TERMIO
USE_TERMIO = -DUSE_TERMIO
USE_MTIO = -DUSE_MTIO
USE_FTIME = -DUSE_FTIME
DIGITFLAGS = -DUSE_SETREUID -DUSE_SETPRIORITY
VECTLIBFLAGS =
GETHOSTNAME = -DGETHOSTNAME_OK
_____________________________________________________________
Yet another version:
CC = cc
ARCH = linux
GISBASE = /usr/local/grass4.15/linux
UNIX_BIN = /usr/local/grass4.15/linux
DEFAULT_DATABASE = /data/grassdata
DEFAULT_LOCATION =
# -fwritable-strings - for ps.map only
#COMPILE_FLAGS = -O -m486 -fwritable-strings
COMPILE_FLAGS = -O -m486
LDFLAGS = -s
XCFLAGS = -D_NO_PROTO
XLDFLAGS =
XINCPATH =
XMINCPATH =
XLIBPATH = -L/usr/X11R6/lib
XTLIBPATH = -L/usr/lib
XMLIBPATH = -L/usr/lib
XLIB = -lX11
XTLIB = -lXt
XMLIB = -lXm
XEXTRALIBS =
TERMLIB =
CURSES = -lcurses $(TERMLIB)
MATHLIB = -lm
# LIBRULE = ar ruv $@ $?
# LIBRULE = ar ruv $@ $?; ranlib $@
# LIBRULE = ar ruv $@ $?; ar ts $@
# LIBRULE = ar rc $@ `lorder $(OBJ) | tsort`
LIBRULE = ar ruv $@ $?
USE_TERMIO = -DUSE_TERMIO
USE_MTIO = -DUSE_MTIO
USE_FTIME = -DUSE_FTIME
DIGITFLAGS = -DUSE_SETREUID -DUSE_SETPRIORITY
VECTLIBFLAGS = -DPORTABLE_3
GETHOSTNAME = -DGETHOSTNAME_OK
脅かしてしまいましたか? X Window System をすでに設定しているなら、そんな
ことはないですよね。この設定例は GRASS のセットアップ ユーティリティを
使う時(インストール・ガイドで説明されています)の道しるべになると確信して
います。
訳註:GRASS 4.21 の Linux(x86)用 header ファイルは、 http://wgrass.media.osaka-cu.ac.jp/grassh/grass421/platforms/linux_x86.head にあります。