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




Reply via email to