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

As you know, perl Makefile.PL PREFIX=/X should set the root for make install to /X instead of the default location. I checked the makefile that was created and with a perl Makefile.PL PREFIX=/u/tbrannon/perl/inetcrossftp/src a Makefile with the following (undesirable) characteristics was created:
$ grep INSTALLMAN Makefile INSTALLMAN1DIR = /usr/local/man/man1 INSTALLMAN3DIR = /usr/local/man/man3 $ grep PREFIX Makefile PREFIX = /u/tbrannon/perl/inetcrossftp/src

And my installations are failing as a result because I am not a superuser on this system.

  • Comment on Makefile.PL PREFIX argument is not changing INSTALLMAN directories
  • Download Code

Replies are listed 'Best First'.
RE: Makefile.PL PREFIX argument is not changing INSTALLMAN directories
by turnstep (Parson) on Oct 12, 2000 at 18:41 UTC

    It's a bug. Use the LIB prefix as follows:

    perl Makefile.pl LIB=/foo/bar PREFIX=/foo/bar

    (I like to keep the PREFIX in their as well)

Re: Makefile.PL PREFIX argument is not changing INSTALLMAN directories
by kilinrax (Deacon) on Oct 12, 2000 at 18:36 UTC
    Surely you can just edit those lines of the Makefile and then run make && make install?
    Or am i missing something really obvious?
      For my own personal work, you are right, however, this is work for a major financial company whose clients are other major financial companies.

      It doesn't sound very good to any of these stodgy well-monied corporate-types to hear a phrase like "ok, now go into the makefile and search for INSTALLMAN... ok, now type in the following..."

      And on my end even personally, if things are supposed to work, then they are supposed to. Perl may be the duct tape of the Internet, but I dont feel like duct taping the duct tape.

        In that case;
        perl Makefile.PL PREFIX=/u/tbrannon/perl/inetcrossftp/src INSTALLMAN1D +IR=/u/tbrannon/perl/inetcrossftp/src/man/man1 INSTALLMAN3DIR=/u/tbran +non/perl/inetcrossftp/src/man/man3
        Should do the trick.