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]>