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

Let me first start by saying I don't know anything about the perl programming language. Really, my only experience is with ppm in windows and now that I'm using linux i have used cpan. So basically, downloading modules is the extent of my knowledge. I had to install a bunch of perl modules to get a certain program running. Now, the program runs but it doesn't work right... it always throws up an error,

"The DTB fails due to following error on standard error or unexpected +output on stdout: Can't locate auto/XML/DOM/BagOfTricks/autosplit.i +x in @INC (@INC contains: /usr/local/lib/perl5 /usr/local/share/perl5 + /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/per +l5 /usr/share/perl5 .) at /usr/local/share/perl5/AutoLoader.pm line 1 +81. at /usr/local/lib/perl5/XML/DOM/BagOfTricks.pm line 66.Can't loca +te auto/XML/DOM/BagOfTricks/autosplit.ix in @INC (@INC contains: /usr +/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5/vendor_perl /u +sr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5 .) at /usr +/local/share/perl5/AutoLoader.pm line 181. at /usr/local/lib/perl5/XM +L/DOM/BagOfTricks.pm line 66."
I've looked at that line of code to see if i can decipher some meaning but it's just too complex for a noob like me. I'm not even really sure what questions to ask. Can somebody please just point me in the right direction of how to solve this?

I'm running Fedora 21 and I have updated to perl 5.18.4

2019-10-21 Athanasius edited code tag placement to shorten long line.

Replies are listed 'Best First'.
Re: can't locate auto/*/autosplit.ix in @INC
by shmem (Chancellor) on Jan 07, 2015 at 20:55 UTC

    Let's read that. The file auto/XML/DOM/BagOfTricks/autosplit.ix is missing. This file (as per XML-DOM-BagOfTricks-0.05 on CPAN contains the following:

    # Index created by AutoSplit for blib/lib/XML/DOM/BagOfTricks.pm # (file acts as timestamp) 1;

    It is required by AutoLoader for XML::DOM::BagOfTricks. It should be located below any of the perl include paths stored in the array @INC, probably as /usr/lib/perl5/vendor_perl/auto/XML/DOM/BagOfTricks/autosplit.ix.

    How did you install XML::DOM::BagOfTricks? Did you build it yourself, or did you install it with Fedora's package manager, i.e. yum?

    If you installed that as a RPM, try rpm -ql <package_name> | grep autosplit where <package_name> is the name of the package. If the file doesn't appear, file a bug report.

    If you installed it yourself, check the location into which you installed that package, and make that location known to perl. You can do so by adding the line

    use lib 'path/where/package/is/installed';

    at the top of the program using this package.

    perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'
Re: can't locate auto/*/autosplit.ix in @INC
by marto (Cardinal) on Jan 07, 2015 at 20:50 UTC

    Further to our discussion in the chatterbox, we need more information.

    • How did you upgrade to 5.18.4?
    • How did you install these modules? If you are simply copying files around this isn't wise.
    • What is the output of cpan -D AutoSplit?
    • As above with AutoLoader.

    Remember the formatting advice when posting code and data.

      -I did not upgrade perl. somebody else did. I will ask when they come back around. I believe it was with yum.

      -most modules were installed with cpan. some modules were given to me through email. those were copied to a directory then  tar -xvf .....

      -Here is the output of AutoSplit:

      [nac2@localhost /]$ cpan -D AutoSplit Reading '/home/nac/.cpan/Metadata' Database was generated on Wed, 07 Jan 2015 12:41:02 GMT AutoSplit ---------------------------------------------------------------------- +--- (no description) S/SM/SMUELLER/AutoLoader-5.74.tar.gz /usr/local/share/perl5/AutoSplit.pm Installed: 1.06 CPAN: 1.06 up to date Steffen Mueller (SMUELLER) smueller@cpan.org

      -I did not upgrade perl. somebody else did. I will ask when they come back around. I believe it was with yum.

      -most modules were installed with cpan. some modules were given to me through email. those were copied to a directory then  tar -xvf .....

      -Here is the output of AutoSplit:

      [nac2@localhost /]$ cpan -D AutoSplit Reading '/home/nac/.cpan/Metadata' Database was generated on Wed, 07 Jan 2015 12:41:02 GMT AutoSplit ---------------------------------------------------------------------- +--- (no description) S/SM/SMUELLER/AutoLoader-5.74.tar.gz /usr/local/share/perl5/AutoSplit.pm Installed: 1.06 CPAN: 1.06 up to date Steffen Mueller (SMUELLER) smueller@cpan.org

      [nac2@localhost /]$ cpan -D AutoLoader Reading '/home/nac/.cpan/Metadata' Database was generated on Wed, 07 Jan 2015 12:41:02 GMT AutoLoader ---------------------------------------------------------------------- +--- (no description) S/SM/SMUELLER/AutoLoader-5.74.tar.gz /usr/local/share/perl5/AutoLoader.pm Installed: 5.74 CPAN: 5.74 up to date Steffen Mueller (SMUELLER) smueller@cpan.org

        Simply copying modules around isn't always going to work, if they are modules on CPAN use the cpan command to install them. cpan XML::DOM::BagOfTricks.

Re: can't locate auto/*/autosplit.ix in @INC
by siberia-man (Friar) on Oct 20, 2019 at 13:47 UTC
    I know this thread is old, and most probably the topic starter resolved his issue. A few minutes ago I've encountered the same issue trying some module downloaded from CPAN and unpacked locally. Assume the module has the name A::B::C and I put all its stuff in the local directory. The minimal test code is as follows. And, of course, I've got the issue.
    perl -MA::B::C -e1
    Quickly googling and learning what happens in AutoLoader.pm around the line mentioned in the error message, I was able to apply the workaround:
    mkdir -p auto/A/B/C echo '1;' > auto/A/B/C/autosplit.ix
    After this "patching" the following command works fine:
    perl -MA::B::C -e1