Subject: pkg/30871: can not 'package require Tk' in tclsh
To: None <pkg-manager@netbsd.org, gnats-admin@netbsd.org,>
From: None <mspitzer@gmail.com>
List: pkgsrc-bugs
Date: 07/29/2005 22:16:00
>Number:         30871
>Category:       pkg
>Synopsis:       can not 'package require Tk' in tclsh
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jul 29 22:16:00 +0000 2005
>Originator:     Marc Spitzer
>Release:        2.0.1
>Organization:
>Environment:
System: NetBSD nyclogger.proxicom.com 2.0.1 NetBSD 2.0.1 (GENERIC) #1: Mon Jan 24 12:05:44 EST 200
5 root@nyclogger.proxicom.com:/usr/obj/sys/arch/i386/compile/GENERIC i386

>Description:
In version 8.4 tk was made into a package that could be dynamicly loaded, you should not 
need a seperate wish binary to use tk, all you are suposed to do is "package require Tk"
and you get a gui.  This does not work in the netbsd pkg.   The problem is that libX11.so 
is not loaded by tclsh, it is by wish:

% package require Tk
couldn't load file "/usr/pkg/lib/tk8.4/../libtk84.so": /usr/pkg/lib/tk8.4/../libtk84.so: Undefined
 PLT symbol "XFreePixmap" (symnum = 23)
nyclogger$ ldd /usr/pkg/bin/tclsh
/usr/pkg/bin/tclsh:
         -ltcl84.1 => /usr/pkg/lib/libtcl84.so.1
         -lpthread.0 => /usr/lib/libpthread.so.0
         -lm.0 => /usr/lib/libm387.so.0
         -lm.0 => /usr/lib/libm.so.0
         -lc.12 => /usr/lib/libc.so.12
nyclogger$ ldd /usr/pkg/bin/wish 
/usr/pkg/bin/wish:
         -ltk84.1 => /usr/pkg/lib/libtk84.so.1
         -ltcl84.1 => /usr/pkg/lib/libtcl84.so.1
         -lpthread.0 => /usr/lib/libpthread.so.0
         -lX11.6 => /usr/X11R6/lib/libX11.so.6
         -lm.0 => /usr/lib/libm387.so.0
         -lm.0 => /usr/lib/libm.so.0
         -lc.12 => /usr/lib/libc.so.12


>How-To-Repeat:

tclsh
package require Tk

>Fix:
add libX11 to the link list, not sure of all the implacations of this though.