Satoshi Nakagawa
snaka****@infot*****
Sat Aug 11 12:03:22 JST 2007
Hi. I have tested pre1. When I built LimeChat, it showed these messages in the build log: Building ZeroLink launcher /Users/psychs/svn/limechat/trunk/build/Debug/LimeChat.app/Contents/MacOS/LimeChat (1 warning) warning can't open dynamic library: @executable_path/../Resources/libruby.1.dylib referenced from: /Library/Framework/RubyCocoa.framework/RubyCocoa (checking for undefined symbols may be affected) (No such file or directory, errno = 2) And then, I copied LimeChat.app to /Applications and executed it. It showed the warning: /Applications/LimeChat.app/Contents/Resources/resolver.rb:8:in `resolve': Ruby threads cannot be used in RubyCocoa without patches to the Ruby interpreter It seems that the patched libruby is not linked successfully. > So, question: do you think we can live with this and go releasing this > 0.12.0pre1 binary package to users? Or should we revert the old > package that replaced /usr/lib/libruby.1.dylib with the patched > version, during install? > > Personally, I think that replacing /usr/lib/libruby.1.dylib with the > patched version is better, because it will introduce less confusion to > users. Also, users who will build RubyCocoa by themselves will anyway > replace /usr/lib/libruby.1.dylib. I agreed. But I think we should not overwrite libruby.1.dylib. I suggest we should install a new file and if /usr/lib/libruby.1.dylib is a symbolic link: remove it and make a new symbolic link to the patched libruby. else if /usr/lib/libruby.1.dylib exists: rename it to another file name and make a new symbolic link to the patched libruby. The script might be: if [ -L /usr/lib/libruby.1.dylib ]; then rm /usr/lib/libruby.1.dylib elif [ -e /usr/lib/libruby.1.dylib ]; then mv /usr/lib/libruby.1.dylib /usr/lib/libruby.1.dylib.original fi ln -s /usr/lib/libruby.1.dylib.with_thread_patch /usr/lib/libruby.1.dylib Pros.: 1. Users can revert the change by themself if they don't want it. 2. Both applications and ruby scripts will work with the patched libruby. -- Satoshi Nakagawa