PHP 5.2.17 をソースからビルドした時、Lemon Parser がなかったために、出た警告を解消するのに、すごく苦労いたしました。
なぜなら、yum で簡単にインストール、、、できなかったからですの><。
最終的にはほうっておくことにしたのですけれども、試行錯誤を残しておきますわ。
環境
- CentOS release 5.11 (Final)
- x86_64
ポイント
- Lemon Parser がない場合、PHP 5.2.17 コンパイル時に警告が出る。
- yum や rpm でインストールすることができない。
- コードをダウンロードし、自分自身で Lemon Parser をビルドする必要がある。
- The LEMON Parser Generator
の lemon リンクから最新ソースへと移動できる。 - Lemon Parser ダウンロード: SQLite: Artifact Content
- 上記ページの [Download] からコードを入手可能。
Lemon Parser をインストールする手順
root ユーザーで行いました。
cd ~ curl -L -Ss -o lemon.c http://www.sqlite.org/src/raw/tool/lemon.c?name=09a96bed19955697a5e20c49ad863ec2005815a2 gcc -o lemon lemon.c mv lemon /usr/local/bin rm -f lemon.c
残った課題・困ったこと
- [Download] から入手できるコードは最新版とは限らない。常に最新版をダウンロードしたいが、方法がわからない。
- root では無いユーザで実行したところ、再び警告が出るようになってしまった。
おまけ。コマンドの意味
- -L: リダイレクト先までアクセスする。
- -s: ダウンロードの進捗とエラーメッセージを表示しない。
- -S: -s と併用して用いる。
- -Ss: ダウンロードの進捗を表示しない。ただし、エラーメッセージは表示する。
- -o: 取得結果をファイルに保存する。このオプションを指定しないと、標準出力に吐き出される
- curl コマンド | コマンドの使い方(Linux) | hydroculのメモ
- curl コマンド 使い方メモ – Qiita
curl -L -Ss -o lemon.c http://www.sqlite.org/src/raw/tool/lemon.c?name=b4da2f0181b4defe538eb437eb96c721cf342d39
-
-o: 生成する実行ファイル名を指定。
- UNIXの部屋 コマンド検索:gcc (*BSD/Linux)
gcc -o lemon lemon.c
警告のエラー内容
Lemon Parser がない場合、ログファイル、または画面に次のようなエラーが表示されました。
configure: warning: lemon versions supported for regeneration of libsqlite parsers: 1.0 (found: none).
おわりに
root 以外のユーザで同じ操作を行うように切り替えましたら、警告が再び出るようになってしまいました><。
そもそも Vagrant のプロビジョニングをしておりました。phpenv、phpbuild で PHP 5.2.17 をインストールしている時に躓いたことでしたの。
現在は、警告が再び出るようになったとはいえ、無事 PHP を動かせておりますので、これで一旦終わりといたします。
最後に、参考ぺーじです。Lemon Parser をインストールする流れをつかむことができました。ありがとう存じます♪
以上です。