Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

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

by BrowserUk (Patriarch)
on Nov 05, 2005 at 18:36 UTC ( [id://506012]=note: print w/replies, xml ) Need Help??


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

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.

Replies are listed 'Best First'.
Re^6: New Module Announcement: Object::InsideOut
by jdhedden (Deacon) on Nov 08, 2005 at 20:26 UTC
    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
Domain Nodelet?
Node Status?
node history
Node Type: note [id://506012]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (5)
As of 2024-03-19 08:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found