[GRASS5] Re: [GRASSLIST:8421] Re: NVIZ broken after X.org install [solved]

Dylan Beaudette wrote:

> After a recent re-compile of GRASS6-CVS, I noticed that NVIZ fails to
> compile with the error:
>
> undefined reference to `XF86VidModeQueryVersion'
>
> Some googling suggests that this is an X.org related problem, as my X11
> header files and or libs are either in the way, or somehow confusing the
> NVIZ compilation.
>
> Has anyone dealt with this before?
>
> Thanks!

Well... Bad form replying to my own email, but it looks like I have uncovered
one way of fixing this problem:

add -lXxf86vm to the /nviz/src/Makefile

Perhaps we can put some kind of autodetection into the configure script? I
noticed that this does not happen with Kubuntu, but with Debian Sarge

NVIZ certainly shouldn't be using XF86VidModeQueryVersion() or
libXxf86vm unconditionally (I don't know if this is the case; I've
just switched ISPs and I need my CVS access updated). That function is
specific to XFree86/X.org versions, and won't exist in other X11
implementations (e.g. those shipped with commercial Unices).

The configure script should be checking for the header
(X11/extensions/xf86vmode.h) and library, and NVIZ shouldn't only use
the function if those checks succeed. Also, it needs to allow for the
possibility of the function failing at run-time (if the X server
in use doesn't have the XFree86-VidModeExtension extension).

--
Glynn Clements <glynn@gclements.plus.com>