[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-devel
Subject:    Partial success compiling on HPUX
From:       Ravikiran Rajagopal <ravi () ee ! eng ! ohio-state ! edu>
Date:       2002-05-23 0:52:55
[Download RAW message or body]

Hello,
  With gcc-3.1, and a threaded Qt snapshot from May 10, I managed to compile 
arts-1.0.0. However, arts always segfaults on startup. I am appending a list 
of hacks necessary to get things compiled.
  A more serious problem occurs with kdelibs-3.0. I added a few missing 
includes, and I got upto this point, where I am stuck now:
------------------------------------------------------------------------------
g++ -DHAVE_CONFIG_H -I. -I../../../../src/kdelibs-3.0/kio/kio -I../.. 
-I../../../../src/kdelibs-3.0 -I../../../../src/kdelibs-3.0/kio/kio/.. 
-I../../../../src/kdelibs-3.0/kio/kio/../kssl 
-I../../../../src/kdelibs-3.0/dcop -I../../../../src/kdelibs-3.0/libltdl 
-I../../../../src/kdelibs-3.0/kdecore -I../../../../src/kdelibs-3.0/kdeui 
-I../../../../src/kdelibs-3.0/kio -I../../../../src/kdelibs-3.0/kio/kio 
-I../../../../src/kdelibs-3.0/kio/kfile 
-I/apps/packages/qt/threaded/vsnap/include -I. 
-I/apps/packages/kde/v3/include -I/apps/packages/include 
-D_LARGEFILE64_SOURCE -DQT_THREAD_SUPPORT -I/apps/packages/pcre/v3.9/include 
-O2 -D_POSIX_C_SOURCE=199506L -D_HPUX_SOURCE -D_XOPEN_SOURCE_EXTENDED 
-fno-exceptions -fno-check-new -DQT_NO_TRANSLATION -DQT_CLEAN_NAMESPACE 
-DQT_NO_ASCII_CAST -DQT_NO_COMPAT -c 
../../../../src/kdelibs-3.0/kio/kio/kfileitem.cpp -MT kfileitem.lo -MF 
.deps/kfileitem.TPlo -MD -MP  -fPIC -DPIC -o .libs/kfileitem.o
In file included from ../../../../src/kdelibs-3.0/kio/kio/kfileitem.h:32,
                 from ../../../../src/kdelibs-3.0/kio/kio/kfileitem.cpp:30:
../../../../src/kdelibs-3.0/kio/kio/kfilemetainfo.h: In constructor
   `KFileMimeTypeInfo::ItemInfo::ItemInfo(const QString&, const QString&,
   QVariant::Type)':
../../../../src/kdelibs-3.0/kio/kio/kfilemetainfo.h:270: parse error before 
`;'
   token
gmake[3]: *** [kfileitem.lo] Error 1
gmake[3]: Leaving directory `/tmp/ravi/build/kdelibs/kio/kio'
----------------------------------------------------------------------------
I looked inside kfilemetainfo.h and I could not find anything wrong at line 
270; I assume conversions from enums to uints is automatic. Perhaps we need a 
cast in the specification of NoHint?
  Pre-empting a couple of "why gcc3?" kind of questions: HPUX aCC is screwed 
up beyond repair (see my earlier posts in April). gcc 2.9x does not work 
reliably (too many conflicts) with HPUX 11. gcc 3.0.x cannot seem to compile 
designer (goes into an infinite loop). gcc 3.1 is the first compiler I have 
been able to compile anything decent.

Any help greatly appreciated,
Ravi

The following hacks were necessary:
0. Compile with D_HPUX_SOURCE D_XOPEN_SOURCE_EXTENDED as compile flags. Do NOT 
compile Qt with OpenGL support. As preliminaries, I compiled libaudiofile, 
pcre, etc. When compiling Qt, hack the qmake.conf file in mkspecs/hpux-g++ to 
add in thread support.

1. Patch configure to look at the right definition for pthread_create:
--- configure   2002-05-22 18:39:45.000000000 -0400
+++ configure   2002-05-22 18:41:50.000000000 -0400
@@ -19931,11 +19931,12 @@
 #endif
 /* We use char because int might match the return type of a gcc2
    builtin and then its argument prototype would still apply.  */
-char pthread_create ();
+/* char pthread_create (); */
+#include <pthread.h>
 int
 main ()
 {
-pthread_create ();
+pthread_create (0,0,0,0);
   ;
   return 0;
 }

2. Patch config.h:
--- config.h        2002-05-22 18:59:21.000000000 -0400
+++ config.h    2002-05-22 18:59:54.000000000 -0400
@@ -708,7 +708,7 @@
  * On HP-UX, the declaration of vsnprintf() is needed every time !
  */

-#if !defined(HAVE_VSNPRINTF) || defined(hpux)
+#if !defined(HAVE_VSNPRINTF)
 #if __STDC__
 #include <stdarg.h>
 #include <stdlib.h>

3. Add to tcpconnection.cc
#include <arpa/inet.h>

4. Repeat steps 1&2 for kdelibs.

5. Repeat step 3 for kdecore/kextsocket.cpp.

6. In kdecore/netsupp, enclose the include for netdb.h in extern "C" {} ans 
comment out the HPUX specific declaration of h_errno.

 
>> Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic