[Rubycocoa-devel 1143] Re: 0.12.0pre1

Back to archive index

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




More information about the Rubycocoa-devel mailing list
Back to archive index