1

Lua がプリロードされている Scientific Linux 6.4 サーバーの pdns-recursor で、Lua スクリプト内からデータベース テーブルを読み取る必要があります。

どうやら luasql をインストールするには luarocks を使用する必要があるようです。luasql をインストールしようとすると、次のようになります。

Checking Lua includes... lua.h not found  
lua.h is not on the server.  

バイナリからインストールできるように、インストール済みのバージョンを削除しようとしましたが、インストール済みの Lua をすべて (yum、rpm など) に使用していると思われるシステムが破棄されました。ここで、OS をリロードする必要があります。組み込みの Lua から MySQL にアクセスするにはどうすればよいですか?

前もって感謝します。

4

1 に答える 1

3

yum で luasql が使用可能かどうかを確認済みであると仮定します。そうでない場合は、最初にそれを行い、可能であれば yum を介してインストールする必要があります。

あなたが抱えている問題の直接の原因は、luarocks がソースからモジュールを自動的にビルドすることであり、これには lua ヘッダーへのアクセスが必要です。これらは単に Lua を使用するプログラムを実行するために必要なわけではないため、通常の Lua パッケージの一部としてインストールされません。私は Scientific Linux に詳しくありませんが、 、 、 、またはその変種という名前のパッケージをインストールすることで、おそらくそれらを入手lua-devできlua-develますlua-headers。また、mySQL パッケージ (適切なライブラリーとヘッダーの両方) が必要になる場合があります。それらをインストールしたら、もう一度試してください。

LuaDistを試すこともできます。これは、一般的に luarocks よりも洗練されており、より多くの依存関係を自動的にダウンロードできます。特に、おそらく lua ヘッダーをインストールする必要はなく、ソースから lua 自体を自動的にダウンロードしてインストールすることができます。ただし、CMake がインストールされている必要があります。

何らかの理由で必要なヘッダーをインストールできず、luarocksまたはluadist が機能しない場合は、手動で luaSQL をダウンロードしてビルドしてみてください。Lua ヘッダーは、Lua 5.1 ソース パッケージとLuaSQL 2.2にあります。Scientific Linux のメンテナーが同梱の lua のバージョンを過度にカスタマイズしていないと仮定すると、結果はシステムの Lua インストールと互換性があるはずです。

于 2013-09-06T23:43:37.157 に答える