[perl #55856] Eliminating (?) _handle_darwin_for_macports and _handle_darwin_for_fink

2008-06-17 Thread James Keenan via RT
On Mon Jun 16 07:34:45 2008, [EMAIL PROTECTED] wrote:

  Should be fixed with patch I committed in r28390.
  
 
 This patch isn't entirely satisfactory; I'm getting some uninitialized
 value warnings.   Nothing really harmful, but I'm working on a solution.
 


Am backing that patch out until after Tuesday release.  Done in r28441.

kid51


[perl #55910] [PATCH] bug #50056 - running Configure.pl on PPC OS X

2008-06-17 Thread via RT
# New Ticket Created by  Packy Anderson 
# Please include the string:  [perl #55910]
# in the subject line of all future correspondence about this issue. 
# URL: http://rt.perl.org/rt3/Ticket/Display.html?id=55910 


When I first downloaded the parrot code from svn yesterday, it failed  
perl Configure.pl with the error Compilation failed with 'cc'.   
Between poking around the mailing list archives and a script Will  
gave me I was able to get it working, but it occurred to me that the  
hints file really should do what's necessary to customize the  
configuration for OS X on PowerPC so future noobs like me don't run  
into this problem.

I've attached my patch to config/init/hints/darwin.pm; with this  
patch, I'm able to run perl Configure.pl with no special  
environment variables set and Configure.pl runs to completion.

-packy

Index: config/init/hints/darwin.pm
===
--- config/init/hints/darwin.pm (revision 28436)
+++ config/init/hints/darwin.pm (working copy)
@@ -21,6 +21,14 @@
 }
 }
 
+unless (exists $ENV{'MACOSX_DEPLOYMENT_TARGET'}) {
+   my $OSX_vers = `sw_vers -productVersion`;
+   chomp $OSX_vers;
+   # remove minor version
+   $OSX_vers =join '.', (split /[.]/, $OSX_vers)[0,1]; 
+   $ENV{'MACOSX_DEPLOYMENT_TARGET'} = $OSX_vers;
+}
+
 my $lib_dir = $conf-data-get('build_dir') . /blib/lib;
 $ldflags .=  -L$lib_dir;
 $ccflags .=  -pipe -fno-common -Wno-long-double ;


--
Packy Anderson   
[EMAIL PROTECTED]

They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety.   --Benjamin  
Franklin




