# Setting up TclTkAquaBI and Ruby on OS X

**URL:** <https://www.ruby-forum.com/t/setting-up-tcltkaquabi-and-ruby-on-os-x/115526>\
**Category:** Ruby\
**Created:** [September 26, 2007, 12:07am UTC](https://www.ruby-forum.com/t/setting-up-tcltkaquabi-and-ruby-on-os-x/115526 "2007-09-26T00:07:15Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![unknown](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/u/4bbf92/32.png) [@unknown](https://www.ruby-forum.com/u/unknown)\
**Post date:** [September 26, 2007, 12:07am UTC](https://www.ruby-forum.com/t/setting-up-tcltkaquabi-and-ruby-on-os-x/115526/1 "2007-09-26T00:07:15Z")

</div>

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
