Print

Print


On Mon, 21 Aug 2006, Brad Cavanagh wrote:

> Our Solaris system here doesn't have Xaw3d installed, and it looks like a real
> pain to get it installed, so I was wondering if it's okay to skip the build of
> the xathena directory in thirdparty/caltech/pgplot by commenting it out from
> the configure.ac. Would doing so have any repercussions down the line, like
> not being able to plot anything?

Hi Brad,

not worrying about the state of all that configure options stuff, here are 
some (hopefully useful) comments about all this.

Not building this particular driver is OK, in fact you have to go to some 
lengths to compile it in (which we don't).

Anyway, looking at my Solaris build, and the nightly one, I see we don't 
have Xaw3d either, but the build succeeds. The configure script says:

  checking X11/Xaw3d/Simple.h usability... no
  checking X11/Xaw3d/Simple.h presence... no
  checking for X11/Xaw3d/Simple.h... no 
  checking X11/Xaw/Simple.h usability... no
  checking X11/Xaw/Simple.h presence... yes
  configure: WARNING: X11/Xaw/Simple.h: present but cannot be compiled
  configure: WARNING: X11/Xaw/Simple.h:     check for missing prerequisite headers?
  configure: WARNING: X11/Xaw/Simple.h: see the Autoconf documentation
  configure: WARNING: X11/Xaw/Simple.h:     section "Present But Cannot Be Compiled"
  configure: WARNING: X11/Xaw/Simple.h: proceeding with the preprocessor's result
  configure: WARNING: X11/Xaw/Simple.h: in the future, the compiler will take precedence
  configure: WARNING:     ## --------------------------------- ##
  configure: WARNING:     ## Report this to [log in to unmask] ##
  configure: WARNING:     ## --------------------------------- ##
  checking for X11/Xaw/Simple.h... yes
  checking for XawInitializeWidgetSet in -lXaw3d... no
  checking for XawInitializeWidgetSet in -lXaw... yes

so indeed no Xaw3d, but we do have Xaw (which is part of the standard 
static library package, SUNWxwslb). Now the related conditional 
(configure.ac) says:

  AM_CONDITIONAL( HAVE_XATHENA, \
    [(test "$have_xa3dheader" = "yes" || test "$have_xaheader" = "yes") && \
     (test "$have_xa3dlib" = "yes" || test "$have_xadlib" = "yes")])

Which implies that having either Xaw or Xaw3d should work, but when I look 
in my drivers/xathena nothing is built.

Pushing on, as not being built at all is odd, I can see that the 
conditional line has a bug, the

     (test "$have_xa3dlib" = "yes" || test "$have_xadlib" = "yes")])

should be:

     (test "$have_xa3dlib" = "yes" || test "$have_xalib" = "yes")])

So currently you are unintentionally required to have Xaw3d. Applying this 
fix doesn't work as it seems that Xaw3d is required after all:

  "XaPgplot.c", line 11: cannot find include file: <X11/Xaw3d/SimpleP.h>

Al added that line for some reason (mists of time no doubt). So since 
Xaw3d turns out to be a requirement, not an option, I've changed the 
conditional to require both libraries (maybe that should only be Xaw3d). 
So you should have your hack, but for a valid reason (assuming the lack of 
Xaw3d is the reason this is all failing, that's not obvious from this 
analysis).

Cheers,

Peter.