[PHP-users 10282] Re: GD2.0.1のインストールについて
Naomasa Numajiri
php-users@php.gr.jp
Sat, 21 Sep 2002 18:42:56 +0900
こんにちは、
回答ではないですが、メッセージの意味を参考までに
; make[3]: Entering directory `/usr/local/src/php-4.2.2/ext/gd'
たしか、makeの中で更にmakeを実行した時に、このようなメッセージが
表示されると記憶しています。
; /bin/sh /usr/local/src/php-4.2.2/libtool --silent --mode=compile gcc -I. -I/usr/local/src/php-4.2.2/ext/gd -I/usr/local/src/php-4.2.2/main -I/usr/loc
; al/src/php-4.2.2 -I/usr/include/apache -I/usr/local/src/php-4.2.2/Zend -I/usr/local/include -I/usr/local/include/freetype2/freetype -I/usr/local/src/g
; d-2.0.1/ -I/usr/local/src/php-4.2.2/ext/mysql/libmysql -I/usr/local/pgsql/include -I/usr/local/src/php-4.2.2/ext/xml/expat -DLINUX=22 -DUSE_HSREGEX -
; DUSE_EXPAT -I/usr/local/src/php-4.2.2/TSRM -g -O2 -prefer-pic -c gd.c
たぶんこんな感じでしょう
* /bin/sh -- シェルスクリプトlibtoolを実行
* /usr/local/src/php-4.2.2/libtool -- --silent,--mode=compileというオプションでgccを実行
* gcc --
ヘッダーファイル(ソース内のinclude "xxx.h"の部分)の検索パス
-I.
-I/usr/local/src/php-4.2.2/ext/gd
-I/usr/local/src/php-4.2.2/main
-I/usr/local/src/php-4.2.2
-I/usr/include/apache
-I/usr/local/src/php-4.2.2/Zend
-I/usr/local/include
-I/usr/local/include/freetype2/freetype
-I/usr/local/src/gd-2.0.1/
-I/usr/local/src/php-4.2.2/ext/mysql/libmysql
-I/usr/local/pgsql/include
-I/usr/local/src/php-4.2.2/ext/xml/expat
他のオプションは「man gcc」で調べてみてください。で、浅井さん
なりの理解を書いてみてください。
; gd.c: In function `zm_startup_gd':
演習1
これは英単語の意味を調べれば分かると思います。
; gd.c:303: `gdArc' undeclared (first use in this function)
; gd.c:303: (Each undeclared identifier is reported only once
; gd.c:303: for each function it appears in.)
演習2
「gc.cというファイルの303行目に関するメッセージ」という意味です。
メッセージの内容は英単語の意味を調べれば分かるでしょう。
; gd.c:304: `gdPie' undeclared (first use in this function)
; gd.c:305: `gdChord' undeclared (first use in this function)
; gd.c:306: `gdNoFill' undeclared (first use in this function)
; gd.c:307: `gdEdged' undeclared (first use in this function)
; gd.c: In function `zif_imagecreatetruecolor':
; gd.c:588: warning: assignment makes pointer from integer without a cast
; gd.c: In function `zif_imagecolorat':
; gd.c:1626: structure has no member named `tpixels'
; make[3]: *** [gd.lo] Error 1
; make[3]: Leaving directory `/usr/local/src/php-4.2.2/ext/gd'
ここである階層でのmakeの実行が終わり、呼び出し元のmakeの実行に
戻ったはずです。たぶん「3」というのが階層の深さなんだと思います。
演習3
(エラー?)メッセージの意味は、英語ですが(少なくとも英語圏の人にさえ
意味不明なメッセージにするはずはないので)読む意思を持って眺めれば
ちゃんと理解できることだと思います。
英単語が分からない時はちゃんと辞書で調べましょう。
知識が足りない分は根気でカバーしましょう。
演習4
エラーメッセージの意味を理解したら、その意味に従って自分なりに仮説を
たてて、その仮説があっているか、自分の手を動かして自分の目で確認して
行きましょう。
# 演習5
# 解決策を見つけても、年号の丸暗記のように終わらせるのではなく、
# わざと間違ったことをしてみて、どんなときにどんなエラーが出るのか
# 確認してみましょう。そして間違った操作と結果の因果関係を理解しましょう。
以上、参考までに。
-- ぬ