志村さん:

星澤です。
アドバイスありがとうございました。結果的にはStuffItのせいでは
ありませんでしたが、別の方法で解決できました。

cc -dynamic -bundle -undefined suppress -flat_namespace
   -L/usr/local/lib/ruby/1.6/powerpc-darwin5.3 -L/usr/local/lib
   -L/usr/local/lib/mysql -o mysql.bundle mysql.o  -lmysqlclient

makeの最後のステップで上記のコマンドが実行されますが、Mac OS X
10.1 以降、two level namespace オプションがデフォルトとなり、
-undefined suppress が有効とならなくなった(未定義のシンボルを
許さなくなった)ようです。

実行時のエラーですが、compress/uncompress は、libzに含まれることが
わかったので、最後に -lz を追加することで解決できました。

参考:
http://developer.apple.com/techpubs/macosx/ReleaseNotes/TwoLevelNamespaces.
html

---
星澤 隆 / Takashi Hoshizawa
mail: t_hoshizawa / mbg.nifty.com



On 2002.05.13, at 18:06, H.Shimura wrote:

> 		志村 といいます
>
> MAcOSX-Ruby の話題は久しぶりなので、役に立たないけどメールします。
>
> In message "[ruby-list:35072] Mac OS X で mysql-ruby 実行時エラー", 
> <DFDC4756-65B5-11D6-A99B-
> 0030656EC98C / mbg.nifty.com>,
> Takashi Hoshizawa wrote...
>> Mac OS X で RubyからMySQLを使用しようとしたところ、
>> 下記のようなエラーが発生します。
>> mysql-rubyのmakeは、正常終了しました。
>> 解決策の御存知の方がいたらぜひご教授下さい。
>
> 藤本さんの RubyCocoa のインストールではまった事があります。
> http://www.imasy.or.jp/~hisa/mac/rubycocoa/FAQ.ja.html#label:4
>
> 圧縮ファイルを展開する時 StuffIt を使うと
> (デスクトップで圧縮ファイルをクリックしたり)
> と長いファイル名が再現されないようです。
> (Terminal から tar コマンドを使えば大丈夫)
>
> make には成功してるという事なので、違うかもしれませんが一度ご検討
> ください。
>
>> (例) mysql-ruby付属のテストプログラム実行時
>> $ ruby -I. ./test.rb localhost root xxxxxxxx
>> dyld: ruby Undefined symbols:
>> _compress
>> _uncompress
>
> 上にあげた例でもエラーは
>
> % ruby fontnames.rb
> dyld: ruby Undefined symbols:
> _init_NSDistributedNotificationCenter
> _init_NSScriptStandardSuiteCommands
>
> こんな感じでした。
> (だからファイル名の長さに起因するエラーではなさそうですね)
> ---------------------------------------+---------+---------+以上 
> 2002/5/13
>
> 志村弘之  mailto: shimurahiroyuki / obun.co.jp
> 欧文印刷株式会社TEL03-3817-6721 FAX03-3817-5935
>