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

INSTALLSCRIPT does not appear to be working as expected. You can see from the hilighted line below that I'm expecting scripts to wind up in /home/perl/lib/x86_64-bin, but they're going into /home/perl/lib/bin.

Anyone know what the problem is here?

Running [/home/perl/lib/x86_64-bin/perl /home/perl/lib/bin/cpanp-run-p +erl /home/perl/.cpanplus/5.12.1/build/Perl-Tidy-20090616/Makefile.PL +PREFIX=/home/perl/lib INSTALLSCRIPT=/home/perl/lib/x86_64-bin]... Checking if your kit is complete... Looks good Writing Makefile for Perl::Tidy Running [/home/perl/lib/bin/make]... cp lib/Perl/Tidy.pm blib/lib/Perl/Tidy.pm cp bin/perltidy blib/script/perltidy /home/perl/lib/x86_64-bin/perl -MExtUtils::MY -e 'MY->fixin(shift)' -- + blib/script/perltidy ... Running [/home/perl/lib/bin/make test]... ... Result: PASS Running [/home/perl/lib/bin/make install]... Installing /home/perl/lib/lib/site_perl/5.12.1/Perl/Tidy.pm Installing /home/perl/lib/man/man1/perltidy.1 Installing /home/perl/lib/man/man3/Perl::Tidy.3 Installing /home/perl/lib/bin/perltidy

Thanks.

Replies are listed 'Best First'.
Re: INSTALLSCRIPT Not Working
by VinsWorldcom (Prior) on Sep 24, 2010 at 16:46 UTC

    Did you try to install as if you weren't root and provide a path:

    perl Makefile.PL PREFIX=/home/perl/lib/x86_64; make make test make install

      That's not what I want. I am supporting 3 different platforms with this installation of Perl and associated modules. I am using a single module directory and a distinct script dir for each platform. My CPANPLUS config looks like this:

          makemakerflags            'PREFIX=/home/perl/lib INSTALLSCRIPT=/home/perl/lib/x86_64-bin'

      In fact, it looks like this in the actual Config.pm file:

      $conf->set_conf( makemakerflags => 'PREFIX=/home/perl/lib INSTALLSCRIPT=' .$ENV{MY_PERL_DIR} );

      Where MY_PERL_DIR is set based on the architecture of the platform on which I run CPANPLUS, so the value of INSTALLSCRIPT always points to the directory that shold contain the executables for the current platform.

      PREFIX is working as expected, but INSTALLSCRIPT isn't.

        Try adding INSTALLBIN:
        makemakerflags 'PREFIX=/home/perl/lib INSTALLBIN=/home/perl/lib/x86_6 +4-bin INSTALLSCRIPT=/home/perl/lib/x86_64-bin'
        same problem here