Dan posted to p5p, which I noticed just after I sent this... whoops. :-)
- D
<[EMAIL PROTECTED]>
---------- Forwarded message ----------
Date: Mon, 31 Dec 2001 16:41:43 -0600 (CST)
From: David M. Lloyd <[EMAIL PROTECTED]>
To: Dan Sugalski <[EMAIL PROTECTED]>
Cc: [EMAIL PROTECTED]
Subject: SunWorkshop (Solaris) build trouble (Was: Re: Call for parrot
tinderbox clients)
On Mon, 31 Dec 2001, Dan Sugalski wrote:
> Hey, folks,
>
> Parrot's in a state to be built with some regularity, and we could
> really use some more machines building into tinderbox. (Especially
> non-Linux Unices, and non-Unix systems in general) There's not really
> much work--install the tinderbox client, couple of config tweaks, then
> fire it off and let it run.
I decided to contribute my Sun Ultra 5 running Solaris 8, which I have
never tried to compile Parrot on before.
I ran into trouble here:
Determining C data type sizes by compiling and running a small C program
(this could take a while):
Building ./test.c from test_c.in...
Figuring out the formats to pass to pack() for the various Parrot
internal types...
Configure.pl: Unable to find a suitable packtype for intvalsize.
It turns out that it can't handle "long long" for an integer type because
the output for test.c looks like this:
( intvalsize => 8,
numvalsize => 8,
opcode_t_size => 8,
shortsize => 2,
intsize => 4,
longsize => 4,
ptrsize => 4,
floatsize => 4,
doublesize => 8,
);
and it doesn't seem to probe for long long.
I applied this patch:
Index: Configure.pl
===================================================================
RCS file: /home/perlcvs/parrot/Configure.pl,v
retrieving revision 1.58
diff -u -r1.58 Configure.pl
--- Configure.pl 31 Dec 2001 21:58:15 -0000 1.58
+++ Configure.pl 31 Dec 2001 22:19:03 -0000
@@ -401,6 +401,9 @@
elsif ($c{$_} == 4) {
$c{$which} = 'l';
}
+ elsif (($] >= 5.006) && ($c{$_} == 8)) {
+ $c{$which} = 'q';
+ }
else {
die "Configure.pl: Unable to find a suitable packtype for $_.\n";
}
----
I hope this is the right idea...
FYI, using Sun Workshop 6 generates about 100,000 warnings, here's a brief
summary:
cc -DDEBUGGING -I/usr/local/include -I/opt/gnu/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I./include -o core_ops.o -c core_ops.c
"core_ops.c", line 3212: warning: initialization type mismatch
"core_ops.c", line 3213: warning: initialization type mismatch
"core_ops.c", line 3214: warning: initialization type mismatch
"core_ops.c", line 3215: warning: initialization type mismatch
.....and on and on...
cc -DDEBUGGING -I/usr/local/include -I/opt/gnu/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I./include -o core_ops_prederef.o -c core_ops_prederef.c
"core_ops_prederef.c", line 26: warning: parameter has incomplete type: cur_opcode
"core_ops_prederef.c", line 31: warning: parameter has incomplete type: cur_opcode
"core_ops_prederef.c", line 36: warning: parameter has incomplete type: cur_opcode
"core_ops_prederef.c", line 42: warning: parameter has incomplete type: cur_opcode
.....and on and on...
"core_ops_prederef.c", line 3213: warning: initialization type mismatch
"core_ops_prederef.c", line 3214: warning: initialization type mismatch
"core_ops_prederef.c", line 3215: warning: initialization type mismatch
"core_ops_prederef.c", line 3216: warning: initialization type mismatch
.....and on and on...
There's several prototype mismatches as well. I'll dig in and see if I
can clean it up at all.
- D
<[EMAIL PROTECTED]>