[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Build problems on Solaris 8
From: |
J.H.M. Dassen (Ray) |
Subject: |
Re: Build problems on Solaris 8 |
Date: |
Fri, 16 Nov 2001 09:33:00 +0100 |
User-agent: |
Mutt/1.3.23i |
On Tue, Nov 13, 2001 at 06:38:32 -0500, Dooferlad wrote:
> I am having build problems on Solaris 8 / Sparc. I am using gcc 3.0.2,
> all went well up to:
>
> c++ -DHAVE_CONFIG_H -I. -I. -I. -I./.. -isystem /usr/openwin/include
> -DNDEBUG -O2 -g -W -Wall -trigraphs -c PannedGE.C
> PannedGE.C:145: cannot convert `void (*)(...)' to `void (*)()' in
> initialization
> *** Error code 1
Hmm... this doesn't sound very familiar to me, but it just might be related
to other problems when building with gcc newer than 2.95.
In the Debian GNU/Linux package of DDD, I needed to apply the following
changes in order to get DDD built on architectures that use gcc 3 as their
default gcc version:
* ddd/logplayer.C: include system header <fstream.h> before local
includes.
* ddd/rxscan.C: disabled declaration of isatty that's broken for g++ 3.0.
* ddd/strclass.C: fixed type of new_state from int to ios::iostate so it
works with g++ 3.0.
Can you try if applying the following patch makes a difference?
--- ddd-3.3.1.orig/ddd/logplayer.C
+++ ddd-3.3.1/ddd/logplayer.C
@@ -33,6 +33,8 @@
#pragma implementation
#endif
+#include <fstream.h>
+
#include "logplayer.h"
#include "assert.h"
@@ -43,7 +45,6 @@
#include "streampos.h"
#include <iostream.h>
-#include <fstream.h>
#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
--- ddd-3.3.1.orig/ddd/rxscan.C
+++ ddd-3.3.1/ddd/rxscan.C
@@ -9258,7 +9258,10 @@
#ifndef YY_ALWAYS_INTERACTIVE
#ifndef YY_NEVER_INTERACTIVE
+#if 0
+/* b0rked prototype */
extern int isatty YY_PROTO(( int ));
+#endif
#endif
#endif
--- ddd-3.3.1.orig/ddd/strclass.C
+++ ddd-3.3.1/ddd/strclass.C
@@ -1434,7 +1434,7 @@
#if HAVE_IOSTATE
ios::iostate new_state = s.rdstate();
#else
- int new_state = s.rdstate();
+ ios::iostate new_state = s.rdstate();
#endif
if (i == 0)
new_state |= ios::failbit;
> What do you need to know to take a reasonable guess at what is going
> wrong?
If the patch doesn't make a difference, your best bet is to do a binary
search for the offending line in the initialisation gcc complains about
using #if 0 ... #endif blocks and then report back to this list which line
is problematic.
HTH,
Ray
--
Linux is many, many years away from being an enterprise-ready operating
system that can compete with, and challenge, the Windows platform. There is
also no vision or driving force around it.
Doug Miller, Microsoft Windows Server Group, january 2001