phil.devor
9/25/2007 10:02:00 PM
Hi, I've been stuck trying to get this to work for days. Not sure how
to get this to work. Any help would be very much appreciated.
I'm running OS X 10.4.10 and I installed the latest TclTkAquaBI
(8.4.10) using the standard non-custom install.
Then I downloaded ruby-1.8.6 to my desktop. I ran the following
commands:
-----------------
cd ~/Desktop/ruby-1.8.6
autoconf
../configure --enable-tcltk-framework
make
sudo make install
-----------------
make gave the following warnings:
------------------
dln.c: In function 'dln_load':
dln.c:1472: warning: 'NSIsSymbolNameDefined' is deprecated (declared
at /usr/include/mach-o/dyld.h:150)
dln.c:1475: warning: 'NSLookupAndBindSymbol' is deprecated (declared
at /usr/include/mach-o/dyld.h:158)
-------------------
there were also a lot of these:
-------------------
warning: pointer targets in passing argument 1 of
'some_string_or_file' differ in signedness
------------------
with sudo make install bash gave the following:
------------------
../miniruby ./instruby.rb --dest-dir="" --extout=".ext" --make="make"
--mflags="" --make-flags="" --installed-list .installed.list --
mantype="doc"
installing binary commands
installing command scripts
installing library scripts
installing headers
installing manpages
installing extension objects
installing extension scripts
------------------
That seemed to work allright, but irb was broken. Typing "irb" into
bash gave the following:
------------------
dyld: NSLinkModule() error
dyld: Symbol not found: _rl_filename_completion_function
Referenced from: /usr/local/lib/ruby/1.8/i686-darwin8.10.1/
readline.bundle
Expected in: flat namespace
------------------
To fix irb, I did the following:
------------------
cd ~/Desktop/ruby-1.8.6/ext/readline
ruby extconf.rb
make
sudo cp readline.bundle /usr/local/lib/ruby/site_ruby/1.8/i686-
darwin8.10.1
-------------------
Then I created a few one-line test files:
tktest.rb: require 'tk'
tcltktest.rb: require 'tcltk'
tcltklibtest.rb: require 'tcltklib'
They all gave the same error:
--------------------
dyld: NSLinkModule() error
dyld: Symbol not found: _Tcl_GetVar2
Referenced from: /usr/local/lib/ruby/1.8/i686-darwin8.10.1/
tcltklib.bundle
Expected in: flat namespace
Trace/BPT trap
---------------------
Another one-line test file:
tcltest.rb: require 'tcl'
gave a different error:
-------------------
tktest.rb:1:in `require': no such file to load -- tcl (LoadError)
from tktest.rb:1
------------------
So I tried to fix tk sort of the same way irb was fixed:
-------------------
cd ~/Desktop/ruby-1.8.6/ext/tk
ruby extconf.rb
-------------------
But it gave an error:
-------------------
checking for Tcl/Tk Framework... /usr/local/lib/ruby/1.8/mkmf.rb:
176:in `initialize': Permission denied - mkmf.log (Errno::EACCES)
from /usr/local/lib/ruby/1.8/mkmf.rb:176:in `open'
from /usr/local/lib/ruby/1.8/mkmf.rb:176:in `open'
from /usr/local/lib/ruby/1.8/mkmf.rb:203:in `postpone'
from /usr/local/lib/ruby/1.8/mkmf.rb:542:in `checking_for'
from extconf.rb:20:in `find_framework'
from extconf.rb:33
--------------------
I then tried "sudo ruby extconf.rb" and bash gave me the following:
---------------------
checking for Tcl/Tk Framework... yes
checking for t_open() in -lnsl... no
checking for socket() in -lsocket... no
checking for dlopen() in -ldl... yes
checking for log() in -lm... no
creating Makefile
---------------------
Next, I tried both "make" and "sudo make" and they both gave the same
feedback:
----------------------
make: Nothing to be done for `all'.
----------------------
I think the problem might be in configuring ~/Desktop/ruby-1.8.6/ext/
tk/extconf.rb or somewhere else.
As I said, I've been banging my head against this for days now, trying
to get it to work. I would really appreciate any help at all even if
it's just to point me in the right direction. Thanks.
~Phil