RE: [perl #50956] AutoReply: Problems building in VS2008 with latest SVN tip

2008-02-18 Thread Ted Neward
By the way, being new to posting bugs to the Parrot system, if there's more I 
can provide by way of info, don't hesitate to let me know.

Ted Neward
Java, .NET, XML Services
Consulting, Teaching, Speaking, Writing
http://www.tedneward.com
 

 -Original Message-
 From: Parrot via RT [mailto:[EMAIL PROTECTED]
 Sent: Monday, February 18, 2008 1:46 AM
 To: [EMAIL PROTECTED]
 Subject: [perl #50956] AutoReply: Problems building in VS2008 with
 latest SVN tip
 
 Greetings,
 
 This message has been automatically generated in response to the
 creation of a parrotbug regarding:
   Problems building in VS2008 with latest SVN tip
 
 There is no need to reply to this message right now.  Your ticket has
 been
 assigned an ID of [perl #50956].
 
 Please include the string:
  [perl #50956]
 In the subject line of all future correspondence about this issue. To
 do so,
 you may reply to this message.
 
 Thank you,
   parrotbug
 
 http://rt.perl.org/rt3/Ticket/Display.html?id=50956
 ---
 --
 X-Originalarrivaltime: 18 Feb 2008 09:44:49.0742 (UTC)
 FILETIME=[E76876E0:01C87212]
 MIME-Version: 1.0
 X-Spam-Status: No, hits=-2.6 required=8.0 tests=BAYES_00,HTML_MESSAGE
 X-Mailer: Microsoft Office Outlook 12.0
 X-Virus-Checked: Checked
 X-Virus-Checked: Checked
 Content-Language: en-us
 X-Old-Spam-Check-BY: la.mx.develooper.com
 Content-Type: multipart/alternative; boundary=
 =_NextPart_000_0058_01C871CF.D9691290
 Message-ID: [EMAIL PROTECTED]
 Received: (qmail 26158 invoked by alias); 18 Feb 2008 09:45:16 -
 Received: (qmail 26153 invoked from network); 18 Feb 2008 09:45:16 -
 
 Received: from localhost (HELO la.mx.develooper.com) (127.0.0.1) by
 localhost with SMTP; 18 Feb 2008 09:45:16 -
 Received: (qmail 26115 invoked by alias); 18 Feb 2008 09:45:15 -
 Received: from la.mx.develooper.com (HELO x1.develooper.com)
 (63.251.223.176) by la.mx.develooper.com (qpsmtpd/0.28) with SMTP; Mon,
 18 Feb 2008 01:45:07 -0800
 Received: (qmail 26067 invoked by uid 225); 18 Feb 2008 09:45:04 -
 Received: (qmail 26063 invoked by alias); 18 Feb 2008 09:45:03 -
 Received: from kyle.guhhome.com (HELO kyle.guhhome.com) (216.232.79.64)
 by la.mx.develooper.com (qpsmtpd/0.28) with ESMTP; Mon, 18 Feb 2008
 01:44:55 -0800
 Received: from XPWork ([71.112.81.67] RDNS failed) by kyle.guhhome.com
 with Microsoft SMTPSVC(6.0.3790.3959); Mon, 18 Feb 2008 01:44:49 -0800
 Delivered-To: [EMAIL PROTECTED]
 Delivered-To: [EMAIL PROTECTED]
 Delivered-To: [EMAIL PROTECTED]
 Subject: Problems building in VS2008 with latest SVN tip
 Return-Path: [EMAIL PROTECTED]
 Return-Path: [EMAIL PROTECTED]
 X-Spam-Check-BY: la.mx.develooper.com
 Thread-Index: AchyEuTVBFRApfpfR3yjE0dM/w0zCQ==
 X-Old-Spam-Status: No, hits=-2.6 required=8.0
 tests=BAYES_00,HTML_MESSAGE
 Date: Mon, 18 Feb 2008 01:44:46 -0800
 To: [EMAIL PROTECTED]
 From: Ted Neward [EMAIL PROTECTED]
 
 Steps look as follows:
 
 
 
 
 
 C:\Prg\parrot-svnsvn up
 
 At revision 25835.
 
 
 
 C:\Prg\parrot-svnbuild_env.bat
 
 ActiveState Perl now on the PATH
 
 Setting environment for using Microsoft Visual Studio 2008 x86 tools.
 
 
 
 C:\Prg\parrot-svnperl Configure.pl
 
 Parrot Version 0.5.2 Configure 2.0
 
 Copyright (C) 2001-2008, The Perl Foundation.
 
 
 
 Hello, I'm Configure. My job is to poke and prod your system to figure
 out
 
 how to build Parrot. The process is completely automated, unless you
 passed
 in
 
 the `--ask' flag on the command line, in which case I'll prompt you for
 a
 few
 
 pieces of info.
 
 
 
 Since you're running this program, you obviously have Perl 5--I'll be
 pulling
 
 some defaults from its configuration.
 
 
 
 Checking
 MANIFEST.done.
 
 Setting up Configure's default
 values.done.
 
 Setting up installation
 paths.done.
 
 Tweaking settings for
 miniparrot...skipped.
 
 Loading platform and local hints
 filesdone.
 
 Finding header files distributed with
 Parrot..done.
 
 Determining what C compiler and linker to
 use.done.
 
 Determining whether make is
 installed..yes.
 
 Determining whether lex is
 installed...skipped.
 
 Determining whether yacc is
 installed..skipped.
 
 Determining if your C compiler is actually
 gcc..no.
 
 Determining whether libc has the backtrace* functions (glibc
 only)..no.
 
 Determining Fink location on
 Darwinskipped.
 
 Determining if your C compiler is actually Visual
 C++..yes.
 
 Detecting compiler attributes (-
 DHASATTRIBUTE_xxx)done.
 
 Detecting supported compiler 

[perl #50956] Problems building in VS2008 with latest SVN tip

2008-02-18 Thread Ted Neward
# New Ticket Created by  Ted Neward 
# Please include the string:  [perl #50956]
# in the subject line of all future correspondence about this issue. 
# URL: http://rt.perl.org/rt3/Ticket/Display.html?id=50956 


Steps look as follows:

 

 

C:\Prg\parrot-svnsvn up

At revision 25835.

 

C:\Prg\parrot-svnbuild_env.bat

ActiveState Perl now on the PATH

Setting environment for using Microsoft Visual Studio 2008 x86 tools.

 

C:\Prg\parrot-svnperl Configure.pl

Parrot Version 0.5.2 Configure 2.0

Copyright (C) 2001-2008, The Perl Foundation.

 

Hello, I'm Configure. My job is to poke and prod your system to figure out

how to build Parrot. The process is completely automated, unless you passed
in

the `--ask' flag on the command line, in which case I'll prompt you for a
few

pieces of info.

 

Since you're running this program, you obviously have Perl 5--I'll be
pulling

some defaults from its configuration.

 

Checking MANIFEST.done.

Setting up Configure's default values.done.

Setting up installation paths.done.

Tweaking settings for miniparrot...skipped.

Loading platform and local hints filesdone.

Finding header files distributed with Parrot..done.

Determining what C compiler and linker to use.done.

Determining whether make is installed..yes.

Determining whether lex is installed...skipped.

Determining whether yacc is installed..skipped.

Determining if your C compiler is actually gcc..no.

Determining whether libc has the backtrace* functions (glibc only)..no.

Determining Fink location on Darwinskipped.

Determining if your C compiler is actually Visual C++..yes.

Detecting compiler attributes (-DHASATTRIBUTE_xxx)done.

Detecting supported compiler warnings (-Wxxx)..skipped.

Enabling optimization...no.

Determining flags for building shared libraries...done.

Determine if parrot should be linked against a shared library..yes.

Determining what charset files should be compiled in..done.

Determining what encoding files should be compiled in.done.

Determining what types Parrot should use..done.

Determining what opcode files should be compiled in...done.

Determining what pmc files should be compiled in..done.

Determining your minimum pointer alignment. 1 byte.

Probing for C headers.done.

Determining some sizesdone.

Computing native byteorder for Parrot's wordsize.little-endian.

Test the type of va_ptr (this test is likely to segfault)stack.

Figuring out how to pack() Parrot's types.done.

Figuring out what formats should be used for sprintf..done.

Determining if your C library has a working S_ISREG.no.

Determining CPU architecture and OS...done.

Determining architecture, OS and JIT capability...done.

Generating CPU specific stuff.done.

Verifying that the compiler supports function pointer castsyes.

Determining whether your compiler supports computed gotono.

Determining if your compiler supports inline...yes.

Determining what allocator to use.done.

Determining if your C library supports memalign.no.

Determining some signal stuff.done.

Determining whether there is socklen_t..no.

Determining if your C library has setenv / unsetenv...unsetenv.

Determining if your platform supports AIO...no.

Determining if your platform supports GMP...no.

Determining if your platform supports readline..no.

Determining if your platform supports gdbm..no.

Testing snprintf..done.

Determining whether perldoc is installed...yes.

Determining whether python is installed.yes, 2.5.1.

Determining whether GNU m4 is installedyes.

Determining whether (exuberant) ctags is installed..no.

Determining Parrot's 

Re: r25810 - make error

2008-02-18 Thread James E Keenan

chromatic wrote:

On Sunday 17 February 2008 17:13:37 James E Keenan wrote:





Compiling with gcc and linking with g++ looks more suspicious to me.  Is that 
really how things work on Darwin?




That's what I've been doing -- with satisfactory results -- since I 
first joined the project.


Parrot Bug Summary

2008-02-18 Thread Parrot Bug Summary
Parrot Bug Summary

http://rt.perl.org/rt3/NoAuth/parrot/Overview.html
Generated at Mon Feb 18 14:00:07 2008 GMT
---

  * Numbers
  * New Issues
  * Overview of Open Issues
  * Ticket Status By Version
  * Requestors with most open tickets

---

Numbers

Ticket Counts: 115 new + 732 open = 847
Created this week: 19
Closed this week: 14

---

New Issues

New issues that have not been responded to yet

1 - 2 weeks old
50708 segfault in pbc_merge
50648 [TODO][C] mark_object_cache in src/oo.c needs implementation
50644 [TODO] refactor src/oo.c: fail_if_type_exists() and fail_if_exist
50642 [CAGE] refactor init_class_from_hash  parrot_class_register
50616 [PATCH] add lists to pynie
50596 [PATCH][PCT] Add basic tests
2 - 3 weeks old
50520 [PATCH][NQP] method call and =:= tests
50508 [PATCH] evaluate the first child of a PAST::Var :scope('attribute') as
  the object
50500 [PROPOSAL][PAST] add PAST::Var :scope('attribute')
50448 [Memory Leak] IMCC Can Leak Lexer Data on Exception
50424 [PROPOSAL][PCT] allow empty PAST::Stmts nodes
50400 [BUG] segfault in pdd17pmc branch
50360 Redesign Parrot NCI callback functionality
3 - 4 weeks old
50238 [PATCH] Remove cast in fetch_buf_... calls in pf_items.c
50092 [TODO] pct - explicit transcode in PCT::Grammar::string_literal
50090 [TODO] pge - throw useful exception on non-quoted non-word characters
50068 Configure doesn't detect backtrace* on ubuntu gutsy
4 - 5 weeks old
49970 [BUG] -O1 and -O2 don't turn on -Ot as per docs
49968 [BUG] 'parrot -O2 oofib.pir' errors out, when -O1 succeeds
49966 [BUG] parrot -v -O2 segfaults, when -v and -O2 separately both work
49832 Error making parrot-0.5.2 in MacosX
49818 [PATCH] Build on QNX 6
5 - 6 weeks old
49718 JIT Core Needs to Handle Scheduler Tasks
6 - 7 weeks old
49328 [BUG] problem between PBC loading and garbage collection
49258 Parrot::Test with --run-exec assumes . is in $PATH
7 - 8 weeks old
49177 [TODO] pct - PAST::Val node should throw exception if :value attribute
  not set
8 - 9 weeks old
49023 Error in library/pg on Ubuntu 7.10
49001 [PROPOSAL][DOCS] Change word compilation_unit into something else (like
  sub)
48877 [TODO] Don't generate .constant declarations for vtable method names.
9 - 10 weeks old
48749 [BUG] t/examples/tutorial.t if_unless failure (Win32)
48645 [CAGE] Make PMCs depend on Parrot::Pmc2c::* Modules
48587 [BUG] pmc.num contains missing PMCs
48581 [DEPRECATED] vtable type_keyed_str
48549 [RFC][PIR] Let .namespace (no args) have empty brackets
48513 [TODO][PCT] Use of int registers in PCT.
48507 [BUG] oo - n_add, n_sub, etc. don't work with objects
48467 [BUG] assignment of objects creates Ref instead of copy
48445 [TODO] [NQP] - report undeclared variable usage
48439 [TODO] [configure] compiling Parrot with LLVM
10 - 11 weeks old
48367 intlist_get could be dereferencing NULL
48357 Initialize vtables for newly created interpreter
48296 Implement get_namespace vtable from pdd17
48286 [TODO] [C] Warnings aren't emitted if a var isn't initialised and -w flag
  is on in propagate_need()
48282 [TODO] [C] Check that invoke is ok near the set_addr instruction in
  bb_findadd_edge()
48280 [TODO] [C] Check for a sub with more up-to-date unit-type lookup
48274 [TODO] [C] Stop ignoring the known errors in Parrot_dlopen()
48272 [TODO] [C] Stop exporting Parrot_signbit()
48264 [TODO] [C] Write file-level documentation
48212 make smoke hangs on win32 latest build
48206 [TODO] [cola] Check that expression evaluates to a method in
  gen_method_call()
48204 [TODO] [cola] Check method signature in gen_arg_list_expr() and find out 
  what type is expected
48202 [TODO] [cola] Rewrite push_sym() to call generic Node versions of calls
48200 [TODO] [cola] Add documentation to files and functions
48198 [TODO] [cola] Add support for member resolution in lookup_type()
48196 [TODO] [APL] Should the PMC in set_shape() be cloned?
48194 [TODO] [APL] Move any constant string declarations into class_init()
48192 [TODO] [amber] Correct overflow issue in integer()
48190 [TODO] [amber] Can null variable check be reinstated by generating n_neg 
  instead of neg?
48188 [TODO] [amber] Correct overflow for -maxint in abs()
48186 [TODO] [amber] Consider using unicode in character()
48184 [TODO] [amber] Use has(index) to check indices in set_item()
48182 [TODO] [amber] Reject out of range values in item()
48180 [TODO] [amber] Reject first() and last() methods if count = 0
48176 [TODO] [pugs] Warning: use of uninitialized value
48174 [TODO] [pugs] Store undef for consistency
48172 [TODO] [pugs] Getting nonexistent value, exception or undef?
48170 [TODO] [regex] Remove 'use of uninitialized value' issues in match.pmc
48168 [TODO] [regex] Implement init_pmc
48164 [TODO] [Tcl] Document the 

Re: r25810 - make error

2008-02-18 Thread Joshua McAdams
[snip]

 Am attaching my results for contrast.  Mine are achieved with the
 wrapper around Configure.pl which I posted on list earlier in
 thread.  Note that in mine 'ld' picks up the value passed via shell
 setting at step 'inter::progs'.

 This works for me, but may not be relevant to your problem.  I had to
 adopt this approach due to an abortive effort to build my own gcc-4.1
 on my iBook prior to joining the Parrot project.

I've attached my ld and ldflags trace too.  I used your ccc wrapper
and directly linked to gcc and g++ instead of going through the cc and
c++ links found on my system.  Other than the inclusion of
/opt/local/lib twice, the thing that stands out the me is that the
config seems to be targeting 'init::defaults = env
MACOSX_DEPLOYMENT_TARGET=10.3 cc' and I'm on 10.4.11 of the OS.  Do
you think that matters?
init::manifest = 
init::defaults = env MACOSX_DEPLOYMENT_TARGET=10.3 cc
init::install = env MACOSX_DEPLOYMENT_TARGET=10.3 cc
init::miniparrot = env MACOSX_DEPLOYMENT_TARGET=10.3 cc
init::hints = c++
init::headers = c++
inter::progs = g++-4.0
inter::make = g++-4.0
inter::lex = g++-4.0
inter::yacc = g++-4.0
auto::gcc = g++-4.0
auto::backtrace = g++-4.0
auto::fink = g++-4.0
auto::msvc = g++-4.0
auto::attributes = g++-4.0
auto::warnings = g++-4.0
init::optimize = g++-4.0
inter::shlibs = g++-4.0
inter::libparrot = g++-4.0
inter::charset = g++-4.0
inter::encoding = g++-4.0
inter::types = g++-4.0
auto::ops = g++-4.0
auto::pmc = g++-4.0
auto::alignptrs = g++-4.0
auto::headers = g++-4.0
auto::sizes = g++-4.0
auto::byteorder = g++-4.0
auto::va_ptr = g++-4.0
auto::pack = g++-4.0
auto::format = g++-4.0
auto::isreg = g++-4.0
auto::arch = g++-4.0
auto::jit = g++-4.0
auto::cpu = g++-4.0
auto::funcptr = g++-4.0
auto::cgoto = g++-4.0
auto::inline = g++-4.0
auto::gc = g++-4.0
auto::memalign = g++-4.0
auto::signal = g++-4.0
auto::socklen_t = g++-4.0
auto::env = g++-4.0
auto::aio = g++-4.0
auto::gmp = g++-4.0
auto::readline = g++-4.0
auto::gdbm = g++-4.0
auto::snprintf = g++-4.0
auto::perldoc = g++-4.0
auto::python = g++-4.0
auto::m4 = g++-4.0
auto::ctags = g++-4.0
auto::revision = g++-4.0
gen::icu = g++-4.0
gen::config_h = g++-4.0
gen::core_pmcs = g++-4.0
gen::parrot_include = g++-4.0
gen::languages = g++-4.0
gen::makefiles = g++-4.0
gen::platform = g++-4.0
gen::config_pm = g++-4.0
init::manifest = 
init::defaults = -L/opt/local/lib -L/usr/local/lib
init::install = -L/opt/local/lib -L/usr/local/lib
init::miniparrot = -L/opt/local/lib -L/usr/local/lib
init::hints = -L/opt/local/lib -L/usr/local/lib 
-L/Users/joshua/Development/parrot/blib/lib -flat_namespace 
init::headers = -L/opt/local/lib -L/usr/local/lib 
-L/Users/joshua/Development/parrot/blib/lib -flat_namespace 
inter::progs = -L/opt/local/lib -L/usr/local/lib 
-L/Users/joshua/Development/parrot/blib/lib -flat_namespace 
inter::make = -L/opt/local/lib -L/usr/local/lib 
-L/Users/joshua/Development/parrot/blib/lib -flat_namespace 
inter::lex = -L/opt/local/lib -L/usr/local/lib 
-L/Users/joshua/Development/parrot/blib/lib -flat_namespace 
inter::yacc = -L/opt/local/lib -L/usr/local/lib 
-L/Users/joshua/Development/parrot/blib/lib -flat_namespace 
auto::gcc = -L/opt/local/lib -L/usr/local/lib 
-L/Users/joshua/Development/parrot/blib/lib -flat_namespace 
auto::backtrace = -L/opt/local/lib -L/usr/local/lib 
-L/Users/joshua/Development/parrot/blib/lib -flat_namespace 
auto::fink = -L/opt/local/lib -L/usr/local/lib 
-L/Users/joshua/Development/parrot/blib/lib -flat_namespace 
auto::msvc = -L/opt/local/lib -L/usr/local/lib 
-L/Users/joshua/Development/parrot/blib/lib -flat_namespace 
auto::attributes = -L/opt/local/lib -L/usr/local/lib 
-L/Users/joshua/Development/parrot/blib/lib -flat_namespace 
auto::warnings = -L/opt/local/lib -L/usr/local/lib 
-L/Users/joshua/Development/parrot/blib/lib -flat_namespace 
init::optimize = -L/opt/local/lib -L/usr/local/lib 
-L/Users/joshua/Development/parrot/blib/lib -flat_namespace 
inter::shlibs = -L/opt/local/lib -L/usr/local/lib 
-L/Users/joshua/Development/parrot/blib/lib -flat_namespace 
inter::libparrot = -L/opt/local/lib -L/usr/local/lib 
-L/Users/joshua/Development/parrot/blib/lib -flat_namespace 
inter::charset = -L/opt/local/lib -L/usr/local/lib 
-L/Users/joshua/Development/parrot/blib/lib -flat_namespace 
inter::encoding = -L/opt/local/lib -L/usr/local/lib 
-L/Users/joshua/Development/parrot/blib/lib -flat_namespace 
inter::types = -L/opt/local/lib -L/usr/local/lib 
-L/Users/joshua/Development/parrot/blib/lib -flat_namespace 
auto::ops = -L/opt/local/lib -L/usr/local/lib 
-L/Users/joshua/Development/parrot/blib/lib -flat_namespace 
auto::pmc = -L/opt/local/lib -L/usr/local/lib 
-L/Users/joshua/Development/parrot/blib/lib -flat_namespace 
auto::alignptrs = -L/opt/local/lib -L/usr/local/lib 
-L/Users/joshua/Development/parrot/blib/lib -flat_namespace 
auto::headers = -L/opt/local/lib -L/usr/local/lib 
-L/Users/joshua/Development/parrot/blib/lib -flat_namespace 
auto::sizes = -L/opt/local/lib 

Re: r25810 - make error

2008-02-18 Thread Andy Dougherty
On Sun, 17 Feb 2008, chromatic wrote:

 On Sunday 17 February 2008 17:13:37 James E Keenan wrote:
 
   /usr/bin/ld: multiple definitions of symbol _Parrot_conv_i2_i
   myops_ops.o definition of _Parrot_conv_i2_i in section (__TEXT,__text)
   /usr/local/lib/libparrot.dylib(core_ops.o) definition of
   _Parrot_conv_i2_i /usr/bin/ld: multiple definitions of symbol
   _Parrot_conv_u2_i
   myops_ops.o definition of _Parrot_conv_u2_i in section (__TEXT,__text)
   /usr/local/lib/libparrot.dylib(core_ops.o) definition of
   _Parrot_conv_u2_i collect2: ld returned 1 exit status
 
  This looks suspicious.
 
 Compiling with gcc and linking with g++ looks more suspicious to me.  Is that 
 really how things work on Darwin?
 
 I'm fairly certain C and C++ have very different ABIs.

It should be fine.  In general, some of the libraries to be linked with 
parrot are written in C (e.g. -lparrot itself, most system libraries, 
etc.) but others may have been written in C++ (e.g. icu).  Using C++ as a 
linker seems the most robust way to deal with this situation.  I'd expect 
in the future that more and more extensions will come to rely on C++ 
libraries, so this will become more of an issue in the future than it is 
now.

The problem here looks relatively simple:  The symbol _Parrot_conv_i2_i
is defined in two places: myops_ops.o and 
/usr/local/lib/libparrot.dylib(core_ops.o)

That '/usr/local/lib/libparrot.dylib' shouldn't be there.  It's probably a 
remnant of an old installation.  Uninstalling the old libparrot should fix 
this problem.

This is also a good example of why parrot shouldn't be installed at 
present, and why I think attempts to make it easy to install (e.g via yum, 
macports, rpm, apt-get, etc.) are not a good idea at this time.

-- 
Andy Dougherty  [EMAIL PROTECTED]


Re: r25810 - make error

2008-02-18 Thread James E Keenan

Joshua McAdams wrote:

[snip]





I've attached my ld and ldflags trace too.  I used your ccc wrapper
and directly linked to gcc and g++ instead of going through the cc and
c++ links found on my system.  Other than the inclusion of
/opt/local/lib twice, the thing that stands out the me is that the
config seems to be targeting 'init::defaults = env
MACOSX_DEPLOYMENT_TARGET=10.3 cc' and I'm on 10.4.11 of the OS.  Do
you think that matters?


It should not.  Allison was having me experiment with some things a 
couple of weeks back, and, IIRC, we determined that for our purposes 
'10.3' was the correct value for MACOSX_DEPLOYMENT_TARGET for 10.3 and 
10.4.  I, too, am on 10.4.11.


But see Andy Dougherty's post in this thread.


Re: r25810 - make error

2008-02-18 Thread Joshua McAdams
 That '/usr/local/lib/libparrot.dylib' shouldn't be there.  It's probably a
 remnant of an old installation.  Uninstalling the old libparrot should fix
 this problem.

I think I did install a version of parrot from macports and then
uninstalled it... must not have cleaned up enough.  Regardless,
deleting /usr/local/lib/libparrot.dylib solved the problem and I now
have a compiling and [almost] test-passing version of parrot on my
system.  Thanks everyone.

BTW, here are the failures that I'm getting:

Test Summary Report
---
t/postconfigure/05-trace.t (Wstat: 512 Tests: 40 Failed: 2)
  Failed tests:  7, 9
  Non-zero exit status: 2
t/src/intlist.t(Wstat: 1024 Tests: 4 Failed: 4)
  Failed tests:  1-4
  Non-zero exit status: 4
t/src/io.t (Wstat: 768 Tests: 20 Failed: 3)
  Failed tests:  16-17, 19
  Non-zero exit status: 3
t/perl/Parrot_IO.t (Wstat: 256 Tests: 57 Failed: 1)
  Failed test:  52
  Non-zero exit status: 1
t/examples/library.t   (Wstat: 256 Tests: 4 Failed: 1)
  Failed test:  3
  Non-zero exit status: 1
Files=554, Tests=11167, 1568 wallclock secs (10.36 usr  9.70 sys +
581.23 cusr 230.30 csys = 831.59 CPU)
Result: FAIL
Failed 5/554 test programs. 11/11167 subtests failed.
make: *** [test] Error 255


Re: r25810 - make error

2008-02-18 Thread James E Keenan

Andy Dougherty wrote:


The problem here looks relatively simple:  The symbol _Parrot_conv_i2_i
is defined in two places: myops_ops.o and 
/usr/local/lib/libparrot.dylib(core_ops.o)


That '/usr/local/lib/libparrot.dylib' shouldn't be there.  It's probably a 
remnant of an old installation.  Uninstalling the old libparrot should fix 
this problem.





Assuming someone needed to do this uninstall, what's the best way to do it?

Thanks.

kid51


Re: r25810 - make error

2008-02-18 Thread James E Keenan

Joshua McAdams wrote:

I think I did install a version of parrot from macports and then
uninstalled it... must not have cleaned up enough.  Regardless,
deleting /usr/local/lib/libparrot.dylib solved the problem and I now
have a compiling and [almost] test-passing version of parrot on my
system.  Thanks everyone.



Hurray!



BTW, here are the failures that I'm getting:

Test Summary Report
---
t/postconfigure/05-trace.t (Wstat: 512 Tests: 40 Failed: 2)
  Failed tests:  7, 9
  Non-zero exit status: 2


I suspect a 'make realclean' should fix this.



t/src/intlist.t(Wstat: 1024 Tests: 4 Failed: 4)
  Failed tests:  1-4
  Non-zero exit status: 4


I applied a patch over the weekend which fixed a failure in this test. 
Are you working from HEAD?



t/src/io.t (Wstat: 768 Tests: 20 Failed: 3)
  Failed tests:  16-17, 19
  Non-zero exit status: 3
t/perl/Parrot_IO.t (Wstat: 256 Tests: 57 Failed: 1)
  Failed test:  52
  Non-zero exit status: 1
t/examples/library.t   (Wstat: 256 Tests: 4 Failed: 1)
  Failed test:  3
  Non-zero exit status: 1


Hmm, haven't seen errors in these tests lately.


Re: r25810 - make error

2008-02-18 Thread Andy Lester


On Feb 18, 2008, at 11:04 AM, James E Keenan wrote:


I suspect a 'make realclean' should fix this.



or make distclean, which is even more thorough than realclean.

--
Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance






Re: r25810 - make error

2008-02-18 Thread James E Keenan

Joshua McAdams wrote:


t/examples/library.t   (Wstat: 256 Tests: 4 Failed: 1)
  Failed test:  3
  Non-zero exit status: 1



I'm getting this failure too.  But I think it's a side effect from 
Coke's work on .pir files this weekend, as he's marked it as a 'fail'.


Coke:  Will you be able to fix this before release?

kid51


Re: r25810 - make error

2008-02-18 Thread chromatic
On Monday 18 February 2008 06:43:22 Andy Dougherty wrote:

 The problem here looks relatively simple:  The symbol _Parrot_conv_i2_i
 is defined in two places: myops_ops.o and
 /usr/local/lib/libparrot.dylib(core_ops.o)

 That '/usr/local/lib/libparrot.dylib' shouldn't be there.  It's probably a
 remnant of an old installation.  Uninstalling the old libparrot should fix
 this problem.

Ah, you're right.

 This is also a good example of why parrot shouldn't be installed at
 present, and why I think attempts to make it easy to install (e.g via yum,
 macports, rpm, apt-get, etc.) are not a good idea at this time.

We have to fix it eventually.  What kind of solution do you think is best?  
Will re-arranging the order of library include paths to the linker fix it, or 
is there something even better?

-- c


Re: r25810 - make error

2008-02-18 Thread Andy Dougherty
On Mon, 18 Feb 2008, James E Keenan wrote:

 Andy Dougherty wrote:
 
  The problem here looks relatively simple:  The symbol _Parrot_conv_i2_i
  is defined in two places: myops_ops.o and
  /usr/local/lib/libparrot.dylib(core_ops.o)

  That '/usr/local/lib/libparrot.dylib' shouldn't be there.  It's probably a
  remnant of an old installation.  Uninstalling the old libparrot should fix
  this problem.

 Assuming someone needed to do this uninstall, what's the best way to do it?

I don't know.  In general, if you install something via some sort of 
package manager, then it is usually best to use the same package manager 
to uninstall.  Otherwise, the package manager may get confused.  If you 
installed by hand (e.g. with parrot's make reallyinstall, then you have 
to uninstall by hand, since parrot doesn't have a 'make uninstall' target. 
The original poster mentioned something called 'macports', but I don't 
know anything about it.

A simple 'rm /usr/local/lib/libparrot.dylib' will obviously remove the 
file in question, but will leave behind any other files installed by 
parrot.  Other than by looking at file and directory names and timestamps, 
I don't know any way to identify parrot stuff that might have been 
installed at the same time.

-- 
Andy Dougherty  [EMAIL PROTECTED]


Re: [RT#48260] Documentation missing]

2008-02-18 Thread ajr
Two straight comment patches seeking commitment: currently attached.

(to exception.c and headers.c)


--

Email and shopping with the feelgood factor!
55% of income to good causes. http://www.ippimail.comIndex: src/exceptions.c
===
--- src/exceptions.c	(revision 25797)
+++ src/exceptions.c	(working copy)
@@ -180,7 +180,9 @@
 
 =item Cstatic void run_cleanup_action
 
-RT#48260: Not yet documented!!!
+Takes an interpreter name and a stack pointer.
+Runs the action subroutine with an INTVAL arg of 0.
+Used in Parrot_push_action.
 
 =cut
 
@@ -762,7 +764,10 @@
 
 =item Cvoid destroy_exception_list
 
-RT#48260: Not yet documented!!!
+Takes an interpreter name.
+Destroys (frees the memory allocated to) the exception buffers list and the
+associated exceptions free list for the specified interpreter.
+Uses really_destroy_exception_list (see below) to do the job.
 
 =cut
 
@@ -779,7 +784,9 @@
 
 =item Cvoid really_destroy_exception_list
 
-RT#48260: Not yet documented!!!
+Takes a pointer to an exception (which had better be the last one in the list).
+Walks back through the list, freeing the memory of each one, until NULL encountered.
+Used by destroy_exception_list.
 
 =cut
 
@@ -1000,7 +1007,8 @@
 
 =item Cvoid Parrot_print_backtrace
 
-RT#48260: Not yet documented!!!
+Display the primrose path to disaster, (the stack frames leading up to the abort).
+Used by Parrot_confess.
 
 =cut
 Index: src/headers.c
===
--- src/headers.c	(revision 25797)
+++ src/headers.c	(working copy)
@@ -726,7 +726,9 @@
 
 =item Cstatic void free_pool
 
-RT#48260: Not yet documented!!!
+Takes a pointer to a pool.
+Loops backwards through it, freeing all arenas and their associated objects.
+Used by sweep_cb_buf, sweep_cb_pmc,  Parrot_destroy_header_pools
 
 =cut
 
@@ -750,7 +752,11 @@
 
 =item Cstatic int sweep_cb_buf
 
-RT#48260: Not yet documented!!!
+Take an interpreter name, pointer to an object pool, an unused argument, 
+and a pointer to a boolean.
+Garbage-collect unused memory from the pool.
+Used by Parrot_destroy_header_pools.
+Returns 0.
 
 =cut
 
@@ -781,7 +787,10 @@
 
 =item Cstatic int sweep_cb_pmc
 
-RT#48260: Not yet documented!!!
+Take an interpreter name and a pointer to a pool.
+Remove dead objects from the pool and free the memory.
+Returns 0.
+Used by sweep_cb_buf.
 
 =cut
 
@@ -840,7 +849,10 @@
 
 =item Cstatic void fix_pmc_syncs
 
-RT#48260: Not yet documented!!!
+Takes pointers to an interpreter and a pool.
+Goes through the arena looking for shared objects and transferring 
+them to the interpreter, so none get orphaned.
+Used by Parrot_merge_header_pools.
 
 =cut
 

Re: r25810 - make error

2008-02-18 Thread Andy Dougherty
On Mon, 18 Feb 2008, chromatic wrote:

 On Monday 18 February 2008 06:43:22 Andy Dougherty wrote:
 
  The problem here looks relatively simple:  The symbol _Parrot_conv_i2_i
  is defined in two places: myops_ops.o and
  /usr/local/lib/libparrot.dylib(core_ops.o)
 
  That '/usr/local/lib/libparrot.dylib' shouldn't be there.  It's probably a
  remnant of an old installation.  Uninstalling the old libparrot should fix
  this problem.
 
 Ah, you're right.
 
  This is also a good example of why parrot shouldn't be installed at
  present, and why I think attempts to make it easy to install (e.g via yum,
  macports, rpm, apt-get, etc.) are not a good idea at this time.
 
 We have to fix it eventually.  What kind of solution do you think is best?  
 Will re-arranging the order of library include paths to the linker fix it, or 
 is there something even better?

I think there are two broad issues, the first primarily aimed at end 
users, and the second primarily aimed at developers.

First, installing libparrot.so into any prominent public directory (such
as /usr/local/lib) makes it available for others to use, and can even
reasonably be seen as inviting others to use it, no matter what version
number you put on it or what caveats you stick in the documentation.
However, I don't think libparrot's ABI is anywhere near remotely stable
enough for this to be a wise course of action.  libparrot currently
exports thousands and thousands of symbols that it probably shouldn't, and
there are whole subsystems waiting to be implemented.  It is reasonable
to expect that subsequent releases of parrot over the coming years will
repeatedly break binary compatibility in big ways.  If people want to
install a shared libparrot.so anyway, some sort of mechanism to support
simultaneous installation of different versions will be needed to avoid
breaking everything that relies on libparrot.so.

Second, there is a difficulty building and testing a development
version of parrot if you already have a shared libparrot.so in a
directory that is part of the standard load path.  To be specific:
Suppose you have installed libparrot.so into /usr/lib/libparrot.so,
and you are now building a fresh copy of parrot in $HOME/src.
How can you ensure that during building and testing that the new
$HOME/src/parrot executable picks up the new version of the shared
library in $HOME/src/parrot/lib/blib/libparrot.so, and doesn't pick
up /usr/lib/libparrot.so?  The answer is it depends on your operating
system, and I'm not sure there's a guaranteed way to do it on every
operating system.

We face the same issue with perl5's shared libperl.so, so I'll share
some relevant snippets of that documentation here.  Here is the relevant
passage from perl5's INSTALL document.  (This only applies to Unix
systems.  I don't know the equivalent Windows incantations.)

There is also an potential problem with the shared perl library if you
want to have more than one flavor of the same version of perl (e.g.
with and without -DDEBUGGING).  For example, suppose you build and
install a standard Perl 5.10.0 with a shared library.  Then, suppose
you try to build Perl 5.10.0 with -DDEBUGGING enabled, but everything
else the same, including all the installation directories.  How can
you ensure that your newly built perl will link with your newly built
libperl.so.8 rather with the installed libperl.so.8?  The answer
is that you might not be able to.  The installation directory is
encoded in the perl binary with the LD_RUN_PATH environment variable
(or equivalent ld command-line option).  On Solaris, you can override
that with LD_LIBRARY_PATH; on Linux, you can only override at runtime
via LD_PRELOAD, specifying the exact filename you wish to be used;
and on Digital Unix, you can override LD_LIBRARY_PATH by setting the
_RLD_ROOT environment variable to point to the perl build directory.

In other words, it is generally not a good idea to try to build a
perl with a shared library if $archlib/CORE/$libperl already exists
from a previous build.

A good workaround is to specify a different directory for the
architecture-dependent library for your -DDEBUGGING version of perl.
You can do this by changing all the *archlib* variables in config.sh to
point to your new architecture-dependent library.

Also in the perl5 source tree, in the file Porting/pumpkin.pod,
(available with 'perldoc pumpkin' on most systems) I have the following
musings on a this topic:

=head2 Shared libperl.so location

Why isn't the shared libperl.so installed in /usr/lib/ along with
all the other shared libraries?  Instead, it is installed in
$archlib, which is typically something like

/usr/local/lib/perl5/archname/5.00404

and is architecture- and version-specific.

The basic reason why a shared libperl.so gets put in $archlib is
so that you can have more than one version of perl on the 

when(), smart matching, and

2008-02-18 Thread brian d foy
This is actually a bug from Perl 5, but Perl 5's given  is supposed to
act like Perl 6's given. The long post is in use.perl:

   http://use.perl.org/~brian_d_foy/journal/35682

I was playing with a when condition that used a logical operator to see
if the topic was both an element of an array and a key of a hash:

   given( $foo ) {
  when( @array  %hash ) { ... }
  }

I thought that should acting like two smart matches:

   given( $foo ) {
  when(  (@array ~~ $_)  (%hash ~~ $_) ) { ... }
  }

In Perl 5.10.0, it's acting like one smart match, which I'm pretty sure
is a bug:

   given( $foo ) {
  when(  ( scalar @array and scalar %hash ) ~~ $_) ) { ... }
  }

Perl 5's perlsyn talks about smart matching with logical operators, but
I don't see that in S04 (or anywhere else). Knowing what is supposed to
happen in Perl 6 would help me fix the Perl 5.10 version. 

So what would Perl 6 do (WWP6D) ? :)


[perl #50968] [BUG] trouble with perl 6 grammars and capturing '.*?'

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


in rakudo's perl6doc parser
(languages/perl6/src/utils/perl6doc/grammar.pg), i have the following:

  token pod_delimited_block {
  ^^ '=' .unsp? 'begin' .ws block_type pod_option* \n
  .*?
  ^^ '=' .unsp? 'end'   .ws $block_type \N*
  {*}
  }

i'd like to capture '.*?' either via an alias or better, via a
subrule. however, modifying the grammar to something that will
capture, like
  (.*?)
or
  $body=[.*?]
or
  some_subrule

causes the match to fail. smells like a pge bug to me.
~jerry


Re: [perl #50708] segfault in pbc_merge

2008-02-18 Thread chromatic
On Sunday 10 February 2008 21:56:06 Ryan Voots wrote:

 When calling pbc_merge outside of the parrot root I encountered a
 segfault because pbc_merge cannot find lua_group.so, when run inside the
 parrot root it is able to find the .so inside the runtime directory.

 a simple test case of this is to compile these two files to pbc's and
 then use pbc_merge on them outside the parrot root.  I would think
 either an option to pbc_merge to tell it where to find the parrot
 runtime, or an envrionment variable might be appropriate, but a check
 should be made that it can find the needed files to merge and print an
 error when not found

I can't reproduce this as of r25855; can you provide a backtrace from 
pbc_merge?

-- c


Re: [RT#48260] Documentation missing]

2008-02-18 Thread chromatic
On Monday 18 February 2008 07:38:57 [EMAIL PROTECTED] wrote:

 Two straight comment patches seeking commitment: currently attached.

 (to exception.c and headers.c)

Thanks, applied with some tweaks as r25858.

-- c


Re: [perl #50938] [PATCH] Remove instantiate opcode

2008-02-18 Thread chromatic
On Sunday 17 February 2008 07:01:00 Paul Cochrane wrote:

 the attached patch removes the instantiate opcode (see RT#48022).  The
 patch also removes three tests in t/pmc/integer.t, which is something
 I'm not 100% sure about.  After I'd tried to update the tests to use
 new instead of instantiate (but without total success), and after
 an off-list discussion with kjs++, I got the feeling that the three
 tests were basically testing the instantiate opcode and so since the
 opcode is no longer there, that the tests should be removed.  However,
 since I'm somewhat loath to remove tests it was decided it would be
 best to ask the list.  So, yeah, what are people's opinions?

+1

-- c


Re: [perl #50942] [PATCH] Parrot-SDL-TTF font color

2008-02-18 Thread chromatic
On Sunday 17 February 2008 10:45:21 Richard Hainsworth wrote:

 parrot_dir/examples/sdl/blue_font.pir
 works but produces random colors even though it should be blue
 while .../blue_rect.pir gives a solid blue

 The native SDL routine for font needs to have a color integer (as for
 rectangles) not a color pmc (as currently). The signature for the font
 rendering routines needs to be changed too.

It doesn't really take an integer though.  It takes a struct (not a pointer to 
a struct) composed of four unsigned integers:

typedef struct SDL_Color {
Uint8 r;
Uint8 g;
Uint8 b;
Uint8 unused;
} SDL_Color;

SDL_Surface * SDLCALL TTF_RenderText_Solid(TTF_Font *font,
const char *text, SDL_Color fg);

Passing a pointer is definitely wrong, but it looks to me like we should 
review the shifts of the individual components of the integer.  That makes me 
wonder if there's an endianness problem somewhere.

 Files changed:
 parrot_dir/runtime/parrot/library/SDL.pir
 - change to _init_ttf
 - change to signatures for TTF_Render* functions.

 parrot_dir/runtime/parrot/library/SDL/Font.pir
 - change render_text method

Can you send these as unified diffs next time?  They're difficult to apply 
this way.

-- c


Re: [perl #50908] [CAGE] gcc -Werror=declaration-after-statement

2008-02-18 Thread chromatic
On Friday 15 February 2008 11:35:04 Will Coleda wrote:

 According to http://gcc.gnu.org/onlinedocs/index.html#DIR, looks like
 as of gcc 4.2.3 (but not 4.1.2), we can use the following option to
 gcc:

 -Werror=declaration-after-statement

 To help enforce our C89 compliance by causing this particular style to
 become an error instead of just a warning. This should be added as a
 default to the build options if a recent enough version of gcc is
 available.

Works for me with gcc 4.1.3; I think this is closeable.

-- c


Remove Test::Simple from Repository

2008-02-18 Thread chromatic
If we're relying on at least Perl 5.8.0 to build Parrot, can we rely on the 
presence of Test::Simple in the installed Perl?  It's a core module as far 
back as 5.8.0.

-- c


Re: [perl #50908] [CAGE] gcc -Werror=declaration-after-statement

2008-02-18 Thread Will Coleda
On Feb 18, 2008 8:39 PM, chromatic [EMAIL PROTECTED] wrote:
 On Friday 15 February 2008 11:35:04 Will Coleda wrote:

  According to http://gcc.gnu.org/onlinedocs/index.html#DIR, looks like
  as of gcc 4.2.3 (but not 4.1.2), we can use the following option to
  gcc:
 
  -Werror=declaration-after-statement
 
  To help enforce our C89 compliance by causing this particular style to
  become an error instead of just a warning. This should be added as a
  default to the build options if a recent enough version of gcc is
  available.

 Works for me with gcc 4.1.3; I think this is closeable.

 -- c



It's not checked in anywhere, though. We're just using

-Wdeclaration-after-statement

not

-Werror=declaration-after-statement

-- 
Will Coke Coleda


Re: Remove Test::Simple from Repository

2008-02-18 Thread jerry gay
On Feb 18, 2008 5:41 PM, chromatic [EMAIL PROTECTED] wrote:
 If we're relying on at least Perl 5.8.0 to build Parrot, can we rely on the
 presence of Test::Simple in the installed Perl?  It's a core module as far
 back as 5.8.0.

+1
~jerry


Re: Remove Test::Simple from Repository

2008-02-18 Thread James E Keenan

chromatic wrote:
If we're relying on at least Perl 5.8.0 to build Parrot, can we rely on the 
presence of Test::Simple in the installed Perl?  


Yes.  remove++ to all 3 packages in lib/Test/


Re: when(), smart matching, and

2008-02-18 Thread Larry Wall
On Mon, Feb 18, 2008 at 04:22:57PM -0600, brian d foy wrote:
: This is actually a bug from Perl 5, but Perl 5's given  is supposed to
: act like Perl 6's given.

Unfortunately, supposed to is pretty far off the mark in this case...

Perl 5's switch differs from Perl 6's in several significant ways.
First, it copied an old design when smartmatching was symmetrical, which
it hasn't been for some time in Perl 6.  The design of how arrays match
has changed as well.  (They match as a whole in Perl 6, and you must use
any(@array) to match against the individual array elements.  Finally,
there are just quite a few things that cannot be done the same way in
Perl 5 because of the fundamentally different way it parses and treats
various object references in scalar context.

: The long post is in use.perl:
: 
:http://use.perl.org/~brian_d_foy/journal/35682
: 
: I was playing with a when condition that used a logical operator to see
: if the topic was both an element of an array and a key of a hash:
: 
:given( $foo ) {
:   when( @array  %hash ) { ... }
:   }
: 
: I thought that should acting like two smart matches:
: 
:given( $foo ) {
:   when(  (@array ~~ $_)  (%hash ~~ $_) ) { ... }
:   }
: 
: In Perl 5.10.0, it's acting like one smart match, which I'm pretty sure
: is a bug:
: 
:given( $foo ) {
:   when(  ( scalar @array and scalar %hash ) ~~ $_) ) { ... }
:   }

which is exactly what I would expect from Perl 5, unless when is
really a very intelligent macro of some sort.  As far as I know
Perl 5's when has no clue how to distribute a smartmatch.

: Perl 5's perlsyn talks about smart matching with logical operators, but
: I don't see that in S04 (or anywhere else). Knowing what is supposed to
: happen in Perl 6 would help me fix the Perl 5.10 version. 
: 
: So what would Perl 6 do (WWP6D) ? :)

Certainly nothing like you'd expect from the P5 implementation.  :)

To see the exact semantics of smartmatching in P6, I highly recommend
the section on Smart Matching in S03.

To write what you want there, you'd need something like:

when any(@array)  any(%hash.keys)  {...}

Actually, you might just get away with:

when %hash  any(@array) {...}

There can be no corresponding operation in Perl 5 because %hash in
scalar context would not return the hash, but only its bucket count.
And, of course, there's no  infix for and junctional logic.
At best you could use

when (all(\%hash, any(@array))) {...}

assuming you've used something that pulls in Quantum::Superpositions
or Perl6::Junctions.

But even in Perl 6,  or and is not going to autothread the
junction for you, which is why you need  or all() to distribute the
~~ if you don't do it the explicit way by distributing $_ yourself:

when %hash.:exists{$_} and @array.any ~~ $_  {...}

Larry


Re: [perl #50886] Re: [PATCH] fixed unreachable code warnings after real_exception calls

2008-02-18 Thread chromatic
On Thursday 14 February 2008 21:25:35 Andrew Whitworth wrote:

 ..forgot the patch, again. I'll get better at this, i swear.

Thanks, applied with tweaks as r25863.

I removed the commented-out lines, for two reasons.  First, we stick with C89 
which doesn't allow C++-style comments.  Second, there's no reason to comment 
out code.  If we need to get it back, we can look in our revision control 
history.

There were also some tab characters and weird line endings, but that's a minor 
thing.

-- c


Re: when(), smart matching, and

2008-02-18 Thread brian d foy
In article [EMAIL PROTECTED], Larry Wall
[EMAIL PROTECTED] wrote:

 :given( $foo ) {
 :   when(  ( scalar @array and scalar %hash ) ~~ $_) ) { ... }
 :   }

 which is exactly what I would expect from Perl 5, unless when is
 really a very intelligent macro of some sort.  As far as I know
 Perl 5's when has no clue how to distribute a smartmatch.

Well, I don't think you'd expect that based on perlsyn, so it looks
like the docs need to change to match what it does. I think the idea in
P5 is seriously borken.

 To write what you want there, you'd need something like:
 
 when any(@array)  any(%hash.keys)  {...}

It's not that I want that, but I'm trying to figure out what happens
with the logical operators based on the P5 docs. I'm starting from the
syntax rules and finding out what I can do with them rather than
starting with a task and looking for a way to do it. My interest is how
I'm going to answer questions in front of a bunch of students who use
the rules in unexpected ways.

So, this isn't a Perl 6 issue, and I'll relay to the P5 folks that they
aren't even close, have no hope of being close, and that they'll have
to figure it out on their own. :)


Re: [perl #50776] myops alarm test failure

2008-02-18 Thread chromatic
On Wednesday 13 February 2008 01:47:49 Klaas-Jan Stol wrote:

 I still get this test failure, as shown below.
 (I checked in rt and saw that a patch was applied unrolling some loop in
 this test somewhere in June 2007.)

 kjs

 ===
 t/dynpmc/sub.ok
 t/dynpmc/subclass_with_pir_methodok
 t/dynoplibs/dan..ok
 t/dynoplibs/myopsok 6/10
 t/dynoplibs/myopsNOK 7/10# Failed test
 (t/dynoplibs/myops.t at line 148)
 # Exited with error code: 255
 # Received:
 # alarm
 # alarm
 # alarm
 # alarm
 #
 # Expected:
 # /alarm
 # alarm
 # alarm/
 #
 t/dynoplibs/myopsok 8/10# Looks like you failed
 1 test of 10.
 t/dynoplibs/myopsdubious
 Test returned status 1 (wstat 256, 0x100)
 DIED. FAILED test 7
 Failed 1/10 tests, 90.00% okay


Which platform and compiler?

-- c