My system (Solaris 2.8) has Motif installed in /usr/include/Xm/ and
/usr/lib/, and Lesstif installed in /usr/local/X11R6/include/ and
/usr/local/X11R6/include/lib/. I don't really mind which of the two
the configure script chooses, but at the moment it seems to pick the
Motif headers but try to link with the Lesstif library. This shows up
as link failures:
../lwlib/liblw.a(lwlib-Xm.o): In function `xm_update_one_widget':
/u/avised/inst/xemacs-21.5.14/lwlib/lwlib-Xm.c:889: undefined reference to
`xmComboBoxWidgetClass'
/u/avised/inst/xemacs-21.5.14/lwlib/lwlib-Xm.c:894: undefined reference to
`xmComboBoxWidgetClass'
/u/avised/inst/xemacs-21.5.14/lwlib/lwlib-Xm.c:475: undefined reference to
`_XmStrings21'
/u/avised/inst/xemacs-21.5.14/lwlib/lwlib-Xm.c:475: undefined reference to
`_XmStrings21'
/u/avised/inst/xemacs-21.5.14/lwlib/lwlib-Xm.c:476: undefined reference to
`_XmStrings21'
../lwlib/liblw.a(lwlib-Xm.o): In function `xm_update_one_value':
/u/avised/inst/xemacs-21.5.14/lwlib/lwlib-Xm.c:984: undefined reference to
`xmComboBoxWidgetClass'
/u/avised/inst/xemacs-21.5.14/lwlib/lwlib-Xm.c:984: undefined reference to
`xmComboBoxWidgetClass'
/u/avised/inst/xemacs-21.5.14/lwlib/lwlib-Xm.c:994: undefined reference to
`xmComboBoxWidgetClass'
../lwlib/liblw.a(lwlib-Xm.o): In function `xm_create_combo_box':
/u/avised/inst/xemacs-21.5.14/lwlib/lwlib-Xm.c:1836: undefined reference to
`XmCreateDropDownComboBox'
/u/avised/inst/xemacs-21.5.14/lwlib/lwlib-Xm.c:1837: undefined reference to
`_XmStrings21'
/u/avised/inst/xemacs-21.5.14/lwlib/lwlib-Xm.c:1837: undefined reference to
`_XmStrings21'
I will try to tell configure explicitly where to find headers and
libraries for Xm. But it would probably be a good idea for configure
to compile a small test program, something like
#include <Xm.h>
int main(void)
{
WidgetClass c;
#if XmVERSION > 1
c = xmComboBoxWidgetClass;
#endif
return 0;
}
I am no Motif programmer, so this is just a rough and untested
example. If the program compiles and links then the headers and
.so file are in sync; if not, configure could give an error message
or perhaps try harder to find the right headers and library.
I notice that configure.in already has some checking for Motif version
mismatch on OSF/1 - perhaps this could be generalized?
--
Ed Avis <ed.avis(a)kbcfp.com>