Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^4: New Module Announcement: Object::InsideOut

by jdhedden (Deacon)
on Nov 01, 2005 at 12:59 UTC ( #504579=note: print w/ replies, xml ) Need Help??


in reply to Re^3: New Module Announcement: Object::InsideOut
in thread New Module Announcement: Object::InsideOut

This looks to be a bug in Perl and may be related to this bug fix reported in perl585delta.pod:

Creating a new thread when weak references exist was buggy, and would often cause warnings at interpreter destruction time.
I'll investigate this further. Thanks.

Update:
After further investigation, I'm fairly sure this is a Perl bug. I could not reproduce the error you received under Cygwin or Solaris, but I did reproduce the warnings mentioned in the quote above. Further, 03-threads.t and 04-shared.t are nearly the same, and 04-shared.t successed for you. I can only recommend upgrading to Perl 5.8.7 if you can.

I'll make note of these sorts of issues in the bug section of the POD.


Remember: There's always one more bug.


Comment on Re^4: New Module Announcement: Object::InsideOut
Re^5: New Module Announcement: Object::InsideOut
by BrowserUk (Pope) on Nov 05, 2005 at 18:36 UTC

    I got around to installing 5.8.7 and attempted a rebuild of Object::InsideOut, and got the same failures as before, but this time noted that Makefile.pl produced a warning

    Locally installed version of Scalar::Util does not support weakened references. It is strongly recommended that you download the lastest +version of the Scalar-List-Utils module from CPAN, and attempt to remedy this deficiency. View this module's documentation for further information. Writing Makefile for Object::InsideOut

    I tracked that down to the XS version not having been built/distributed as a part of 5.8.7. So I pulled the CPAN version and attempted to build it, and it refused to attempt to build. That I tracked down to the can_cc() apparently returning false.

    Cutting a long story short(ish), harcoding the $do_xs var in the Scalar-List::Util Makefile to true, allowed me to cleanly build the xs version, making the isweak() and other XS-only functions available. With that, O::IO builds, tests and runs clean.

    Why can_cc() fails I cannot work out, but...if you get other failures on Win32, that would be a good starting point.

    I should probably raise a bug report against something, but what? AS 813, SL::U or MakeMaker?


    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
    "Science is about questioning the status quo. Questioning authority".
    In the absence of evidence, opinion is indistinguishable from prejudice.
      The problem comes from can_cc() using the 'cc' value in Config. Thus, the bug is in Module::Install - in inc/Module/Install/Can.pm. It needs to accommodate ExtUtils::FakeConfig, replacing "use Config;" with:
      eval { require Config_m; }; # ExtUtils::FakeConfig (+ ActivePerl) if ($@) { eval { require Config; }; # Everyone else }
      Then on your end, you'd need to install and configure ExtUtils::FakeConfig to have the correct 'cc' entry.

      Or you could just edit your Config.pm, and change the 'cc' entry to something that works.


      Remember: There's always one more bug.

        Thanks for the follow up.

        However, I'm not sure that editting Config.pm is going to do it, as it already appears to be correct.

        P:\test>perl -V Summary of my perl5 (revision 5 version 8 subversion 7) configuration: [...] Compiler: cc='cl', ccflags ='-nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D +_CONSOLE -DNO optimize='-MD -Zi -DNDEBUG -O1', [...] Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES USE_SITECUSTOMIZE PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS Locally applied patches: ActivePerl Build 813 [148120] Iin_load_module moved for compatibility with build 806 PerlEx hacks for CGI::Carp Less verbose ExtUtils::Install and Pod::Find instmodsh upgraded from ExtUtils-MakeMaker-6.25 24699 ICMP_UNREACHABLE handling in Net::Ping 21540 Fix backward-compatibility issues in if.pm Built under MSWin32 Compiled at Jun 6 2005 13:36:37 @INC: c:/Perl/lib c:/Perl/site/lib . P:\test>perl -V:cc cc='cl'; P:\test>perl -MConfig -le"print $Config{'cc'}" cl P:\test>cl Microsoft (R) 32-bit C/C++ Standard Compiler Version 13.00.9466 for 80 +x86 Copyright (C) Microsoft Corporation 1984-2001. All rights reserved. usage: cl [ option... ] filename... [ /link linkoption... ]

        And, without making any pretence to understand the whole E::MM / M::I convolutions, I cannot see why I should need to install a fake configuration, when the real one is correct?


        Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
        Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
        "Science is about questioning the status quo. Questioning authority".
        In the absence of evidence, opinion is indistinguishable from prejudice.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://504579]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (6)
As of 2014-10-25 12:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    For retirement, I am banking on:










    Results (143 votes), past polls