web-dev-qa-db-ja.com

sqliteをphpとしてカスタムコンパイルする

soundex機能を使用してsqliteをコンパイルする sqliteのカスタムコンパイルを行う方法を学びました。これは、機能テストでsqliteのsoundexを使用するという私の目標に向けた一歩でしたが、私はまだそこにいないことがわかりました。既存のsqlite.soを置き換える必要があります。このコマンドを変更するためのさまざまな取り組み:

$ Sudo ./configure --prefix=/usr --disable-static CFLAGS="-g -O2 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_SOUNDEX"

失敗しました。 php5-devをインストールしてsqliteソースコードディレクトリでphpizeを実行すると、次のようになります。

Config.m4が見つかりません

私の手順の修正は大歓迎ですが、行きたい場所にたどり着く方法について、もう少し完全なリファレンスを見つけたいと思います。私はただ無知で、愚かではありません。たとえば、sqlite機能SQLITE_SOUNDEXの前にDが必要であることがどこでわかりましたか?

[編集:部分的な回答= GNUコンパイラ の使用、CFLAGSがgccオプションであり、プリプロセッサオプションを使用し、sqlite機能がマクロと見なされます。]

CompilingEasyHowTo および CompilingSoftware では不十分です。 Building PHP extension もあまり役に立たないようです。

1
geoB

Ubuntuには、SQLite用の2つのパッケージがあります:sqlitesqlite3。 2番目を使用する場合は、その関数をサポートしてコンパイルされます(他のバージョンにも存在するかどうかはわかりません...)

sqlite> SELECT SOUNDEX("John"), SOUNDEX("Joahn");
J500|J500

したがって、最初に2番目のバージョンを使用してみてください。

$ Sudo apt-get remove sqlite
$ Sudo apt-get install sqlite3

今あなたに質問:私はそれをコンパイルしようとしました、そしてそれはうまくいくようです:

  • SQLiteソースコードを ここ からダウンロードします。 sqlite-autoconf

  • Configureコマンドを抽出して実行しますSudoなし。後で必要になるだけです

    $ ./configure --prefix=/usr --disable-static CFLAGS="-g -O2 -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_COLUMN_METADATA=1 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1 -DSQLITE_SECURE_DELETE=1 -DSQLITE_SOUNDEX"
    
  • SQLiteをコンパイルする

    $ make
    
  • 試して

    $ ./sqlite3
    sqlite> SELECT SOUNDEX("John"), SOUNDEX("Joahn");
    J500|J500
    
  • システムにインストールします

    $ Sudo make install
    
0
Salem