重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

当方Macとプログラミング初心者です。
2ヶ月くらい前からうちのMac(Core i5 2.4GHz、10.6.7)にStarRubyをインストールしようと奮戦しているのですが、まったくうまくいきません。
ライブラリ等はMacPortsを利用しインストールしたのですが、extconf.rbを実行し、makeした所でエラーが出ます。
$ ruby extconf.rb
checking for png.h... yes
checking for zlib.h... yes
checking for Mix_OpenAudio() in -lSDL_mixer... yes
checking for TTF_Init() in -lSDL_ttf... yes
checking for fontconfig/fontconfig.h... yes
checking for FcInit() in -lfontconfig... yes
checking for main() in -lGL... yes
creating Makefile
$ make
/usr/bin/gcc-4.2 -I. -I. -I/opt/local/lib/ruby/1.8/i686-darwin10 -I. -DHAVE_PNG_H -DHAVE_ZLIB_H -DHAVE_FONTCONFIG_FONTCONFIG_H -I/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -I/opt/local/include -fno-common -pipe -O2 -arch x86_64 -fno-common -pipe -fno-common -I/opt/local/include/libpng14 -I/opt/local/include/SDL -D_GNU_SOURCE=1 -D_THREAD_SAFE -I/opt/local/include -finline-functions -Wall -W -Wpointer-arith -Wunused-parameter -pedantic -std=c99 -funit-at-a-time -arch x86_64 -c ./src/texture.c
./src/texture.c: In function ‘Texture_s_load’:
./src/texture.c:326: warning: implicit declaration of function ‘png_set_gray_1_2_4_to_8’
./src/texture.c:329: warning: ‘num_palette’ is deprecated (declared at /opt/local/include/png.h:660)
./src/texture.c:331: warning: ‘palette’ is deprecated (declared at /opt/local/include/png.h:658)
./src/texture.c:332: warning: ‘num_trans’ is deprecated (declared at /opt/local/include/png.h:662)
./src/texture.c:333: error: ‘png_info’ has no member named ‘trans’
./src/texture.c:334: warning: ‘num_palette’ is deprecated (declared at /opt/local/include/png.h:660)
make: *** [texture.o] Error 1

libpngが怪しそうなのですが、何ぶん知識が浅いのでさっぱりです。
環境変数の設定はしてあります。
一体何がいけないのでしょう。こちらの環境に依るものなのでしょうか。
回答宜しくお願いします。

A 回答 (2件)

たしか、libpngで定義されている png_info の定義が1.2.Xとそれ以降とで変わっていたと記憶しています。



Macportsでの最新版や、 「libpng14」 という記述からして、
src/texture.cが想定しているバージョン:1.2.X
MacPortsによってインストールされたバージョン: 1.4.X
という状態だと思われます。

texture.cのバージョンが古いのか、対応するのが遅れているのか、だと思われます。
対処方は
・libpng 1.2.X系をインストールする。
→MacPortsとの共存が面倒かもしれません
・texture.c をなんとかする
→開発が止っているようなので、「最新版」でも対応できてないかもしれません。
→自分で修正するなら、変更方法は、検索したら次のものがみつかりました。
http://tuxthink.blogspot.com/2010/08/pnginfo-has …
→ここが通ったら、他で別のエラーが出るかもしれません。
    • good
    • 0
この回答へのお礼

詳しいご解説ありがとう御座います。
さっそくリンク先のように修正してみましたが、やはり一発でとはいきませんでした。
何度も質問させて頂くのもどうかと思うので、提供して頂いた情報を参考にさせて頂きながら、自分で原因を探ってみることにします。

お礼日時:2011/06/08 21:26

Mac も StarRuby も知らんので、一般的なアドバイスとして



公式サイトには
http://www.starruby.info/ja/documentation/how_to …

とあるわけですね。この手順はすべてこなしているんですよね?
    • good
    • 0
この回答へのお礼

はい。この手順の通りに作業しました。
うーん、やはり環境によりけりで、これという決まった解決策は無いのかもしれませんね。

お礼日時:2011/06/08 00:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!