Bug 72057

Summary: On Solaris 8 checking for XKBlib.h require including Xlib.h
Product: [Developer tools] configure Reporter: David Rutitsky <drutitsky>
Component: generalAssignee: Stephan Kulow <coolo>
Status: RESOLVED FIXED    
Severity: normal    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: unspecified   
OS: Solaris   
Latest Commit: Version Fixed In:
Attachments: Attempt at fixing the problem

Description David Rutitsky 2004-01-07 14:57:29 UTC
Version:            (using KDE KDE 3.1.94)
Compiler:          gcc 3.2 
OS:          Solaris

running configure for kdebase-3.1.94 got following error.

configure:36563: checking X11/XKBlib.h usability
configure:36576: g++ -c -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall -W -Wpointer-arith -Wwrite-strings -fno-builtin -g3 -fno-inline -fno-exceptions -fno-check-new -fno-common  -DQT_THREAD_SUPPORT -I/usr/local/include -I/usr/local/kde-support-gcc/include -I/usr/local/binut/include -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS -DUSE_SOLARIS -DSVR4 -I/usr/local/kde3/include -I/usr/local/qt/include   -I/usr/local/kde-support-gcc/include conftest.cc >&5
cc1plus: warning: changing search order for system directory "/usr/local/include"
cc1plus: warning:   as it has already been specified as a non-system directory
In file included from /usr/include/X11/XKBlib.h:31,
                 from conftest.cc:153:
/usr/include/X11/extensions/XKBstr.h:77: 'Bool' is used as a type, but is not
   defined as a type.
/usr/include/X11/extensions/XKBstr.h:88: 'Atom' is used as a type, but is not
   defined as a type.
/usr/include/X11/extensions/XKBstr.h:89: syntax error before `*' token

Apparently XKBstr.h on Solaris 8 does not include Xlib.h. I am not familiar with autoconf inough so I patched configure itself:
*** configure~  Wed Jan  7 15:54:35 2004
--- configure   Wed Jan  7 15:54:29 2004
***************
*** 36576,36581 ****
--- 36576,36582 ----
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
  $ac_includes_default
+ #include <X11/Xlib.h>
  #include <X11/XKBlib.h>
  _ACEOF
  rm -f conftest.$ac_objext
Comment 1 Thiago Macieira 2004-01-07 16:32:18 UTC
Created attachment 4026 [details]
Attempt at fixing the problem

Thanks for the information, but modifying the configure script is a no-no :-)

Here's the more correct attempt at fixing. Note that this requires the running
of a CVS-only script that you may not have present in your tarball (namely,
"make -f Makefile.cvs").
Comment 2 Stephan Kulow 2004-01-09 10:52:01 UTC
Subject: kdebase

CVS commit by coolo: 

fixing check for Solaris
CCMAIL: 72057-done@bugs.kde.org


  M +1 -1      configure.in.in   1.58


--- kdebase/configure.in.in  #1.57:1.58
@@ -160,5 +160,5 @@
         [AC_DEFINE(HAVE_XKBSETPERCLIENTCONTROLS, 1, [Define if you have XkbSetPerClientControls])],
         , [ $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS ])
-    ])
+    ], [], [#include <X11/Xlib.h>])
 
 dnl --- Xcursor check (not technically an extension)