|Re: more iMac rambling, this time a little more OT|
Message #32 Posted by Thomas Okken on 15 Aug 2007, 7:16 a.m.,
in response to message #19 by Les Wright
Thomas, I am suspecting that the compiler is not finding the desired X11 headers where it wants them. My Ubuntu Linux is missing some key ingredient here?
Yes, that's what it looks like. The warning about XK_MISCELLANY being redefined is interesting but probably harmless; what's also noteworthy is that it indicates that at least *some* of the headers *are* found, but in a different location than specified by the -I directive; in the Makefile, CXXFLAGS has -I/usr/X11R6/include, but the compiler indicates that it has found X11/Xutil.h, X11/Intrinsic.h, Xm/Xm.h, and X11/keysym.h under /usr/include.
It looks like, the X headers no longer live under /usr/X11R6/include, and that some of them have been moved to /usr/include (which is automatically searched by the compiler and does not need to be explicitly specified using a -I option)... But not everything was moved there; the compiler is issuing a warning that it can't find X11/Xmu/Editres.h, which causes the error message about _XEditResCheckMessages later on; also, it is issuing a warning that it can't find X11/xpm.h, which causes the error message about XpmCreatePixmapFromData.
You could try searching for Editres.h and xpm.h:
find / -name Editres.h -o -name xpm.h -print 2> /dev/null
...it will take a while, but if they exist, this will find them. The 2> /dev/null bit suppresses the zillions of error messages that find will print whenever it tries to recurse into directories for which you do not have read permissions.
If Editres.h and xpm.h are found, you should change the -I option in the makefile to point to the directory they're in, or, to be precise, to the directory that contains X11/Xmu/Editres.h and X11/xpm.h. Note that you can use multiple -I options, if necessary.
If Editres.h and/or xpm.h are not found, you're missing some X11 development packages; I don't know how Ubuntu's X11 packages are structured, but you're probably looking for something called "Miscellaneous Utilities" (containing Editres.h and the libXmu library) and "XPM" (containing xpm.h and the libXpm library). If in doubt, just install everything with X11 or XFree86 or Xorg in its name, and if that still doesn't work, Kelly or some Ubuntu expert should be able to answer these questions easily (Usenet Is Your Friend). :-)
UPDATE: Looks like the packages you need are libxmu-dev and libxpm-dev -- Google "Ubuntu libXmu" and "Ubuntu libXpm" and the first hit in each case is the relevant page at packages.ubuntu.com.
Hope this helps!
Edited: 15 Aug 2007, 7:48 a.m.