(Fwd) Re: NCSA Mosaic 2.4 and Solaris x86

"Tim Evans" <tkevans@eplrx7.es.duPont.com>
Errors-To: listmaster@www0.cern.ch
Date: Thu, 14 Apr 1994 20:02:09 --100
Message-id: <9404141347.ZM15017@barkeep>
Errors-To: listmaster@www0.cern.ch
Reply-To: tkevans@eplrx7.es.duPont.com
Originator: www-talk@info.cern.ch
Sender: www-talk@www0.cern.ch
Precedence: bulk
From: "Tim Evans" <tkevans@eplrx7.es.duPont.com>
To: Multiple recipients of list <www-talk@www0.cern.ch>
Subject: (Fwd) Re: NCSA Mosaic 2.4 and Solaris x86
X-Listprocessor-Version: 6.0c -- ListProcessor by Anastasios Kotsikonas
Content-Length: 2954
Content-Length: 2954
Mime-Version: 1.0
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Type: text/plain; charset=us-ascii
X-Mailer: Z-Mail (3.0.1 23feb94)
X-Mailer: Z-Mail (3.0.1 23feb94)
Yesterday, I posted to these e-mail addresses a question about NCSA Mosaic 2.4
and x86 Solaris 2.1 related to an undefined symbol at final link time.  The
message below from Guy Harris (thanks, again, Guy) explains the situation in
very clear terms, so rather than trying to paraphrase and summarize, I'm just
forwarding it.  I was able to successfully build version 2.4 by explicitly
linking to the X11R5 libXmu rather than to the OpenWindows libXmu.
================
--- Forwarded mail from guy@netapp.com (Guy Harris)

To: tkevans@eplrx7.es.duPont.com

>Undefined                       first referenced
> symbol                             in file
> _XEditResCheckMessages              gui.o

The "editres" stuff was added in X11R5.

The X11R4 "-lXmu" doesn't have "_XEditResCheckMessages"; it first showed
up in X11R5.

Now, the way "gui.c" figures out whether to use the "editres" stuff is
that it looks at "XtSpecificationRelease" and, if it's greater than 4,
it uses it.

I'd *expect* that to cause it *not* to try to use the "editres" stuff
in an X11R4-based system, so either:

	1) the OpenWindows component of the Solaris 2.x system in
	   question is X11R4 based, you've dropped X11R5 onto your
	   Solaris 2.x system, but you are, when building Mosaic, a
	   mixed bag of Openwindows 3.x and X11R5 stuff (e.g., you're
	   using header files from X11R5, so that "gui.c" is built with
	   "editres" support, but are using libraries from OpenWindows,
	   so that "-lXmu" doesn't have "_XEditResCheckMessages()");

	2) you're building entirely with the OpenWindows X11 stuff, but
	   the OpenWindows component of the Solaris 2.x system in
	   question is botched, so that its header file says it's X11R5,
	   and "gui.c" thus uses the "editres" stuff, but its "-lXmu"
	   lacks the "editres" stuff;

	3) something else.

If the answer is 1), try building *entirely* with the X11R5 stuff; that
means you need to make sure it's linking with the X11R5 "-lXmu", not
with the OpenWindows one.

If the answer is 2), then:

	1) complain to Sun;

	2) let the NCSA people supporting Mosaic know about this
	   problem;

	3) try tweaking "src/gui.c" so that, at least under the version
	   of Solaris 2.x you're using, it doesn't define
	   EDITRES_SUPPORT (dunno how to identify that version; the
	   broadbrush technique they used to work around a similar bug
	   with HP-UX probably isn't appropriate, as other Solaris 2.x
	   versions may not have that problem, and even versions that do
	   may not have it if you use the MIT X11R5 libraries - the
	   broadbrush technique isn't even appropriate for HP-UX, for
	   that reason...).

If the answer is 3), you're on your own.

(The reason this worked with older Mosaics is that they had a bug wherein
they were checking "XtSpecificationRlease" or some misspelled variable
name such as that, and thus never tried using the "editres" stuff.)



--- End of forwarded mail from guy@netapp.com (Guy Harris)