CentOS(x64) + mysql 5.1.50 + php-5.2.14 のコンパイルで

金曜日, 9月 3, 2010 20:13
Posted in category Linux,freebsd

mysql の configure オプションの注意。
特には無いけど、mysql4と違ってinnodbがplugin化したので

–with-plugins=innobase,innodb_plugin,myisam 

的なオプションをつける。

phpのコンパイルは注意。

–with-libdir=lib64 \

を付けるのはお決まりとして、–with-mysqlをつけるといつものエラーに悩まされる。

configure: error: Cannot find libmysqlclient under /usr/local/mysql

こんなの。

ldconfig に追加してみてもダメで、最終的に

ln -s /usr/local/mysql/lib /usr/local/mysql/lib64

これでうまくいった。
with-libdir=lib64 つけると、mysqlライブラリも /usr/local/mysql/lib64 を参照しに行くのね…
(もちろんmysqlのインストール時に /usr/local/mysql/lib と指定してた状態の話。
/usr/local/mysql/lib64 にインストールするオプションつけていれば問題無い)
もうちょっと分かりやすく表記しとけよ、と思いつつ。

[FYI] lighttpd 起動時のエラー解消法

金曜日, 8月 20, 2010 20:58
Posted in category Linux,freebsd

lighttpd を rpm なり source compile で導入して起動テストすると、以下のようなエラーが出る事がある。

# /usr/local/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf
2010-08-20 20:56:47: (network.c.203) socket failed: Address family not supported by protocol

これは default で ipv6 設定が enable の為に起こる現象。

server.use-ipv6 = “enable”

server.use-ipv6 = “disable”

と変更する事で起動する。
何か日本語の資料がなかったので掲載。誰かの役に立てば幸い。

USB から FreeBSD 8.1 をインストールする

金曜日, 7月 30, 2010 10:17
Posted in category Linux,freebsd

これはとても簡単なのでさくっと説明。
DD for windows をダウンロードしてくる。
freebsd の ISOファイルをダウンロードする。ダウンロードするファイルは、****-i386-memstick.iso か ****-amd64-memstick.iso 。32bitCPUなら i386、64bitCPUならamd64。困ったらi386にしておけばどっちでもうごく(但し64bit程パフォーマンスでないし、メモリも4GBまでしか認識しない)

DD for windows を 解凍して起動。「ディスク選択」からmicroSDを選択して「OK」
「ファイル選択」からさっきダウンロードしたファイルを選択。初期状態だと選べないので、「ファイルの種類」を「All files」にする。
そうしたら、「<< 書き込み <<」を押せば完了。

あとはそのmicroSDから起動すればOSのインストールまで簡単にできます。

CentOS 5.5 を USBからインストール

月曜日, 7月 26, 2010 11:08
Posted in category Linux,freebsd

最近はサーバもDVDに対応しているので、インストールは非常に楽になりました。あるところで活躍していたサーバを引きとって再インストールをしようとしたところ、メディアからブートできない。おや?と思ってよく見たところ、CompactDISC の文字。DVD未対応だったのですね。ここしばらく楽ばかりしていたので気が付きませんでした。
CDメディアを作ろうと思ったのですが、CentOSのCDは7枚組。勿論全部を役必要はありませんが、めんどい。というわけで、USBメモリからブートしてみようと思い、作成してみました。Tipsみたいなものです。持ち歩きも楽なので、MicroSD 8GBを大量に用意してUSB接続できるアダプタとかあると管理者的には良いかもしれません。

freebsd 8.0(amd64) + php 4.4.9 で コンパイルエラー

金曜日, 4月 30, 2010 17:20
Posted in category Linux,freebsd

freebsd 8.0 (に限らないみたいですが) に php 4.4.9 をインストールした際にコンパイルエラーが出てしまうようです。

–with-gd \
–with-freetype \
–with-freetype-dir=/usr/local/include/freetype2/freetype \
–with-png-dir=/usr/local/lib/ \
–with-jpeg-dir=/usr/local/lib/

gd と with-png-dir 辺りのオプションをつけているとエラーがでるようです。

エラー内容はこんな感じ

ext/gd/libgd/gd_png.o(.text+0xabc): In function `gdImageCreateFromPngCtx’:
/home/user/src/php-4.4.9/ext/gd/libgd/gd_png.c:139: undefined reference to `png_check_sig’
*** Error code 1

php bugを検索したところ一発で理解。libpngが1.4.0以上だと起こるらしいです。

> pkg_info | grep png
png-1.4.1_1 Library for manipulating PNG images
pngcrush-1.7.10 An optimizer for PNG files

というわけでパッチを作成。
こんな感じで大丈夫。

— php-4.4.9/ext/gd/libgd/gd_png.c.org 2010-04-28 17:00:15.000000000 +0900
+++ php-4.4.9/ext/gd/libgd/gd_png.c 2010-04-28 17:05:21.000000000 +0900
@@ -136,7 +136,7 @@
* have used slightly more general png_sig_cmp() function instead
*/
gdGetBuf(sig, 8, infile);
- if (!png_check_sig (sig, 8)) { /* bad signature */
+ if (png_sig_cmp (sig, 0, 8)) { /* bad signature */
return NULL;
}

上記パッチのダウンロードはこちら

解凍した php-4.4.9 の ディレクトリに、適当なファイルでpatchを作成して
patch < ./gd_png.patch(任意のファイル名)
でパッチ当て完了。

無事にコンパイルできました。

国会論争がバラエティより楽しい

金曜日, 3月 12, 2010 10:34
Posted in category 日記

麻生さん、また戻ってきてくれないかなぁ・・・
この政権があり続ける限り根本的な景気回復は無理だと思うし、外国人参政権や子ども手当を含めた緊急性の無いものばかりが取り沙汰されてて、先行きが暗すぎるですよ。
今一度、彼らがやってきた事を自分の目でしっかり判断して、何を政治に求めるのか考えるべきだと思います。