[perl #44207] [RFC] remove pmc2c's --tree option?

2008-06-17 Thread James Keenan via RT
No complaints since June 7, so I'm resolving this ticket.

kid51


[perl #55566] [BUG] Configure.pl dies on gnu/hurd

2008-06-17 Thread James Keenan via RT
On Mon Jun 16 13:58:05 2008, coke wrote:
 On Mon, Jun 16, 2008 at 8:25 AM, Nathan Gray
 [EMAIL PROTECTED] wrote:
 
  perl Configure.pl --nomanicheck --verbose-step=init::hints
 
  ... and see if you get reasonable output.
 
  The patch applied cleanly, the normal Configure.pl worked, and the
 one
  with more debugging says:
 
  Loading platform and local hints files...
  [ No config/init/hints/gnu.pm found.  (no hints)
 ].done.
  Setting Configuration Data:
  (
 verbose = undef,
  );
 
 

Thanks, Nathan.  That's exactly the message we were hoping for.

The patch was applied to trunk in r28440.


 
 
 If we can get this applied before the release tomorrow, along with an
 update to PLATFORMS with your platform/test passing percentage, that'd
 be great!
 

Nathan, if you can do this today that would be great.  Otherwise, we'll
look forward to it at any point in the next month.

kid51



[svn:parrot-pdd] r28444 - trunk/docs/pdds/draft

2008-06-17 Thread smash
Author: smash
Date: Mon Jun 16 15:56:26 2008
New Revision: 28444

Modified:
   trunk/docs/pdds/draft/pdd19_pir.pod

Log:
[release]
 * make t/codingstd/pdd_format.t happy


Modified: trunk/docs/pdds/draft/pdd19_pir.pod
==
--- trunk/docs/pdds/draft/pdd19_pir.pod (original)
+++ trunk/docs/pdds/draft/pdd19_pir.pod Mon Jun 16 15:56:26 2008
@@ -5,6 +5,11 @@
 
 docs/pdds/pdd19_pir.pod - Parrot Intermediate Representation
 
+=head1 VERSION
+
+$Revision$
+
+
 =head1 ABSTRACT
 
 This document outlines the architecture and core syntax of the Parrot


[perl #49276] [TODO] Refactor tools/util/smokeserv-server.pl

2008-06-17 Thread Will Coleda via RT
On Wed Jan 16 03:41:56 2008, [EMAIL PROTECTED] wrote:
 While the fix to my particular problem is simple enough, it is apparent
 that there's enough bit rot in tools/util/smokeserv-server.pl that it
 needs a refactoring.  And since there are no unit/regression tests for
 this program, it's going to need a good phalanxing.
 
 Accordingly, I have created a 'smoke' branch in our repository as a
 location for doing this work.  And I will be changing the name of this
 ticket.
 
 The assistance of anyone who has experience placing CGI programs on
 servers would be helpful.  Among the things that we will probably need
 is a security audit of the program.
 
 Thank you very much.
 kid51

We should probably defer this until post-smolder; we may be able to just drop 
smoke at that 
point.

-- 
Will Coke Coleda


[perl #44027] [CAGE] In branch_branch, negative array indexes can happen

2008-06-17 Thread Will Coleda via RT
On Mon Jun 09 17:12:36 2008, [EMAIL PROTECTED] wrote:
 On Tue Jul 17 22:23:38 2007, petdance wrote:
  In function branch_branch, there's a line like this:
  
 ins-r[get_branch_regno(ins)] = next-r[0];
  
  That call to get_branch_regno() can return -1.  That would make a  
  negative array index, and stomp on who knows what.
  
 
 
 Grepping ./compilers/imcc/optimizer.c for get_branch_regno, I get:
 
 365:(reg = get_branch_regno(last)) = 0) {
 1082:if (get_branch_regno(ins) = 0) {
 1094:const int regno = get_branch_regno(ins);
 1251:reg_index = get_branch_regno(cond);
 1327:   get_branch_regno(cond) = 0) {
 
 ... which suggests that the code Andy was referencing no longer appears
 in this file.
 
 Are the issues raised in this thread still pertinent?
 
 Thank you very much.
 kid51
 

The code seems to check for a negative value and error now, so no, it doesn't 
seem to be an 
issue. I think this is the same issue that was picked up in RT#46227, we just 
didn't notice 
until now.

Resolving ticket.



-- 
Will Coke Coleda


Re: [perl #55910] - running Configure.pl on PPC OS X

2008-06-17 Thread Packy Anderson

On Jun 16, 2008, at 4:38 PM, Parrot via RT wrote:

When I first downloaded the parrot code from svn yesterday, it failed
perl Configure.pl with the error Compilation failed with 'cc'.
Between poking around the mailing list archives and a script Will
gave me I was able to get it working, but it occurred to me that the
hints file really should do what's necessary to customize the
configuration for OS X on PowerPC so future noobs like me don't run
into this problem.

I've attached my patch to config/init/hints/darwin.pm; with this
patch, I'm able to run perl Configure.pl with no special
environment variables set and Configure.pl runs to completion.


Ok, I've fixed the problem with my last submission: I've added a  
CONDITIONED_LINE to config/gen/makefiles/root.in so it's now  
exporting MACOSX_DEPLOYMENT_TARGET in the Makefile as well as in % 
ENV, so it's present when you run make, not just while you're doing  
the configuration.


Of course, I'm still doing perl Configure.pl --without-opengl, but  
I don't know if that's a problem with hints file or with the GLUT  
implementation...


-packy



Index: config/init/hints/darwin.pm
===
--- config/init/hints/darwin.pm (revision 28436)
+++ config/init/hints/darwin.pm (working copy)
@@ -21,12 +21,21 @@
 }
 }
 
+unless (exists $ENV{'MACOSX_DEPLOYMENT_TARGET'}) {
+my $OSX_vers = `sw_vers -productVersion`;
+chomp $OSX_vers;
+# remove minor version
+$OSX_vers =join '.', (split /[.]/, $OSX_vers)[0,1]; 
+$ENV{'MACOSX_DEPLOYMENT_TARGET'} = $OSX_vers;
+}
+
 my $lib_dir = $conf-data-get('build_dir') . /blib/lib;
 $ldflags .=  -L$lib_dir;
 $ccflags .=  -pipe -fno-common -Wno-long-double ;
 
 $conf-data-set(
 darwin  = 1,
+osx_version = $ENV{'MACOSX_DEPLOYMENT_TARGET'},
 ccflags = $ccflags,
 ldflags = $ldflags,
 ccwarn  = -Wno-shadow,
Index: config/gen/makefiles/root.in
===
--- config/gen/makefiles/root.in(revision 28436)
+++ config/gen/makefiles/root.in(working copy)
@@ -105,6 +105,7 @@
 RECONFIGURE  = $(PERL) tools/dev/reconfigure.pl
 INNO_SETUP   = iscc
 JIT_BUILD_TOOL   = $(BUILD_TOOLS_DIR)/jit2c.pl
+#CONDITIONED_LINE(darwin):export MACOSX_DEPLOYMENT_TARGET := @osx_version@
 
 ###
 #



--
Packy Anderson   
[EMAIL PROTECTED]


They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety.   --Benjamin  
Franklin





[perl #55846] [BUG]: realclean fails to remove ./src/asmfun.s in Parrot v0.6.2

2008-06-17 Thread James Keenan via RT
On Sun Jun 15 09:52:51 2008, toddolson wrote:


 In parrot 0.6.2 make realclean fails to remove the generate
./src/asmfun.s
 Repeat by
   perl ./Configure.pl# generates ./src/asmfun.s
   make realclean # fails to remove ./src/asmfun.s
 
 It is not clear how to modify config/gen/makefiles/root.in to fix
this.

Feature, not bug.

Or, at the very least, intentional.  

There exist *as source code* the following two files:

[parrot] 507 $ fnsa src/jit '*\.s' | xargs ls -ltr
-rw-r--r--   1 jimk  jimk  544 Jun 16 18:10 src/jit/ppc/ppc-linux.s
-rw-r--r--   1 jimk  jimk  582 Jun 16 18:10 src/jit/ppc/asm.s

So we're only talking about PPC machines, but we're talking about either
Darwin or Linux on PPC.  In the case of your Mac and mine, the relevant
file is:  src/jit/ppc/asm.s.

Here's the code in config/auto/jit.pm which creates this file:

my $jitarchname = $cpuarch-$osname;
my $sjit = $jitbase/$cpuarch/$jitarchname.s;
my $asm = $jitbase/$cpuarch/asm.s;
if ( -e $sjit ) {
copy_if_diff( $sjit, src/asmfun.s );
$conf-data-set( asmfun_o = 'src/asmfun$(O)' );
}
elsif ( -e $asm ) {
copy_if_diff( $asm, src/asmfun.s );
$conf-data-set( asmfun_o = 'src/asmfun$(O)' );
}
else {
$conf-data-set( asmfun_o = '' );
}

In the case of your machine, $sjit does not exist but $asm does exist. 
To avoid unnecessary rebuilds, we copy $asm to src/asmfun.s only if it
has changed.  Hence, we specifically do *not* want it to be removed by
'make realclean'.

(Note:  This code was written by Leo between r7591 and 7597 in March
2005 -- a long time ago in Parrot years.  I have no reason to believe
it's no longer valid, but it might benefit from a review by someone who
understands JIT.)

Thank you very much.
kid51



Re: [perl #55910]

2008-06-17 Thread Packy Anderson
Ah, but it doesn't complete the 'make' because  
MACOSX_DEPLOYMENT_TARGET.  I'll fix that after dinner.


-packy

--
Packy Anderson   
[EMAIL PROTECTED]


They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety.   --Benjamin  
Franklin





[perl #40204] [BUG] line numbers of *some* runtime errors are one too low

2008-06-17 Thread Will Coleda via RT
On Sat Aug 19 14:30:53 2006, chip wrote:
 Runtime errors seem to be off by one these days.  Anybody play with line
 numbering recently?
 
 Given this source:
 
 .sub foo :main
 P0 = new .Hash
 P1 = P0['x']
 unless P1 goto no
 print yes\n
   no:
 .end
 
 The message claims line number 3:
 
 Null PMC access in get_bool()
 current instr.: 'foo' pc 7 (/tmp/line.pir:3)
 
 Whereas the actual error is on line 4.

TODO test  added to t/compilers/imcc/syn/regresssions.t in r28449.

-- 
Will Coke Coleda


[perl #55926] [TODO] July 2008 Release

2008-06-17 Thread via RT
# New Ticket Created by  Nuno Carvalho 
# Please include the string:  [perl #55926]
# in the subject line of all future correspondence about this issue. 
# URL: http://rt.perl.org/rt3/Ticket/Display.html?id=55926 


This is a placeholder ticket for the July 2008 release of Parrot.


[perl #55856] Eliminating (?) _handle_darwin_for_macports and _handle_darwin_for_fink

2008-06-17 Thread James Keenan via RT
Please try my second attempt at fixing the problem, attached.

kid51
Index: lib/Parrot/Configure/Step/Methods.pm
===
--- lib/Parrot/Configure/Step/Methods.pm(.../trunk) (revision 28442)
+++ lib/Parrot/Configure/Step/Methods.pm(.../branches/handledarwin) 
(revision 28471)
@@ -69,13 +69,7 @@
 ldflags   = -L$fink_lib_dir,
 ccflags   = -I$fink_include_dir,
 );
-foreach my $flag (keys %intended) {
-my $flagstr = $conf-data-get($flag);
-my @elements = split /\s+/, $flagstr;
-my %seen = map {$_, 1} @elements;
-$conf-data-add( ' ', $flag = $intended{$flag} )
-unless $seen{$intended{$flag}};
-}
+_add_flags_not_yet_seen($conf, \%intended);
 }
 }
 }
@@ -100,13 +94,18 @@
 sub _handle_darwin_for_macports {
 my ($self, $conf, $osname, $file) = @_;
 if ( $osname =~ /darwin/ ) {
-my $ports_root = $conf-data-get( 'ports_base_dir' );
-my $ports_lib_dir = $conf-data-get( 'ports_lib_dir' );
-my $ports_include_dir = $conf-data-get( 'ports_include_dir' );
-if ( $ports_include_dir  -f qq{$ports_include_dir/$file} ) {
-$conf-data-add( ' ', linkflags = -L$ports_lib_dir );
-$conf-data-add( ' ', ldflags   = -L$ports_lib_dir );
-$conf-data-add( ' ', ccflags   = -I$ports_include_dir );
+#my $ports_root  = $conf-data-get( 'ports_base_dir' );
+my $ports_lib_dir   = $conf-data-get( 'ports_lib_dir' );
+my $ports_include_dir   = $conf-data-get( 'ports_include_dir' );
+if ( defined $ports_lib_dir  defined $ports_include_dir ) {
+if ( -f qq{$ports_include_dir/$file} ) {
+my %intended = (
+linkflags = -L$ports_lib_dir,
+ldflags   = -L$ports_lib_dir,
+ccflags   = -I$ports_include_dir,
+);
+_add_flags_not_yet_seen($conf, \%intended);
+}
 }
 }
 return 1;
@@ -210,7 +209,18 @@
 return 1;
 }
 
+sub _add_flags_not_yet_seen {
+my ($conf, $intended) = @_;
+foreach my $flag (keys %{ $intended }) {
+my $flagstr = $conf-data-get($flag);
+my @elements = split /\s+/, $flagstr;
+my %seen = map {$_, 1} @elements;
+$conf-data-add( ' ', $flag = $intended-{$flag} )
+unless $seen{$intended-{$flag}};
+}
+}
 
+
 =head1 SEE ALSO
 
 Parrot::Configure::Step.
Index: t/steps/auto_readline-01.t
===
--- t/steps/auto_readline-01.t  (.../trunk) (revision 28442)
+++ t/steps/auto_readline-01.t  (.../branches/handledarwin) (revision 28471)
@@ -5,7 +5,7 @@
 
 use strict;
 use warnings;
-use Test::More qw(no_plan); # tests = 52;
+use Test::More tests = 72;
 use Carp;
 use Cwd;
 use File::Spec;
@@ -109,12 +109,12 @@
 
 my $cwd = cwd();
 {
-my $tdir = tempdir( CLEANUP = 1 );
-ok(chdir $tdir, Able to change to temporary directory);
+my $tdir1 = tempdir( CLEANUP = 1 );
+ok(chdir $tdir1, Able to change to temporary directory);
 ok( (mkdir 'lib'), Able to make lib directory);
 ok( (mkdir 'include'), Able to make include directory);
-my $libdir = File::Spec-catdir( $tdir, 'lib' );
-my $includedir = File::Spec-catdir( $tdir, 'include' );
+my $libdir = File::Spec-catdir( $tdir1, 'lib' );
+my $includedir = File::Spec-catdir( $tdir1, 'include' );
 $conf-data-set('fink_lib_dir' = $libdir);
 $conf-data-set('fink_include_dir' = $includedir);
 $osname = 'darwin';
@@ -122,7 +122,8 @@
 ok($step-_handle_darwin_for_fink($conf, $osname, 'readline/readline.h'),
 handle_darwin_for_fink() returned true value);
 $flagsafter = $conf-data-get( 'linkflags' );
-is($flagsbefore, $flagsafter, No change in linkflags, as expected);
+is($flagsbefore, $flagsafter,
+No change in linkflags, as expected, where Fink lib and include 
directories exist but readline/readline.h does not);
 
 ok(chdir $cwd, Able to change back to original directory after testing);
 }
@@ -149,11 +150,56 @@
 $flagsafter = $conf-data-get( 'linkflags' );
 isnt($flagsbefore, $flagsafter, Change in linkflags, as expected);
 like($conf-data-get( 'linkflags' ), qr/-L\Q$libdir\E/,
-'linkflags' modified as expected);
+'linkflags' modified as expected, in case where Fink lib and include 
dirs exist and readline/readline.h exists);
+$conf-data-set( linkflags = $flagsbefore ); #reset for next test
 
 ok(chdir $cwd, Able to change back to original directory after testing);
 }
 
+{
+my $tdir3 = tempdir( CLEANUP = 1 );
+ok(chdir $tdir3, Able to change to temporary directory);
+ok( (mkdir 'lib'), Able to make lib 

Re: [perl #55910] - running Configure.pl on PPC OS X

2008-06-17 Thread Geoffrey Broadwell
On Mon, 2008-06-16 at 23:17 -0500, Packy Anderson wrote:
 Of course, I'm still doing perl Configure.pl --without-opengl, but  
 I don't know if that's a problem with hints file or with the GLUT  
 implementation...

That would be for me to look at   Join #parrot (irc.perl.org) and
ping japhb, or file a separate RT with details, and I'll happily debug
your OpenGL troubles with you.


-'f




Re: [perl #40204] [BUG] line numbers of *some* runtime errors are one too low

2008-06-17 Thread Geoffrey Broadwell
On Mon, 2008-06-16 at 20:01 -0700, Will Coleda via RT wrote:
 On Sat Aug 19 14:30:53 2006, chip wrote:
  Runtime errors seem to be off by one these days.  Anybody play with line
  numbering recently?

Note that this bug (or a similar one) affects line numbers of
disassembly (I assume because the line number info in the PBC is wrong).
You can see this effect with tools/util/dump_pbc.pl; certain PIR
constructs seem to be reliably misnumbered, so that the disassembly for
a line will appear just before the matching source code rather than just
after.


-'f




Parrot 0.6.3 Beautiful Parrot Released!

2008-06-17 Thread Nuno 'smash' Carvalho
Greetings,

On behalf of the Parrot team, I'm proud to announce Parrot 0.6.3
Beautiful Parrot. Parrot (http://parrotcode.org/) is a virtual machine aimed
at running all dynamic languages.

Parrot 0.6.3 is available via CPAN (soon), or follow the download
instructions at http://parrotcode.org/source.html.  For those who
would like to develop on
Parrot, or help develop Parrot itself, we recommend using Subversion on
the source code repository to get the latest and best Parrot code.

Parrot 0.6.3 News:
- Specification
  + updated pdd09_gc.pod
- Languages
  + Cardinal:
- dramatically improved parsing speed
- added support for defining and instantiating classes
- started fleshing out the builtin class hierarchy
- added support for hashes and arrays
  + Chitchat: added the start of a smalltalk compiler
  + Pheme: updated to match PGE changes
  + Pynie: return statement, other minor updates
  + Rakudo:
- added working list and hash contexts
- added 'return' statements
- added = pair constructor
- added ?? !! ternary
- added Range, range operators, Complex
- added common List, Hash methods
- refactored base classes
- added Mutable, Perl6Scalar classes
- added type-checking, is readonly/rw/copy for parameters
- added make localtest, docs/spectest-progress.csv
- fix named unaries
  + Squaak: implement return statement
  + Tcl: updated control flow exceptions to use new builtin types
- Compilers
  + All tools converted to P6object metamodel
  + PGE:
- ?foo is now a zero-width match
- reduced backtracking to improve parsing speed
  + PCT:
- added return PAST.op node type for subroutine returns
- added keyed_int scoping to PAST::Var
- fixed calls to closures
- automatically transcode 7-bit unicode to ascii for faster processing
  + NQP: added return statement, ?? !! ternary operator
- Configuration
  + expanded step gen::opengl
- Implementation
  + updated function and macro names to match pdd09_gc.pod
  + removed Super PMC
  + add .namespace [] as alternative to .namespace
  + make codetest target runs standard coding tests
- Miscellaneous
  + added P6object class for Perl 6 interfaces to objects in Parrot
  + ported OpenGL/GLU/GLUT bindings to Win32, BSD, and more Mac OS X variants
  + generate OpenGL/GLU/GLUT bindings by parsing system headers
  + new OpenGL example shapes.pir, covering basic OpenGL 1.1 / GLUT 3 APIs
  + new float4.pir structure-packing benchmark
  + reduced memory use for variables
  + improved constant string caching
  + made code g++ and gcc (with optimizations) safe
  + the usual collection of bugfixes and optimizations


Many thanks to all our contributors for making this possible, and our sponsors
for supporting this project.  Our next scheduled release is 15 July 2008.

Enjoy!
./smash


Re: Parrot 0.6.3 Beautiful Parrot Released!

2008-06-17 Thread Alberto Simões

Congratulations.

And nice timing. Right before Mozilla gets firefox.com working.

Cheers
Alberto

Nuno 'smash' Carvalho wrote:

Greetings,

On behalf of the Parrot team, I'm proud to announce Parrot 0.6.3
Beautiful Parrot. Parrot (http://parrotcode.org/) is a virtual machine aimed
at running all dynamic languages.

Parrot 0.6.3 is available via CPAN (soon), or follow the download
instructions at http://parrotcode.org/source.html.  For those who
would like to develop on
Parrot, or help develop Parrot itself, we recommend using Subversion on
the source code repository to get the latest and best Parrot code.

Parrot 0.6.3 News:
- Specification
  + updated pdd09_gc.pod
- Languages
  + Cardinal:
- dramatically improved parsing speed
- added support for defining and instantiating classes
- started fleshing out the builtin class hierarchy
- added support for hashes and arrays
  + Chitchat: added the start of a smalltalk compiler
  + Pheme: updated to match PGE changes
  + Pynie: return statement, other minor updates
  + Rakudo:
- added working list and hash contexts
- added 'return' statements
- added = pair constructor
- added ?? !! ternary
- added Range, range operators, Complex
- added common List, Hash methods
- refactored base classes
- added Mutable, Perl6Scalar classes
- added type-checking, is readonly/rw/copy for parameters
- added make localtest, docs/spectest-progress.csv
- fix named unaries
  + Squaak: implement return statement
  + Tcl: updated control flow exceptions to use new builtin types
- Compilers
  + All tools converted to P6object metamodel
  + PGE:
- ?foo is now a zero-width match
- reduced backtracking to improve parsing speed
  + PCT:
- added return PAST.op node type for subroutine returns
- added keyed_int scoping to PAST::Var
- fixed calls to closures
- automatically transcode 7-bit unicode to ascii for faster processing
  + NQP: added return statement, ?? !! ternary operator
- Configuration
  + expanded step gen::opengl
- Implementation
  + updated function and macro names to match pdd09_gc.pod
  + removed Super PMC
  + add .namespace [] as alternative to .namespace
  + make codetest target runs standard coding tests
- Miscellaneous
  + added P6object class for Perl 6 interfaces to objects in Parrot
  + ported OpenGL/GLU/GLUT bindings to Win32, BSD, and more Mac OS X variants
  + generate OpenGL/GLU/GLUT bindings by parsing system headers
  + new OpenGL example shapes.pir, covering basic OpenGL 1.1 / GLUT 3 APIs
  + new float4.pir structure-packing benchmark
  + reduced memory use for variables
  + improved constant string caching
  + made code g++ and gcc (with optimizations) safe
  + the usual collection of bugfixes and optimizations


Many thanks to all our contributors for making this possible, and our sponsors
for supporting this project.  Our next scheduled release is 15 July 2008.

Enjoy!
./smash


--
Alberto Simões - Departamento de Informática - Universidade do Minho
 Campus de Gualtar - 4710-057 Braga - Portugal


Re: Parrot and Smolder

2008-06-17 Thread Michael Peters
I've got this working pretty well on my checkout (except that the current
revision, #28476, doesn't build). You can do a make smolder_test and have the
results sent to the Smolder server. I talked with chromatic and some others
about removing some of the old existing smoke stuff, but I'll do that later.

So now the question is how do I send this as a patch. It touches several files
and adds new ones. Is a simple svn diff good enough? If so, it's attached.

-- 
Michael Peters
Plus Three, LP

Index: lib/Parrot/Harness/Options.pm
===
--- lib/Parrot/Harness/Options.pm	(revision 28476)
+++ lib/Parrot/Harness/Options.pm	(working copy)
@@ -50,6 +50,14 @@
 $longopts{help} = grep { $_ eq '--help' } @argv;
 @argv = grep { $_ ne '--help' } @argv;
 
+$longopts{archive} = grep { $_ eq '--archive' } @argv;
+@argv = grep { $_ ne '--archive' } @argv;
+
+if( $longopts{archive} ) {
+$longopts{send_to_smolder} = grep { $_ eq '--send-to-smolder' } @argv;
+@argv = grep { $_ ne '--send-to-smolder' } @argv;
+}
+
 return (\%longopts, @argv);
 }
 
@@ -91,6 +99,8 @@
 --runcore-tests
 --html
 --code-tests
+--archive  ... create a TAP archive of the test run
+--send-to-smolder ... send the TAP archive to the Parrot Smolder server
 EOF
 
 return;
Index: lib/Parrot/Harness/Smoke.pm
===
--- lib/Parrot/Harness/Smoke.pm	(revision 28476)
+++ lib/Parrot/Harness/Smoke.pm	(working copy)
@@ -27,11 +27,55 @@
 
 use lib qw( . lib ../lib ../../lib );
 use Parrot::Config qw/%PConfig/;
+use Config;
 use base qw( Exporter );
 our @EXPORT_OK = qw(
 generate_html_smoke_report
+send_archive_to_smolder
 );
 
+my %SMOLDER_CONFIG = (
+server = 'http://smolder.plusthree.com',
+username   = 'parrot-autobot',
+password   = '[EMAIL PROTECTED]',
+project_id = 8,
+);
+
+sub send_archive_to_smolder {
+eval { require LWP::UserAgent };
+if( $@ ) {
+die \n . ('-' x 55) . \nCould not load LWP::UserAgent.
+. \nPlease install it if you want to send TAP archives smolder.\n
+. ('-' x 55) . [EMAIL PROTECTED];
+}
+
+# get the comments from svn
+my @lines = `svn info`;
+@lines = grep { $_ =~ /URL|Revision|LastChanged/ } @lines;
+push(@lines, `perl -v | grep -i 'this is perl'`);
+chomp foreach @lines;
+my $comments = join(\n, @lines);
+
+my $url = $SMOLDER_CONFIG{server}/app/developer_projects/process_add_report/$SMOLDER_CONFIG{project_id};
+my $ua = LWP::UserAgent-new();
+my $response = $ua-post(
+$url,
+Content_Type = 'form-data',
+Content  = [
+architecture = $Config{myarchname},
+platform = $^O,
+comments = $comments,
+username = $SMOLDER_CONFIG{username},
+password = $SMOLDER_CONFIG{password},
+report_file  = ['parrot_test_run.tar.gz'],
+]
+);
+if($response-code != 302) {
+die Could not upload report to Smolder at $SMOLDER_CONFIG{server}
+. \nHTTP CODE:  . $response-code .  ( . $response-message . )\n;
+}
+}
+
 sub generate_html_smoke_report {
 my $argsref = shift;
 my $html_fn = $argsref-{file};
Index: t/harness
===
--- t/harness	(revision 28476)
+++ t/harness	(working copy)
@@ -19,6 +19,7 @@
 );
 use Parrot::Harness::Smoke qw(
 generate_html_smoke_report
+send_archive_to_smolder
 );
 
 local @ARGV = @ARGV;
@@ -51,21 +52,46 @@
 $longopts-{runcore_tests_only}
 );
 
-my @tests = map { glob( $_ ) } (@ARGV ? @ARGV : @default_tests);
+my @tests;
+if ($longopts-{code}) {
+@tests = @developing_tests;
+} else {
+@tests = map { glob($_) } (@ARGV ? @ARGV : @default_tests);
+}
 
-if ( $longopts-{code} ) {
-Test::Harness::runtests(@developing_tests);
+if ($longopts-{html}) {
+generate_html_smoke_report(
+{
+tests = [EMAIL PROTECTED],
+args  = $args,
+file  = 'smoke.html',
+}
+);
+} else {
+my $harness;
+if ($longopts-{archive}) {
+eval { require TAP::Harness::Archive };
+if( $@ ) {
+die \n . ('-' x 55) . \nCould not load TAP::Harness::Archive.
+. \nPlease install it if you want to create TAP archives.\n
+. ('-' x 55) . [EMAIL PROTECTED];
+}
+$harness = TAP::Harness::Archive-new(
+{
+verbosity = $ENV{HARNESS_VERBOSE},
+archive   = 'parrot_test_run.tar.gz',
+merge = 1,
+}
+);
+} else {
+$harness = TAP::Harness-new({verbosity = $ENV{HARNESS_VERBOSE}, merge = 0});
+}
+$harness-runtests(@tests);
+
+if($longopts-{send_to_smolder}) {
+send_archive_to_smolder();
+}
 }
-elsif ( 

[perl #39877] [BUG] [CAGE] Distro tests incomplete

2008-06-17 Thread Will Coleda via RT
On Mon Apr 14 05:32:54 2008, coke wrote:
 On Sun, Apr 13, 2008 at 10:36 PM, James Keenan via RT
 [EMAIL PROTECTED] wrote:
  Coke:  Have we overcome this problem?
 
   kid51
 
 
 I don't think so, no.
 
 Try this:
 
 % mkdir foo
 % touch foo/bar.t
 % svn add foo
 % prove t/distro
 
 Shouldn't this complain about:
 - items that have been svn added but are not in the MANIFEST
 - those items not having the appropriate properties?
 
 I can see if it were a multistep process: fix manifest. oh, now
 that you've fixed that, I can see the properties are broken.
 
 Regards.
 

As I was working on this (to report things that are checked in but not in the 
MANIFEST), I 
found the following files that are checked into the repository, but not in 
MANIFEST - 
ports/debian. I checked MANIFEST.SKIP, but it's skipping /debian, not 
ports/debian; I assume 
this is a leftover from when debian was in the root.

Anyone remember what's going on here?

-- 
Will Coke Coleda


Re: Parrot and Smolder

2008-06-17 Thread jerry gay
On Tue, Jun 17, 2008 at 10:31 AM, Michael Peters [EMAIL PROTECTED] wrote:
 I've got this working pretty well on my checkout (except that the current
 revision, #28476, doesn't build). You can do a make smolder_test and have 
 the
 results sent to the Smolder server. I talked with chromatic and some others
 about removing some of the old existing smoke stuff, but I'll do that later.

 So now the question is how do I send this as a patch. It touches several files
 and adds new ones. Is a simple svn diff good enough? If so, it's attached.

excellent! this came together quickly and simply, by the looks of it.
the patch format is fine, especially for a first patch (for more
details of our precise requirements you can read
docs/submissions.pod). one gotcha, you've got 'use Config;' which
pulls info from perl, when you should be using Parrot::Config instead.
it should be an easy switch from $Config{myarchname} to
$PConfig{archname}, if i understand correctly.

as far as i'm concerned, with that simple change this patch can be
applied--and anyone familiar with perl can make that change, it
doesn't have to be michael.
~jerry


Re: Parrot and Smolder

2008-06-17 Thread James E Keenan

I forwarded this to parrotbug so that an RT is opened.


[perl #55538] [RFC] .macro_const doesn't work in *.pir files

2008-06-17 Thread Andrew Whitworth via RT
General consensus (at least from what I've heard) is that this is useful
to add in PIR files, so I've applied the patch and a few other updates
and tests for it in r28473.

Resolving ticket.

--Andrew Whitworth


[perl #55954] [PATCH]: Add 'make smolder_test' target

2008-06-17 Thread via RT
# New Ticket Created by  James Keenan 
# Please include the string:  [perl #55954]
# in the subject line of all future correspondence about this issue. 
# URL: http://rt.perl.org/rt3/Ticket/Display.html?id=55954 


Forwarding Michael's post so that an RT is opened.
I've got this working pretty well on my checkout (except that the current
revision, #28476, doesn't build). You can do a make smolder_test and have the
results sent to the Smolder server. I talked with chromatic and some others
about removing some of the old existing smoke stuff, but I'll do that later.

So now the question is how do I send this as a patch. It touches several files
and adds new ones. Is a simple svn diff good enough? If so, it's attached.

-- 
Michael Peters
Plus Three, LP

Index: lib/Parrot/Harness/Options.pm
===
--- lib/Parrot/Harness/Options.pm	(revision 28476)
+++ lib/Parrot/Harness/Options.pm	(working copy)
@@ -50,6 +50,14 @@
 $longopts{help} = grep { $_ eq '--help' } @argv;
 @argv = grep { $_ ne '--help' } @argv;
 
+$longopts{archive} = grep { $_ eq '--archive' } @argv;
+@argv = grep { $_ ne '--archive' } @argv;
+
+if( $longopts{archive} ) {
+$longopts{send_to_smolder} = grep { $_ eq '--send-to-smolder' } @argv;
+@argv = grep { $_ ne '--send-to-smolder' } @argv;
+}
+
 return (\%longopts, @argv);
 }
 
@@ -91,6 +99,8 @@
 --runcore-tests
 --html
 --code-tests
+--archive  ... create a TAP archive of the test run
+--send-to-smolder ... send the TAP archive to the Parrot Smolder server
 EOF
 
 return;
Index: lib/Parrot/Harness/Smoke.pm
===
--- lib/Parrot/Harness/Smoke.pm	(revision 28476)
+++ lib/Parrot/Harness/Smoke.pm	(working copy)
@@ -27,11 +27,55 @@
 
 use lib qw( . lib ../lib ../../lib );
 use Parrot::Config qw/%PConfig/;
+use Config;
 use base qw( Exporter );
 our @EXPORT_OK = qw(
 generate_html_smoke_report
+send_archive_to_smolder
 );
 
+my %SMOLDER_CONFIG = (
+server = 'http://smolder.plusthree.com',
+username   = 'parrot-autobot',
+password   = '[EMAIL PROTECTED]',
+project_id = 8,
+);
+
+sub send_archive_to_smolder {
+eval { require LWP::UserAgent };
+if( $@ ) {
+die \n . ('-' x 55) . \nCould not load LWP::UserAgent.
+. \nPlease install it if you want to send TAP archives smolder.\n
+. ('-' x 55) . [EMAIL PROTECTED];
+}
+
+# get the comments from svn
+my @lines = `svn info`;
+@lines = grep { $_ =~ /URL|Revision|LastChanged/ } @lines;
+push(@lines, `perl -v | grep -i 'this is perl'`);
+chomp foreach @lines;
+my $comments = join(\n, @lines);
+
+my $url = $SMOLDER_CONFIG{server}/app/developer_projects/process_add_report/$SMOLDER_CONFIG{project_id};
+my $ua = LWP::UserAgent-new();
+my $response = $ua-post(
+$url,
+Content_Type = 'form-data',
+Content  = [
+architecture = $Config{myarchname},
+platform = $^O,
+comments = $comments,
+username = $SMOLDER_CONFIG{username},
+password = $SMOLDER_CONFIG{password},
+report_file  = ['parrot_test_run.tar.gz'],
+]
+);
+if($response-code != 302) {
+die Could not upload report to Smolder at $SMOLDER_CONFIG{server}
+. \nHTTP CODE:  . $response-code .  ( . $response-message . )\n;
+}
+}
+
 sub generate_html_smoke_report {
 my $argsref = shift;
 my $html_fn = $argsref-{file};
Index: t/harness
===
--- t/harness	(revision 28476)
+++ t/harness	(working copy)
@@ -19,6 +19,7 @@
 );
 use Parrot::Harness::Smoke qw(
 generate_html_smoke_report
+send_archive_to_smolder
 );
 
 local @ARGV = @ARGV;
@@ -51,21 +52,46 @@
 $longopts-{runcore_tests_only}
 );
 
-my @tests = map { glob( $_ ) } (@ARGV ? @ARGV : @default_tests);
+my @tests;
+if ($longopts-{code}) {
+@tests = @developing_tests;
+} else {
+@tests = map { glob($_) } (@ARGV ? @ARGV : @default_tests);
+}
 
-if ( $longopts-{code} ) {
-Test::Harness::runtests(@developing_tests);
+if ($longopts-{html}) {
+generate_html_smoke_report(
+{
+tests = [EMAIL PROTECTED],
+args  = $args,
+file  = 'smoke.html',
+}
+);
+} else {
+my $harness;
+if ($longopts-{archive}) {
+eval { require TAP::Harness::Archive };
+if( $@ ) {
+die \n . ('-' x 55) . \nCould not load TAP::Harness::Archive.
+. \nPlease install it if you want to create TAP archives.\n
+. ('-' x 55) . [EMAIL PROTECTED];
+}
+$harness = TAP::Harness::Archive-new(
+{
+verbosity = $ENV{HARNESS_VERBOSE},
+archive   = 'parrot_test_run.tar.gz',
+merge = 1,
+ 

[perl #55950] problem compiling OpenGL/GLUT on PPC OS X

2008-06-17 Thread via RT
# New Ticket Created by  Packy Anderson 
# Please include the string:  [perl #55950]
# in the subject line of all future correspondence about this issue. 
# URL: http://rt.perl.org/rt3/Ticket/Display.html?id=55950 


On Jun 17, 2008, at 11:36 AM, Geoffrey Broadwell wrote:
 On Mon, 2008-06-16 at 23:17 -0500, Packy Anderson wrote:
 Of course, I'm still doing perl Configure.pl --without-opengl, but
 I don't know if that's a problem with hints file or with the GLUT
 implementation...

 That would be for me to look at   Join #parrot (irc.perl.org) and
 ping japhb, or file a separate RT with details, and I'll happily debug
 your OpenGL troubles with you.


Here's the command I'm using to configure and make
$ make realclean; CC=gcc-4.0 CX=g++-4.0 perl Configure.pl -- 
cc=$CC --cxx=$CX --link=$CX --ld=$CX --optimize; make -j 2
(much configuring and making happens)
...
c++ -o digest_group.bundle lib-digest_group.o md2.o md4.o md5.o  
ripemd160.o sha.o sha1.o sha256.o sha512.o  -lm -framework OpenGL - 
framework GLUT -lcrypto  -L/usr/local/lib -L/usr/local/source/parrot/ 
blib/lib -L/opt/local/lib  -L/usr/local/source/parrot/blib/lib - 
bundle -undefined dynamic_lookup -L/usr/local/source/parrot/blib/lib - 
lparrot
/usr/bin/ld: warning can't open dynamic library: /opt/local/lib/libz. 
1.dylib (checking for undefined symbols may be affected) (No such  
file or directory, errno = 2)
c++ -o dynlexpad.bundle dynlexpad.o  -lm -framework OpenGL -framework  
GLUT -lcrypto  -L/usr/local/lib -L/usr/local/source/parrot/blib/lib - 
L/opt/local/lib  -L/usr/local/source/parrot/blib/lib -bundle - 
undefined dynamic_lookup -L/usr/local/source/parrot/blib/lib -lparrot
/usr/bin/ld: warning can't open dynamic library: /opt/local/lib/libz. 
1.dylib (checking for undefined symbols may be affected) (No such  
file or directory, errno = 2)
c++ -o foo.bundle foo.o  -lm -framework OpenGL -framework GLUT - 
lcrypto  -L/usr/local/lib -L/usr/local/source/parrot/blib/lib -L/opt/ 
local/lib  -L/usr/local/source/parrot/blib/lib -bundle -undefined  
dynamic_lookup -L/usr/local/source/parrot/blib/lib -lparrot
/usr/bin/ld: warning can't open dynamic library: /opt/local/lib/libz. 
1.dylib (checking for undefined symbols may be affected) (No such  
file or directory, errno = 2)
c++ -o rotest.bundle rotest.o  -lm -framework OpenGL -framework GLUT - 
lcrypto  -L/usr/local/lib -L/usr/local/source/parrot/blib/lib -L/opt/ 
local/lib  -L/usr/local/source/parrot/blib/lib -bundle -undefined  
dynamic_lookup -L/usr/local/source/parrot/blib/lib -lparrot
/usr/bin/ld: warning can't open dynamic library: /opt/local/lib/libz. 
1.dylib (checking for undefined symbols may be affected) (No such  
file or directory, errno = 2)
c++ -o rational.bundle rational.o  -lm -framework OpenGL -framework  
GLUT -lcrypto  -L/usr/local/lib -L/usr/local/source/parrot/blib/lib - 
L/opt/local/lib  -L/usr/local/source/parrot/blib/lib -bundle - 
undefined dynamic_lookup -L/usr/local/source/parrot/blib/lib -lparrot
/usr/bin/ld: warning can't open dynamic library: /opt/local/lib/libz. 
1.dylib (checking for undefined symbols may be affected) (No such  
file or directory, errno = 2)
c++ -o subproxy.bundle subproxy.o  -lm -framework OpenGL -framework  
GLUT -lcrypto  -L/usr/local/lib -L/usr/local/source/parrot/blib/lib - 
L/opt/local/lib  -L/usr/local/source/parrot/blib/lib -bundle - 
undefined dynamic_lookup -L/usr/local/source/parrot/blib/lib -lparrot
/usr/bin/ld: warning can't open dynamic library: /opt/local/lib/libz. 
1.dylib (checking for undefined symbols may be affected) (No such  
file or directory, errno = 2)

My environment:
$ sw_vers -productName
Mac OS X
$ sw_vers -productVersion
10.4.11
$ sw_vers -buildVersion
8S165

-packy

--
Packy Anderson   
[EMAIL PROTECTED]

They that can give up essential liberty to obtain a little temporary
safety deserve neither liberty nor safety.   --Benjamin  
Franklin




[perl #55960] [BUG] [PATCH] Hash declarations broken in c++ build

2008-06-17 Thread via RT
# New Ticket Created by  NotFound 
# Please include the string:  [perl #55960]
# in the subject line of all future correspondence about this issue. 
# URL: http://rt.perl.org/rt3/Ticket/Display.html?id=55960 


C++ building is broken because of differences in struct Hash
declarations and usage.

This patch fixes the problem, but I'm not very sure that is the best way.

-- 
Salu2
Index: src/string.c
===
--- src/string.c	(revisión: 28490)
+++ src/string.c	(copia de trabajo)
@@ -265,7 +265,7 @@
 /* Set up the cstring cache, then load the basic encodings and charsets */
 if (!interp-parent_interpreter) {
 parrot_new_cstring_hash(interp, const_cstring_hash);
-interp-const_cstring_hash  = (struct Hash *)const_cstring_hash;
+interp-const_cstring_hash  = (Hash *)const_cstring_hash;
 Parrot_charsets_encodings_init(interp);
 }
 /* initialize the constant string table */
Index: include/parrot/interpreter.h
===
--- include/parrot/interpreter.h	(revisión: 28490)
+++ include/parrot/interpreter.h	(copia de trabajo)
@@ -388,7 +388,7 @@
 struct _Caches * caches;  /* see caches.h */
 
 STRING **const_cstring_table; /* CONST_STRING(x) items */
-struct Hash *const_cstring_hash;  /* cache of const_string items */
+struct _hash *const_cstring_hash; /* cache of const_string items */
 
 struct QUEUE* task_queue; /* per interpreter queue */
 struct _handler_node_t *exit_handler_list;/* exit.c */


[perl #55910] [PATCH] running Configure.pl on PPC OS X

2008-06-17 Thread James Keenan via RT
Patch applied in r28477.  I wouldn't be surprised if we have to do some
small fixes on t/steps/*.t tests which, in the past, have been sensitive
to the DEPLOYMENT variable -- but that's cleanup work.  I'll keep the
ticket open for a few days to see if anyone reports, e.g., uninitialized
value warnings.

In the meantime, thanks, Packy, for your first (I think) patch accepted
to the Parrot project.  You can work with japhb on any aspects of this
problem that are more openGL-related.

Thank you very much.

kid51


[perl #55954] [PATCH]: Add 'make smolder_test' target

2008-06-17 Thread James Keenan via RT
... and now, adding Jerry Gay's comment:

excellent! this came together quickly and simply, by the looks of it.
the patch format is fine, especially for a first patch (for more
details of our precise requirements you can read
docs/submissions.pod). one gotcha, you've got 'use Config;' which
pulls info from perl, when you should be using Parrot::Config instead.
it should be an easy switch from $Config{myarchname} to
$PConfig{archname}, if i understand correctly.

as far as i'm concerned, with that simple change this patch can be
applied--and anyone familiar with perl can make that change, it
doesn't have to be michael.
~jerry



[perl #55640] [BUG] [PATCH] oo_get_class segfaults

2008-06-17 Thread NotFound via RT
By chromatic's suggestion, here is a different approach: change pmc_type
signature to allow a null string argument, returning enum_type_undef in
that case.

Other changes in this patch are replacing 0 with enum_type_undef in the
same function, and adding a test in t/pmc/namespace.t checking that
get_class return a null pmc for the root namespace. This test segfault
if the patch is not applied.

Index: src/pmc.c
===
--- src/pmc.c	(revisión: 28476)
+++ src/pmc.c	(copia de trabajo)
@@ -422,20 +422,24 @@
 PARROT_API
 PARROT_WARN_UNUSED_RESULT
 INTVAL
-pmc_type(PARROT_INTERP, ARGIN(STRING *name))
+pmc_type(PARROT_INTERP, ARGIN_NULLOK(STRING *name))
 {
-PMC * const classname_hash = interp-class_hash;
-PMC * const item   =
-(PMC *)VTABLE_get_pointer_keyed_str(interp, classname_hash, name);
+if (! name)
+return enum_type_undef;
+else {
+PMC * const classname_hash = interp-class_hash;
+PMC * const item   =
+(PMC *)VTABLE_get_pointer_keyed_str(interp, classname_hash, name);
 
-/* nested namespace with same name */
-if (item-vtable-base_type == enum_class_NameSpace)
-return 0;
+/* nested namespace with same name */
+if (item-vtable-base_type == enum_class_NameSpace)
+return enum_type_undef;
 
-if (!PMC_IS_NULL(item))
-return VTABLE_get_integer(interp, item);
+if (!PMC_IS_NULL(item))
+return VTABLE_get_integer(interp, item);
 
-return Parrot_get_datatype_enum(interp, name);
+return Parrot_get_datatype_enum(interp, name);
+}
 }
 
 /*
Index: include/parrot/pmc.h
===
--- include/parrot/pmc.h	(revisión: 28476)
+++ include/parrot/pmc.h	(copia de trabajo)
@@ -82,9 +82,8 @@
 
 PARROT_API
 PARROT_WARN_UNUSED_RESULT
-INTVAL pmc_type(PARROT_INTERP, ARGIN(STRING *name))
-__attribute__nonnull__(1)
-__attribute__nonnull__(2);
+INTVAL pmc_type(PARROT_INTERP, ARGIN_NULLOK(STRING *name))
+__attribute__nonnull__(1);
 
 PARROT_API
 INTVAL pmc_type_p(PARROT_INTERP, ARGIN(PMC *name))
Index: t/pmc/namespace.t
===
--- t/pmc/namespace.t	(revisión: 28476)
+++ t/pmc/namespace.t	(copia de trabajo)
@@ -6,7 +6,7 @@
 use warnings;
 use lib qw( . lib ../lib ../../lib );
 use Test::More;
-use Parrot::Test tests = 62;
+use Parrot::Test tests = 63;
 use Parrot::Config;
 
 =head1 NAME
@@ -1058,6 +1058,20 @@
 Found root namespace.
 OUTPUT
 
+pir_output_is( 'CODE', 'OUTPUT', 'root namespace is not a class' );
+.sub main :main
+.local pmc root_ns
+root_ns = get_root_namespace
+.local pmc root_class
+root_class = get_class root_ns
+.local int is_class
+is_class = defined root_class
+say is_class
+.end
+CODE
+0
+OUTPUT
+
 pir_output_is( 'CODE', 'OUTPUT', 'get_root_namespace Foo' );
 .sub main :main
 .local pmc foo_ns


Re: [perl #55950] problem compiling OpenGL/GLUT on PPC OS X

2008-06-17 Thread Geoffrey Broadwell
On Tue, 2008-06-17 at 11:27 -0700, Packy Anderson wrote:
 Here's the command I'm using to configure and make
 $ make realclean; CC=gcc-4.0 CX=g++-4.0 perl Configure.pl -- 
 cc=$CC --cxx=$CX --link=$CX --ld=$CX --optimize; make -j 2

That's a pretty advanced build method.  OK, let's sanity check:

* Does it still fail if you don't override the compiler and linker?
* Does it still fail if you don't run a parallel make?
* Does it still fail if you don't configure with --optimize?
* Does it still fail for just 'make realclean; perl Configure.pl; make'?

(These aren't just silly questions.  Parrot is not tested as often or as
well with non-default build configurations, so a bug could easily have
crept back in.)

 c++ -o digest_group.bundle lib-digest_group.o md2.o md4.o md5.o  
 ripemd160.o sha.o sha1.o sha256.o sha512.o  -lm -framework OpenGL - 
 framework GLUT -lcrypto  -L/usr/local/lib -L/usr/local/source/parrot/ 
 blib/lib -L/opt/local/lib  -L/usr/local/source/parrot/blib/lib - 
 bundle -undefined dynamic_lookup -L/usr/local/source/parrot/blib/lib - 
 lparrot
 /usr/bin/ld: warning can't open dynamic library: /opt/local/lib/libz. 
 1.dylib (checking for undefined symbols may be affected) (No such  
 file or directory, errno = 2)

This seems very odd to me.  I'm not sure what is needing libz, or why it
is pulling it from /opt/local/ ...  I've asked another Mac OS X person
to take a look at this, since it makes no sense to me.


-'f