Opened 16 years ago

Closed 15 years ago

Last modified 15 years ago

#15421 closed defect (fixed)

BUG: ruby 1.8.6-p114_0 +tk incorrectly links against Apple provided TK framework

Reported by: synfinatic@… Owned by: kimuraw (kimura wataru)
Priority: Normal Milestone:
Component: ports Version: 1.6.0
Keywords: Cc:
Port:

Description

Building ruby @1.8.6-p114_0+darwin_9+thread_hooks+tk and then:

/opt/local/bin/irb
require 'tk'
TclTkIp.new._eval "info patchlevel"

Doesn't return 8.5.2 (which is the MacPorts version of Tk), but rather 8.4.7 which is the Apple provided version.

The issue seems to be that the incorrect arguments are passed to the tk ruby extention. I've had to manually build the tcltklib.bundle and tkutil.bundle:

cd ext/tk
CONFIGURE_ARGS='--with-tcl-dir=/opt/local --with-tk-dir=/opt/local --with-tcllib=tcl8.5 \
   --with-tklib=tk8.5 --enable-pthread --without-X11'  /opt/local/bin/ruby extconf.rb
make
make install
cd tkutil
CONFIGURE_ARGS='--with-tcl-dir=/opt/local --with-tk-dir=/opt/local --with-tcllib=tcl8.5 \
   --with-tklib=tk8.5 --enable-pthread --without-X11' \ /opt/local/bin/ruby extconf.rb
make
make install

Change History (5)

comment:1 Changed 16 years ago by jmroot (Joshua Root)

Owner: changed from macports-tickets@… to pguyot@…

Assigning to maintainer.

comment:2 Changed 16 years ago by synfinatic@…

Looks like Tk/Tcl is broken too. doesn't build the OSX Framework, so you don't get the properly themed Tk. I was able to manually build the Framework and compile the ext/tk using:

ruby extconf.rb --without-X11 --with-tcltk_framework=/Library/Frameworks/
make && make install

which also correctly built/installed the ext/tk/tkutil stuff as well.

comment:3 Changed 16 years ago by kimuraw (kimura wataru)

Owner: changed from pguyot@… to kimuraw@…

comment:4 Changed 15 years ago by kimuraw (kimura wataru)

Resolution: fixed
Status: newclosed

port ruby186-p287 works correctly. close this ticket.

comment:5 Changed 15 years ago by (none)

Milestone: Port Bugs

Milestone Port Bugs deleted

Note: See TracTickets for help on using tickets.