Bug #3713
closedRuby 1.8.6 fails to build against Tk >= 8.5
Description
=begin
Building ruby 1.8.6 with Tk support and an installed Tk version of 8.5 or later results in the following compilation failure:
i686-pc-linux-gnu-gcc -shared -o ../../.ext/i686-linux/tcltklib.so tcltklib.o stubs.o -L. -L../.. -L. -Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -rdynamic -Wl,-export-dynamic -Wl,--no-undefined -Wl,-R -Wl,/usr/lib -L/usr/lib -lruby18 -ltk -ltcl -lX11 -ldl -lrt -ldl -lcrypt -lm -lc
tcltklib.o: In function ip_make_menu_embeddable': /var/tmp/portage/dev-lang/ruby-1.8.6_p388-r1/work/ruby-1.8.6-p388/ext/tk/tcltklib.c:7849: undefined reference to
TkFindMenuReferences'
/var/tmp/portage/dev-lang/ruby-1.8.6_p388-r1/work/ruby-1.8.6-p388/ext/tk/tcltklib.c:7876: undefined reference to TkEventuallyRecomputeMenu' /var/tmp/portage/dev-lang/ruby-1.8.6_p388-r1/work/ruby-1.8.6-p388/ext/tk/tcltklib.c:7877: undefined reference to
TkEventuallyRedrawMenu'
A comment in our Bugzilla ([0]) suggests that these are internal symbols no longer exported by Tcl 8.5 and later. Ruby 1.8.7 works fine, so I guess there is something to backport to 1.8.6, I just have no idea what.
Files
Updated by shyouhei (Shyouhei Urabe) over 14 years ago
- Status changed from Open to Assigned
- Assignee set to wyhaines (Kirk Haines)
=begin
=end
Updated by nagai (Hidetoshi Nagai) over 14 years ago
- File tcltklib.c.diff tcltklib.c.diff added
=begin
backport patch
=end
Updated by nagai (Hidetoshi Nagai) over 14 years ago
- File tcltklib.c.diff2 tcltklib.c.diff2 added
=begin
I'm very sorry. The previous patch is wrong.
Probably, this patch is right.
=end
Updated by jeremyevans0 (Jeremy Evans) over 5 years ago
- Tracker changed from Backport to Bug
- Project changed from Backport186 to Ruby master
- Description updated (diff)
- Status changed from Assigned to Closed
- Backport set to 2.5: UNKNOWN, 2.6: UNKNOWN