Ubuntu 16.04でソースコードをコンパイルして、「 readme 」ファイルの指示に従って、いくつかのオープンソースソフトウェアをインストールしています。特定のポイント(リンクのポイント3b)では、実行可能ファイルを生成するために、特定のディレクトリにある.cshファイルを実行する必要があります。 ./compile_all.csh
と入力して必要なディレクトリのターミナルから必要なcshスクリプトを実行するか、csh
を実行して対話型シェルを起動すると、ターミナルで次の行が表示されます。
MANPATH: undefined variable.
このエラーを修正するにはどうすればよいですか?
以下は、Ubuntuターミナルから実行されたmanpath
コマンドの結果です。
~$ manpath
/home/atrcheema/share/man:/usr/local/man:/usr/local/share/man:/usr/share/man
~./cshrc
ファイルには、次のコマンドの実行からわかるように、1行しか含まれていません。
:/home$ vim ~/.cshrc
setenv MANPATH ${MANPATH}:${HOME}/share/man
compile_all.csh
の最初の数行は次のとおりです。
#!/bin/csh
####### section added by York Prado 10/2009
if( ! (-e /usr/bin/f77 || -e /bin/f77 || -e /usr/local/bin/f77) ) then
echo "f77 command is not found"
echo "Please make sure you have the fortran 77 compiler installed"
exit 1
endif
# section below moved to compile_hspf_libs.csh
#cd hspf/lib3.2/src/util
#make clean
#make
#make install
#cd ../
#cd wdm/
#make clean
#make
#make install
#cd ../
#cd adwdm/
#make clean
##make
#make install
#echo "Compiled all the lib3.2 files needed to compile the CBWM"
#cd ../../../../
######### end York Prado section
cd lib/dsn/
f77 -c dsn_utils.f
cd ../util
rm ../util_lib.a
./compile
cd ../get
rm ../get_lib.a
./compile
cd ../tty/
gcc -c -o ../ttyux.o ttyux.c
エラーメッセージ
MANPATH: undefined variable.
ubuntuはデフォルトでMANPATH
を設定しないため(man
には組み込みの検索パスがあります)、csh
(Bourneシェルとは異なり)は未設定の変数を空として扱いません。
ただし、シェルOR C-Shellスクリプトの実行を妨げることはありません。
それでも、それを「修正」する場合は、~/.cshrc
ファイルを変更してMANPATH
が設定されているかどうかを確認し、2つのケースを適切に処理する必要があります。
if ( ${?MANPATH} ) then
setenv MANPATH ${MANPATH}:${HOME}/share/man
else
setenv MANPATH ${HOME}/share/man
endif
免責事項私はcsh
構文に堪能ではないので、YMMVです。