[comp.windows.x] HPwidgets and Xt

jstravis@athena.mit.edu (John S. Travis) (10/13/89)

ok, i know i've seen this a while a go, but i forgot the answer.
i have ftp the HPwidgets from expo. They have a README.RS which says
	These are the Hewlett-Packard widgets for the X Toolkit, fixed to work
	underR3 by Martin Friedmann <martin@citi.umich.edu> and John Carlson

Now, i have build the set and everything seems ok. I compile D. Young
oneline textwidget and get an a.out(same code that works on the other
machines i'm working on VAX3100-athena)
I try to run and:

	X Toolkit Warning: Widget class TextEdit version mismatch:
	    Widget 7001 vs Intrinsic 11003
	 X Toolkit Warning: Widget class Primitive version mismatch:
            Widget 7001 vs Intrinsic 11003

Is this b/c HPwidgets  are weird and use XtR2(bug-fixed), but then
what does that README mean. How do i get around this? Build an XtR2?!!
Any help would be thanked profusely.

john travis
jstravis@athena.mit.edu

swick@ATHENA.MIT.EDU (Ralph R. Swick) (10/14/89)

>	X Toolkit Warning: Widget class TextEdit version mismatch:

This means the widget was compiled with a different set of
Xt header files than the libXt.a you linked with.

martin@dip.eecs.umich.edu (Martin R. Friedmann) (10/22/89)

In article <15089@bloom-beacon.MIT.EDU> jstravis@athena.mit.edu (John S. Travis) writes:

   ok, i know i've seen this a while a go, but i forgot the answer.
   i have ftp the HPwidgets from expo. They have a README.RS which says
	   These are the Hewlett-Packard widgets for the X Toolkit, fixed to work
	   underR3 by Martin Friedmann <martin@citi.umich.edu> and John Carlson

   Now, i have build the set and everything seems ok. I compile D. Young
   oneline textwidget and get an a.out(same code that works on the other
   machines i'm working on VAX3100-athena)
   I try to run and:

	   X Toolkit Warning: Widget class TextEdit version mismatch:
	       Widget 7001 vs Intrinsic 11003
	    X Toolkit Warning: Widget class Primitive version mismatch:
	       Widget 7001 vs Intrinsic 11003

   Is this b/c HPwidgets  are weird and use XtR2(bug-fixed), but then
   what does that README mean. How do i get around this? Build an XtR2?!!
   Any help would be thanked profusely.

   john travis
   jstravis@athena.mit.edu

Ok.  This is going to be a bit complicated...  The main problem is that you
are using release "quality" software from DEC.  They botched the release of
X11 for the whole worlt in ultrix 3.0.  First, the intrinsics were rightly
compiled with XtVersion = 11003.   /usr/include/X11/InstrinicP.h has
XtVersion defined as follows

#define XT_VERSION 7
#define XT_REVISION 1
#define XtVersion (XT_VERSION * 1000 + XT_REVISION)
#define XtVersionDontCheck 0

Now, a widget compiled with /usr/include/X11/InstrinicP.h will have version
number 7001, the intrinsics (/usr/lib/libXt.a) has version number 11003.

So you patch /usr/include/X11/IntrinsicP.h as follows

#define XT_VERSION 11
#define XT_REVISION 3
#define XtVersion (XT_VERSION * 1000 + XT_REVISION)
#define XtVersionDontCheck 0


That's it.    Also..   I want you to beware that the pathname to /usr/lib/X11
in the libXt.a installed on these machines contains a path so someones build
tree at DECWRL or something..   Look.

% strings /usr/lib/libXt.a | grep hoffman
/usr/uws2.0/hoffman/kit/usr/lib/X11/XtErrorDB
/usr/uws2.0/hoffman/kit/usr/lib/X11/app-defaults/
%


This means that your programs will not be able to find their default files,
or ErrorDB's unless you hack a link up through the file system 
/usr/uws2.0/hoffman/kit -> /
Or you patch the library with adb (not in Ultrix!#%@!) or a string patching
tool...   I bet emacs would work, but I'm not sure.

Patching the library would be my favorite choice.


Does "hoffman" care to show his face here on xpert for public floggings?

Marty.
--

Marty.