Lua5.1.4をインストールする
ソースコードを取得して、ビルドする。
いつものごとく make して、make install。INSTALL_TOPにパスを設定しない場合は /usr/local になります。
さくっと終わると思ったけれど、readline-devel と ncurses-devel がないとコンパイルできませんでした。そのときのエラーメッセージと対応は以下参照。
$ tar zxf lua-5.1.4.tar.gz $ cd lua-5.1.4 $ make linux $ make install INSTALL_TOP=~/opt/lua-5.1.4
readline がない
以下のようなメッセージが出力されたときは readline-devel がインストールされていません。readline-devel をインストールします。
メッセージ
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lua.o lua.c lua.h:16 から include されたファイル中, lua.c:15 から: luaconf.h:275:31: error: readline/readline.h: そのようなファイルやディレクトリはありません luaconf.h:276:30: error: readline/history.h: そのようなファイルやディレクトリはありません lua.c: In function ‘pushline’: lua.c:182: 警告: implicit declaration of function ‘readline’ lua.c:182: 警告: assignment makes pointer from integer without a cast lua.c: In function ‘loadline’: lua.c:210: 警告: implicit declaration of function ‘add_history
対応
# yum install readline-devel.i386
ncurses がない
以下のようなメッセージが出力されたときは ncurses-devel がインストールされていません。ncurses-devel をインストールします。
メッセージ
gcc -O2 -Wall -DLUA_USE_LINUX -c -o lua.o lua.c gcc -o lua lua.o liblua.a -lm -Wl,-E -ldl -lreadline -lhistory -lncurses /usr/bin/ld: cannot find -lncurses collect2: ld はステータス 1 で終了しました
対応
# yum install ncurses-devel.i386