CentOS 7 で Lua を make しようとしたときに「致命的エラー: readline/readline.h: そのようなファイルやディレクトリはありません」と出るとき

起きている現象

$ curl -R -O http://www.lua.org/ftp/lua-5.3.4.tar.gz
$ tar zxf lua-5.3.4.tar.gz
$ cd lua-5.3.4
$ make linux test

lua.c:82:31: 致命的エラー: readline/readline.h: そのようなファイルやディレクトリはありません
 #include <readline/readline.h>

結論

$ sudo yum install libreadline-dev

libreadline-dev をインストールした後のコンパイルの結果

$ make clean

$ make linux test
cd src && make linux
make[1]: ディレクトリ `/tmp/lua53/lua-5.3.4/src' に入ります
make all SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline"
make[2]: ディレクトリ `/tmp/lua53/lua-5.3.4/src' に入ります
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o lua.o lua.c
gcc -std=gnu99 -o lua   lua.o liblua.a -lm -Wl,-E -ldl -lreadline
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o luac.o luac.c
gcc -std=gnu99 -o luac   luac.o liblua.a -lm -Wl,-E -ldl -lreadline
make[2]: ディレクトリ `/tmp/lua53/lua-5.3.4/src' から出ます
make[1]: ディレクトリ `/tmp/lua53/lua-5.3.4/src' から出ます
src/lua -v
Lua 5.3.4  Copyright (C) 1994-2017 Lua.org, PUC-Rio

コンパイルされたことを確認する

$ src/lua -v
Lua 5.3.4  Copyright (C) 1994-2017 Lua.org, PUC-Rio
$ src/luac -v
Lua 5.3.4  Copyright (C) 1994-2017 Lua.org, PUC-Rio
Powered by はてなブログ