Subject: misc/4735: sun3: 1.3_BETA X11 broken
To: None <gnats-bugs@gnats.netbsd.org>
From: None <nathanw@mit.edu>
List: netbsd-bugs
Date: 12/21/1997 02:18:04
>Number:         4735
>Category:       misc
>Synopsis:       sun3: 1.3_BETA X11 broken
>Confidential:   yes
>Severity:       serious
>Priority:       medium
>Responsible:    misc-bug-people (Misc Bug People)
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Dec 20 23:20:02 1997
>Last-Modified:
>Originator:     Nathan J Williams
>Organization:
	Massachvsetts Institvte of Technology
>Release:        1.3_BETA snapshot, 12-20-97
>Environment:
	
System: NetBSD wile-e-coyote 1.3_ALPHA NetBSD 1.3_ALPHA (WILE-E-COYOTE) #7: Fri Nov 28 19:27:27 EST 1997 nathanw@wile-e-coyote:/u1/var/src/sys/arch/sun3/compile/WILE-E-COYOTE sun3


>Description:
	A number of programs in /usr/X11R6/bin do not work. Upon
running, they complain:
/usr/libexec/ld.so: Undefined symbol "_SmcSaveYourselfDone" in
xwd:/usr/X11/lib/libXt.so.6.0

	This indicates (roughly) that they were built against -lXt, but 
not -lSM (or -lICE, which they'll need later). ldd helps confirm this theory:

wile-e-coyote# ldd ./xwd
./xwd:
        -lXmu.6 => /usr/X11/lib/libXmu.so.6.0 (0x20a0000)
        -lXt.6 => /usr/X11/lib/libXt.so.6.0 (0x20c0000)
        -lX11.6 => /usr/X11/lib/libX11.so.6.1 (0x2100000)
        -lXext.6 => /usr/X11/lib/libXext.so.6.3 (0x21a0000)
        -lgnumalloc.0 => /usr/lib/libgnumalloc.so.0.0 (0x21c0000)
        -lc.12 => /usr/lib/libc.so.12.20 (0x21e0000)

	The real problem seems to be that some functions in libXt depend
on functions in libSM or libICE, and our linker doesn't detect that, so
programs which are built with "-lXt" instead of "-lXt -lSM -lICE"
compile, but do not run. 
	
>How-To-Repeat:
	Fire up the 12/20 snapshot and try running a program linked
against Xt which uses SM facilites, such as:

x11perf
xauth
xhost
xieperf
xinit
xkill
xlsatoms
xlsclients
xprop
xrdb
xset
xsetroot
xstdcmap
xwd
xwininfo

Watch the error from ld.so appear; dig around in /usr/X11/lib tracking
down where the function lives. 

bmtoa: _XShapeCombindMask from Xmu
>Fix:

	"Make these programs link against libSM and libICE as well." I'm 
not fluent enough in Imake to give a proper fix to this problem in our X
tree.
	This problem may be more cross-platform, but I haven't looked at
all into how X is being built for the release. 

	Additionally, programs which link against libXmu (such as bmtoa)
seem to need libXext as well.

	Oh yeah, and we should have shared libraries know about their
dependancies, too.

>Audit-Trail:
>Unformatted:
no
Many X11 programs don't work, due to shared library brokenness.