Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
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
Replies are listed 'Best First'.
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 musing on the Monastery: (18)
As of 2015-07-07 17:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (92 votes), past polls