« PHP4.3.11のお守り(おもり)#1 | トップページ | PHP4.3.11のお守り(リローデッド) »

PHP4.3.11のお守り(おもり)#2

 そういえば一年程前もPHPのビルドやったなぁ、と辛いトラウマを思い出しながら、make画面をぼーっと見ていると、またまた(※1)と似た、
 「ld: can't locate file for: -lbundle1.o」(※3)というエラーメッセージ。
 実は昨日の記事の(※1)の時には何故か気がつかなかったのですが、この頭についている"-l"というのがくせ者で、このまま開発マシン中を検索しても何も見つかりません。
 悩みつつDeveloper/SDKs/MaxOSX10.3.0.sdk/usr/lib/usr/libを眺めていたら、"-l"の無い"bundle1.o"がある事に気がつき、試しに/usr/libに入れてみたら、今度は無事make終了。
 
 これでやっとめでたくインストール可能なバイナリとなったわけです。
 しかし、これまでの作業で、開発用サーバーの内部は、Developer's kitやrpm対応のOS X Workshopなどのインストールでかなりファイルやフォルダー類が増えてしまいました。
 今後、他のサーバーに移植する時に同じ事を繰り返すのは避けたいので、OS X独自のInstall Packageにすることに。
  この時の作業については昔OS Xが出た時に買った「Mac OS X徹底活用ガイド 海上忍著 (株)技術評論社刊 ISBN 4-7741-1236-4」という本が役に立ちました。

 事前に仮のディレクトリ(例:/lessroot/usr/local)を作っておき、完成したPHPをターミナルから"install prefix=/lessroot/usr/local"で本来の場所とは違うディレクトリにインストール。 さすがにここではエラーに遭遇する事なく完了。
 ここで安心せずに仮ディレクトリ(/lessroot)を"sudo chown -R root:wheel lessroot"で所有権を変更します。

 次にDeveloper's kitのApplication/Utilityの中にある"packageMaker"を利用。
 これはApple製のアプリケーションですから、使い慣れないターミナルでのコマンドラインとは違ってGUIで作業できます。
 結構入力する項目がありますが、私は最低限として、
 Descriptionタブ Title
 Filesタブ Root (上記仮のディレクトリを指定)
 Infoタブ (AutorizationはAdminあたりに設定した方が良いでしょう)
 だけ入力してCreate Package(Command+K)。
 
 これでやっとサーバーマシンへのインストールができます。
 当然ながら現在まともに動いているPHPやphp.ini、libphp4.soなどのコピーを取ってから先の作業で完成したpackageをダブルクリックするとあっけなく作業終了。
 念のためサーバーを再起動して再び"phpinfo();"で確認し、ビルドの日付が新しくなっていて、かつApacheが要求する機能が全て動いているかをwebブラウザでチェックすればOKです。 感涙...
 
 こうしてまとめてみると明解そうですが、エラーの度にネットを検索し(こういう手段があるだけでもあり難いけど)、その履歴を見ると三日で100サイトをゆうに超えてますから、大変でした。
 
 先日、うちの学校でホームページの深い所を教えてもらっている先生と話したとき、「MacはOS Xになってサーバーの開発環境として最適になった」とか言ってたんだけど、こうして本格的にソースからやって行くと、ライブラリやコンパイラ(gcc)を含むSDKの中身等、まだまだですね。
 まぁ、でもLinuxならここまでできたかどうか解りませんから、せめてUIが使い慣れたMacで良かった、というところかも知れません。
 
 そんな苦労も終わってみれば成功の快感がそんな苦労を吹っ飛ばしてくれるんですけどね。
 タダでは起きまへんで...

|

« PHP4.3.11のお守り(おもり)#1 | トップページ | PHP4.3.11のお守り(リローデッド) »

osCommerce」カテゴリの記事

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/108674/11230910

この記事へのトラックバック一覧です: PHP4.3.11のお守り(おもり)#2:

« PHP4.3.11のお守り(おもり)#1 | トップページ | PHP4.3.11のお守り(リローデッド) »