in reply to Re: cygwin, perl5.10, INSTALLSITESCRIPT
in thread cygwin, perl5.10, INSTALLSITESCRIPT

The disturbing difference in your error is that the directory that it is failing to create is not the same as the one which it says you can't read. This, and the fact that your directory isn't a magical one like /usr/bin, leads me to suspect these are different problems.

Definitely the very first thing you should check is whether you do, in fact, have write permissions on /. Since you're installing perl in your home directory, I'm guessing you don't have write permission on / . Can you repeat your test on a system where you do ?

My steps to installing Devel::Cover and DBI::SQLite were as follows;

  1. unpack the tar
  2. perl Makefile.PL (which equates to your ./configure call)
  3. grep '/usr/bin' *
  4. edit Make (where I found /usr/bin in the previous step), substituting /usr/bin_00, /usr/bin_01, /usr/bin_02 etc, so I could see exactly which variable was being used
  5. make
  6. make test *
  7. make install
So you might find something in the Make file for DynaLoader pointing to lib/auto, but I wouldn't hope for much. Finding references to / is going to be impossible.

* make test failed for Devel::Cover due to a different problem.



- Boldra
  • Comment on Re^2: cygwin, perl5.10, INSTALLSITESCRIPT

Replies are listed 'Best First'.
Re^3: cygwin, perl5.10, INSTALLSITESCRIPT
by syphilis (Archbishop) on Sep 26, 2008 at 13:35 UTC
    I'm guessing you don't have write permission on /

    No - I can write to '/' ok. The aim is to install perl-5.10 into /home/Rob so that it doesn't interfere with the existing 5.8.8 installation (which I'd still like to keep). If I drop the '-Dprefix' arg, the error I get is still the same.

    I'll take a look through the makefile and see if I can spot something. It would be handy to have a 64-bit-int build of perl-5.10 on this Windows box, but I *can* live without it, so I won't be getting too stressed.

    Update: I think I've found a (tedious) solution to my problem. It's just a matter of cd'ing to the ext/DynaLoader folder and running 'make -i', then when that terminates, return to the top level folder and re-run 'make'. Shortly thereafter the process terminates with a similar error regarding the ext/B directory ... so cd to ext/B, run 'make -i', then cd back to the top level and re-run 'make' .... and on it goes until the next failure in ext/somewhere ... etc., etc.

    Update2: Duh .... wouldn't it be better to just run 'make -i' from the top level folder ? That's exactly what I'm doing now - but I won't really know how successful it has been until I get to run 'make test'.

    Update3: Sort of nearly almost works ... many of the pm files in ext don't get copied across to lib. All in all, it's not a very good approach to be taking :-)

    Cheers,
    Rob