Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things
 
PerlMonks  

Installing Object::InsideOut fails with circular dependency on Math::Random::MT::Auto

by Lotus1 (Vicar)
on Jan 26, 2019 at 16:02 UTC ( [id://1229004]=perlquestion: print w/replies, xml ) Need Help??

Lotus1 has asked for the wisdom of the Perl Monks concerning the following question:

I spent all day yesterday reworking an old script that uses Data::GUID::Any only to find that I couldn't install Data::GUID::Any. The dependency that failed to install was Object::InsideOut due to a failed dependency Math::Random::MT::Auto. When I tried to install just Math::Random::MT::Auto CPAN detected Object::InsideOut as a dependency and launched the make process for that which failed again for the same reason. I'm using the cpan shell prompt. Yesterday I was using a version of Strawberry Perl that is a couple of years old so this morning I installed a fresh download of the Portable 64 bit version (v5.28.1) of Strawberry Perl and tried again. I'm getting the same results. I suppose I'll just try a different module to create GUIDs but it's a shame since I have created so many scripts that use it.

My questions are: Has anyone else seen this? Is there a workaround? Am I missing something obvious? Suggestions?

# ------------------- ---- ---- # ExtUtils::MakeMaker any 7.34 # Text::ParseWords any 3.30 # # === Build Requires === # # Module Want Have # ------------------- ---- ---- # ExtUtils::MakeMaker any 7.34 # # === Test Requires === # # Module Want Have # --------------------- ---- -------- # ExtUtils::MakeMaker any 7.34 # File::Spec any 3.75 # Scalar::Util any 1.50 # Storable any 3.11 # Test::Builder::Module any 1.302141 # Test::LeakTrace any 0.16 # Test::More 0.96 1.302141 # Tie::Array any 1.07 # base any 2.27 # lib any 0.64 # overload any 1.30 # # === Test Recommends === # # Module Want Have # ---------- -------- -------- # CPAN::Meta 2.120900 2.150010 # # === Runtime Requires === # # Module Want Have # ---------------------- ---- ---- # Carp any 1.50 # Exporter any 5.73 # List::SomeUtils::XS 0.54 0.58 # List::Util any 1.50 # Module::Implementation any 0.09 # strict any 1.11 # vars any 1.04 # warnings any 1.42 # t/00-report-prereqs.t .. ok t/ab.t ................. ok t/Functions.t .......... ok t/Import.t ............. ok t/pp-only.t ............ ok All tests successful. Files=5, Tests=45, 11 wallclock secs ( 0.31 usr + 0.23 sys = 0.55 CP +U) Result: PASS DROLSKY/List-SomeUtils-0.56.tar.gz C:\portable\c\bin\gmake.exe test -- OK Running make install Installing C:\portable\perl\site\lib\List\SomeUtils.pm Installing C:\portable\perl\site\lib\List\SomeUtils\PP.pm Appending installation info to C:\portable\perl\lib/perllocal.pod DROLSKY/List-SomeUtils-0.56.tar.gz C:\portable\c\bin\gmake.exe install UNINST=1 -- OK Running install for module 'List::UtilsBy' Fetching with LWP: http://www.cpan.org/authors/id/P/PE/PEVANS/List-UtilsBy-0.11.tar.gz Fetching with LWP: http://www.cpan.org/authors/id/P/PE/PEVANS/CHECKSUMS Checksum for C:\portable\cpan\sources\authors\id\P\PE\PEVANS\List-Util +sBy-0.11.t ar.gz ok Configuring P/PE/PEVANS/List-UtilsBy-0.11.tar.gz with Build.PL Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'List-UtilsBy' version '0.11' PEVANS/List-UtilsBy-0.11.tar.gz C:\portable\perl\bin\perl.exe Build.PL -- OK Running Build for P/PE/PEVANS/List-UtilsBy-0.11.tar.gz Building List-UtilsBy PEVANS/List-UtilsBy-0.11.tar.gz C:\portable\perl\bin\perl.exe ./Build -- OK Running Build test t\00use.t .................. ok t\01sort_by.t .............. ok t\02nsort_by.t ............. ok t\03max_min_by.t ........... ok t\05uniq_by.t .............. ok t\06partition_by.t ......... ok t\07count_by.t ............. ok t\08zip_by.t ............... ok t\09unzip_by.t ............. ok t\10extract_by.t ........... ok t\11weighted_shuffle_by.t .. ok t\12bundle_by.t ............ ok t\99pod.t .................. ok All tests successful. Files=13, Tests=102, 22 wallclock secs ( 0.09 usr + 0.56 sys = 0.66 +CPU) Result: PASS PEVANS/List-UtilsBy-0.11.tar.gz C:\portable\perl\bin\perl.exe ./Build test -- OK Running Build install Building List-UtilsBy Installing C:\portable\perl\site\lib\List\UtilsBy.pm PEVANS/List-UtilsBy-0.11.tar.gz C:\portable\perl\bin\perl.exe ./Build install --uninst 1 -- OK DROLSKY/List-AllUtils-0.15.tar.gz Has already been unwrapped into directory C:\portable\cpan\build\Lis +t-AllUtils -0.15-0 DROLSKY/List-AllUtils-0.15.tar.gz Has already been prepared Running make for D/DR/DROLSKY/List-AllUtils-0.15.tar.gz cp lib/List/AllUtils.pm blib\lib\List\AllUtils.pm DROLSKY/List-AllUtils-0.15.tar.gz C:\portable\c\bin\gmake.exe -- OK Running make test "C:\portable\perl\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Har +ness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib\lib', 'blib\ar +ch')" t/*. t t/00-report-prereqs.t .. # # Versions for all modules listed in MYMETA.json (including optional o +nes): # # === Configure Requires === # # Module Want Have # ------------------- ---- ---- # ExtUtils::MakeMaker any 7.34 # # === Build Requires === # # Module Want Have # ------------------- ---- ---- # ExtUtils::MakeMaker any 7.34 # # === Test Requires === # # Module Want Have # ------------------- ---- -------- # ExtUtils::MakeMaker any 7.34 # File::Spec any 3.75 # Sub::Util any 1.50 # Test::More 0.96 1.302141 # # === Test Recommends === # # Module Want Have # ---------- -------- -------- # CPAN::Meta 2.120900 2.150010 # # === Runtime Requires === # # Module Want Have # --------------- ---- ---- # Exporter any 5.73 # List::SomeUtils 0.56 0.56 # List::Util 1.45 1.50 # List::UtilsBy 0.11 0.11 # base any 2.27 # strict any 1.11 # warnings any 1.42 # t/00-report-prereqs.t .. ok t/basic.t .............. ok t/prototype.t .......... ok All tests successful. Files=3, Tests=25, 6 wallclock secs ( 0.06 usr + 0.19 sys = 0.25 CP +U) Result: PASS DROLSKY/List-AllUtils-0.15.tar.gz C:\portable\c\bin\gmake.exe test -- OK Running make install Installing C:\portable\perl\site\lib\List\AllUtils.pm Appending installation info to C:\portable\perl\lib/perllocal.pod DROLSKY/List-AllUtils-0.15.tar.gz C:\portable\c\bin\gmake.exe install UNINST=1 -- OK Running install for module 'Math::Random::MT::Auto' Fetching with LWP: http://www.cpan.org/authors/id/J/JD/JDHEDDEN/Math-Random-MT-Auto-6.23. +tar.gz Fetching with LWP: http://www.cpan.org/authors/id/J/JD/JDHEDDEN/CHECKSUMS Checksum for C:\portable\cpan\sources\authors\id\J\JD\JDHEDDEN\Math-Ra +ndom-MT-Au to-6.23.tar.gz ok Configuring J/JD/JDHEDDEN/Math-Random-MT-Auto-6.23.tar.gz with Makefil +e.PL Checking if your kit is complete... Looks good Warning: prerequisite Object::InsideOut 3.88 not found. Generating a gmake-style Makefile Writing Makefile for Math::Random::MT::Auto Writing MYMETA.yml and MYMETA.json JDHEDDEN/Math-Random-MT-Auto-6.23.tar.gz C:\portable\perl\bin\perl.exe Makefile.PL -- OK Running make for J/JD/JDHEDDEN/Math-Random-MT-Auto-6.23.tar.gz ---- Unsatisfied dependencies detected during ---- ---- JDHEDDEN/Math-Random-MT-Auto-6.23.tar.gz ---- Object::InsideOut [requires] Running install for module 'Object::InsideOut' Fetching with LWP: http://www.cpan.org/authors/id/J/JD/JDHEDDEN/Object-InsideOut-4.05.tar +.gz Checksum for C:\portable\cpan\sources\authors\id\J\JD\JDHEDDEN\Object- +InsideOut- 4.05.tar.gz ok Configuring J/JD/JDHEDDEN/Object-InsideOut-4.05.tar.gz with Build.PL Checking prerequisites... recommends: * Math::Random::MT::Auto is not installed * Test::Pod::Coverage is not installed * Want is not installed ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install the v +ersions of the modules indicated above before proceeding with this installatio +n Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'Object-InsideOut' version '4.05' JDHEDDEN/Object-InsideOut-4.05.tar.gz C:\portable\perl\bin\perl.exe Build.PL -- OK Running Build for J/JD/JDHEDDEN/Object-InsideOut-4.05.tar.gz ---- Unsatisfied dependencies detected during ---- ---- JDHEDDEN/Object-InsideOut-4.05.tar.gz ---- Math::Random::MT::Auto [requires,optional] Test::Pod::Coverage [requires,optional] Want [requires,optional] Building Object-InsideOut JDHEDDEN/Object-InsideOut-4.05.tar.gz C:\portable\perl\bin\perl.exe ./Build -- OK Running Build test t\00-load.t ................. 1/1 # Testing Object::InsideOut 4.05 t\00-load.t ................. ok t\01-basic.t ................ ok t\01a-basic.t ............... ok t\02-auto.t ................. ok t\03-threads.t .............. ok t\03a-threads.t ............. ok t\04-shared.t ............... ok t\04a-shared.t .............. ok t\05-require.t .............. ok t\05a-require.t ............. ok t\06-id.t ................... ok t\07-dump.t ................. ok t\07a-dump.t ................ ok t\08-access.t ............... ok t\09-chained.t .............. ok t\09a-chained.t ............. ok t\09b-chained.t ............. ok t\10-cumulative.t ........... ok t\10a-cumulative.t .......... ok t\10b-cumulative.t .......... ok t\11-coercion.t ............. ok t\12-super.t ................ ok t\13-pump.t ................. ok t\14-auto_cc.t .............. ok t\15-type.t ................. ok t\15a-type.t ................ ok t\16-return.t ............... ok t\17-dynamic.t .............. ok t\18-inherit.t .............. ok t\18a-inherit.t ............. ok t\19-storable.t ............. ok t\20-clone.t ................ ok t\21-import.t ............... ok t\22-import.t ............... ok t\23-weak.t ................. ok t\24-preproc.t .............. ok t\25-access.t ............... ok t\26-preinit.t .............. ok t\27-exception.t ............ ok t\28-lvalue.t ............... skipped: Needs Want v0.12 or later t\29-non_lvalue.t ........... skipped: Needs Want v0.12 or later t\30-all.t .................. ok t\31-attr.t ................. ok t\32-meta.t ................. ok t\33-hash_only.t ............ ok t\34-secure.t ............... skipped: Math::Random::MT::Auto not avai +lable t\34a-secure.t .............. skipped: Math::Random::MT::Auto not avai +lable t\35-add_class.t ............ ok t\36-require.t .............. ok t\37-class_perm.t ........... ok t\38-combined.t ............. ok t\39-fork.t ................. ok t\40-normalize.t ............ ok t\41-def.t .................. ok t\42-sh_obj.t ............... ok t\43-overload.t ............. ok t\44-data.t ................. ok t\45-unused.t ............... ok t\46-singleton.t ............ ok t\46a-singleton.t ........... ok t\47-sh_reuse.t ............. ok t\48-not_shared.t ........... ok t\49-delegators.t ........... ok t\49a-delegators-non-OIO.t .. ok t\50-active_defs.t .......... ok t\51-readonly.t ............. ok t\99-pod.t .................. skipped: Module maintainer tests All tests successful. Files=67, Tests=922, 105 wallclock secs ( 0.44 usr + 1.76 sys = 2.20 + CPU) Result: PASS JDHEDDEN/Object-InsideOut-4.05.tar.gz Tests succeeded but one dependency not OK (Math::Random::MT::Auto) JDHEDDEN/Object-InsideOut-4.05.tar.gz [dependencies] -- NA Stopping: 'install' failed for 'Object::InsideOut'. Failed during this command: JDHEDDEN/Object-InsideOut-4.05.tar.gz : make_test NO one depen +dency not OK (Math::Random::MT::Auto) cpan>

Replies are listed 'Best First'.
Re: Installing Object::InsideOut fails with circular dependency on Math::Random::MT::Auto
by Discipulus (Canon) on Jan 26, 2019 at 18:18 UTC
    Hello Lotus1,

    I've tested and installed succesfully both modules, but you can --force the install of one of them or both if needed.

    My cpan client output:

    L*

    UPDATE

    in strawberry perl 5.24 64bit portable I also installed with success Data::GUID::Any

    UDATE 2

    If you stll have your cpan output available look for some 500 errors: I hit one at some moment, maybe the cause of your previous insuccess:

    Fetching with LWP: http://cpan.strawberryperl.com/authors/id/D/DR/DROLSKY/List-SomeUtils- +0.56.tar.gz LWP failed with code[500] message[Can't connect to cpan.strawberryperl +.com:80] Warning: no success downloading 'C:\ulisse\perl5.24-64b\cpan\sources\a +uthors\id\D\DR\DROLSKY\List-SomeUtils-0.56.tar.gz. tmp5264'. Giving up on it.

    There are no rules, there are no thumbs..
    Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.

      I tried on a second machine and had the same circular requirement issue. Then tried again and it worked on both machines as well as on the original older version of Strawberry Perl. I don't know what could have changed but I'm happy that it worked and I can debug my script now. Thanks!

        cpan tries to install a module even if it can't install all of its prereqs. If its test suite passes, the module will be installed despite the missing dependency.

        I suspect the second go around was quieter because of a module that got installed despite a missing dependency on the first go around.

Re: Installing Object::InsideOut fails with circular dependency on Math::Random::MT::Auto
by Haarg (Priest) on Jan 27, 2019 at 14:22 UTC

    At the CPAN shell, run:

    o conf recommends_policy 0 o conf commit

      Thanks. The install eventually worked after multiple attempts so won't use this right now but I was interested to learn about the CPAN configuration options. I found a description of recommends_policy at Config Variables. I found the location of CPAN/config.pm that CPAN is using along with the current value of recommends_policy from the CPAN shell like shown below. This also gave me the command o conf help.

      cpan> o conf $CPAN::Config options from C:\Strawberry\perl\lib/CPAN/Config.pm: commit [Commit changes to disk] defaults [Reload defaults from disk] help [Short help about 'o conf' usage] init [Interactive setting of all options] applypatch [] auto_commit [1] build_cache [50] build_dir [C:\STRAWB~1\cpan\build] build_dir_reuse [0] [...] recommends_policy [1] scan_cache [atstart] shell [C:\Windows\system32\cmd.exe] [...]

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://1229004]
Approved by marto
Front-paged by Corion
help
Chatterbox?
and the web crawler heard nothing...

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

    No recent polls found