|
|
|
|
Solaris9(x86)04/03版の環境設定(Part3) |
|
|
3.PATHとLD_LIBRARY_PATHの設定
PATH
Netscapeの実行コマンドが、/usr/local/bin/netscapeだったとします。もしあなたのshellの環境変数PATHに'/usr/local/bin'がなかった場合、netscapeを実行するには、'/usr/local/bin/netscape'と完全指定(FullPATH)で指定しなければいけません。しかし、'PATH=/usr/local/bin'となっていれば、すでにあなたは'netscape'が、'/usr/local/bin'にあることを知っていることになり、単に'netscape'とするだけで、'Netscape'を起動できます。
LD_LIBRARY_PATH
あるアプリケーションを実行したとき、そのアプリケーションは'libxml'というライブラリを参照するとしましょう。
しかし、あなたのShellに'libxml'の置き場所の設定(LD_LIBRARY_PATH)がなければ、実行されたアプリケーションは、libxmlがOS上に存在するかどうかさえわからなく、おそらくエラーになるでしょう。
当然、ソースのコンパイル時にも影響します。
Solarisのデフォルトでは、PATHは必要最低限しか設定されていません。まずはこれを設定していきます。
とりあえず、インストール後は以下のところに、PATHを通しておくと良いでしょう。
もちろん、あなたがアプリケーションを独自に追加した場合は、そのPATHも追加しましょう。
PATH具体例
bash(.bashrc)
PATH=/usr/local/bin:/usr/sfw/bin:/opt/sfw/bin
PATH=$PATH:/usr/bin:/usr/sbin:/usr/dt/bin:/usr/openwin/bin
PATH=$PATH:/usr/xpg4/bin:/usr/ccs/bin:/usr/ucb:/etc
export PATH
tcsh(.cshrc)
set path=(/usr/local/bin /usr/sfw/bin
/opt/sfw/bin)
set path=($path /usr/bin /usr/sbin /usr/dt/bin /usr/openwin/bin)
set path=($path /usr/xpeg4/bin /usr/ccs/bin /usr/ucb /etc)
LD_LIBRARY_PATHの具体例
bash(.bashrc)
LD_LIBRARY_PATH=/usr/local/lib:/usr/sfw/lib:/opt/sfw/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib:/usr/dt/lib:/usr/openwin/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/xpeg4/lib:/lib:/usr/ccs/lib
export LD_LIBRARY_PATH
tcsh(.cshrc)
setenv LD_LIBRARY_PATH
/usr/local/lib:/usr/sfw/lib:/opt/sfw/lib
setenv LD_LIBRARY_PATH
"$LD_LIBRARY_PATH":/usr/lib:/usr/dt/lib:/usr/openwin/lib
setenv LD_LIBRARY_PATH
"$LD_LIBRARY_PATH":/usr/xpeg4/lib:/usr/ccs/lib:/lib
aliasの設定
bash(.bashrc)
alias ls='/opt/sfw/bin/gls --color'
alias vi='/opt/sfw/bin/vim'
tcsh(.cshrc)
alias ls '/opt/sfw/bin/gls --color'
alias vi '/opt/sfw/bin/vim'
MANPATHの設定
bash(.bashrc)
MANPATH=$MANPATH:/usr/share/man:/usr/local/man:/opt/sfw/man:/opt/NSUG/man
export MANPATH
tcsh(.cshrc)
setenv MANPATH
"$MANPATH":/usr/share/man:/usr/local/man:/opt/sfw/man
アプリケーションを追加したときなどは、追加する必要があるかもしれません。
suしたときのpath設定
suしたときは、ユーザーの環境は引き継がれませんので、最低限のpathは'/etc/default/su'に設定しておきます。
ただし、LD_LIBRARY_PATHなどのLD系環境変数は、その都度宣言する必要があります。
この場合は、ユーザーの設定ファイルを読み込んだ方が早いかもしれません。
例)tcshの場合
/bin/tcsh
source ~/.cshrc
/etc/default/suファイルの編集
#SUPATH=/usr/sbin:/usr/bin(デフォルト)
SUPATH=/usr/local/bin:/usr/sfw/bin:/opt/sfw/bin:/usr/bin:/usr/sbin:
/usr/dt/bin:/usr/openwin/bin:/usr/xpeg4/bin:
/usr/ccs/bin:/usr/ucb
tips1.LD_LIBRARY_PATHとLD_RUN_PATH
solarisでは、LD_LIBRARY_PATHとLD_RUN_PATHを使用できます。
この違いは、LD_LIBRARY_PATHは、バイナリ実行時の依存ライブラリの参照先ですが、LD_RUN_PATHは、コンパイル時に依存ライブラリの場所を、バイナリに埋め込みます。
ソースからコンパイルする場合は、このあたりを上手に使うと、いろいろ工夫出来ます。
たとえば、オリジナルパッケージ集なんか作る時や、異なるバージョンのライブラリをインストールしておき、一方を指定してコンパイルするときなどには便利ですね!
この設定で、メールクライアントのSylpheedあたりは、正常にコンパイルできると思います。
|
|
|
|
|
|
|