Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com X-Authentication-Warning: slinky.cs.nyu.edu: pechtcha owned process doing -bs Date: Wed, 7 May 2003 17:51:57 -0400 (EDT) From: Igor Pechtchanski Reply-To: cygwin AT cygwin DOT com To: Charles Plager cc: cygwin AT cygwin DOT com Subject: Re: Problems installing Perl packages in Cygwin AND Problems with Activestate perl in Cygwin In-Reply-To: <3EB96820.9010708@physics.ucla.edu> Message-ID: Importance: Normal MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Charles, Replies inline below. On Wed, 7 May 2003, Charles Plager wrote: > I am running a (fairly) current cygwin install (Installed last month). > > I am trying to either: > 1) install LWP and Tk (or any other Perl packages) on Cygwins perl > OR > 2) Get activestate Perl (where I have said packages installed already) > to understand how to parce cygwin path names. > > Specifically: > > 1) I'm trying to install packages by: > unix> perl -MCPAN -e shell > cpan> install LWP > (lots of stuff goes by) > Couldn't rename libwww-perl-5.69 to f:/Users/cplager/.cpan/build/libwww-perl-5.69: Permission denied at /usr/lib/perl5/5.8.0/CPAN.pm line 3907 > CPAN::Distribution::get('CPAN::Distribution=HASH(0x10d4e8d0)') called at /usr/lib/perl5/5.8.0/CPAN.pm line 4421 > CPAN::Distribution::make('CPAN::Distribution=HASH(0x10d4e8d0)') called at /usr/lib/perl5/5.8.0/CPAN.pm line 4660 > CPAN::Distribution::test('CPAN::Distribution=HASH(0x10d4e8d0)') called at /usr/lib/perl5/5.8.0/CPAN.pm line 4765 > CPAN::Distribution::install('CPAN::Distribution=HASH(0x10d4e8d0)') called at /usr/lib/perl5/5.8.0/CPAN.pm line 5454 > CPAN::Module::rematein('CPAN::Module=HASH(0x112763b8)','install') called at /usr/lib/perl5/5.8.0/CPAN.pm line 5511 > CPAN::Module::install('CPAN::Module=HASH(0x112763b8)') called at /usr/lib/perl5/5.8.0/CPAN.pm line 2114 > CPAN::Shell::rematein('CPAN::Shell','install','LWP') called at /usr/lib/perl5/5.8.0/CPAN.pm line 2141 > CPAN::Shell::install('CPAN::Shell','LWP') called at /usr/lib/perl5/5.8.0/CPAN.pm line 200 > eval {...} called at /usr/lib/perl5/5.8.0/CPAN.pm line 200 > CPAN::shell() called at -e line 1 Why is it trying to access a Win32 path? Perhaps your $HOME is set incorrectly? > cpan> install Tk > (lots of stuff goes by) > PORTLIB -O2 -DVERSION=\"800.024\" -DXS_VERSION=\"800.024\" "-I/usr/lib/perl5/5.8.0/cygwin-multi-64int/CORE" -D__WIN32__ -Wall -Wno-implicit-int -Wno-comment -Wno-unused -D__USE_FIXED_PROTOTYPES__ ClientWin.c > ClientWin.c:30:22: X11/Xlib.h: No such file or directory > ClientWin.c:31:23: X11/Xatom.h: No such file or directory > [long list of errors snipped] > make: *** [pTk/libpTk.a] Error 2 > /usr/bin/make -- NOT OK > Running make test > Can't test without successful make > Running make install > make had returned bad status, install seems impossible > cpan> Don't know much about that. WAG: Could you be missing the X headers and libraries? Try installing the XFree86-prog and XFree86-lib packages. > 2) The problem is when I've got an Activestate Perl script in > /home/cplager/scripts. For example > unix> cd /home/cplager/scripts > unix> ./script > Can't open perl script "/home/cplager/scripts/script": No such file or > directory > > where the header of the file is : > #!/Perl/bin/perl > > AND > cplager AT pointyjr> mount > c:\Perl on /Perl type user (textmode) > > If I could fix either of these problems I'd be quite happy. > Charles Plager Hmm, you can't teach ActiveState perl to understand Cygwin mounts. You can, however, write a wrapper script[*], e.g.: ========= /usr/local/bin/wrap_w32 ========= #!/bin/bash pname="$1" fname="`cygpath -w "$2"`" shift 2 && exec "$pname" "$fname" "$@" =========================================== and make the shebang line of your perl script #!/usr/local/bin/wrap /Perl/bin/perl You can test that you're running the right perl by the following: use English; print "Testing: $PERL_VERSION on $OSNAME\n"; Hope this helps, Igor [*] This wrapper script will not work if you want to pass any flags to perl. You can make it work (for "-?"-style flags) with a bit of hacking. However, I don't think there's a way to make it work for programs that have "/?"-style flags. -- http://cs.nyu.edu/~pechtcha/ |\ _,,,---,,_ pechtcha AT cs DOT nyu DOT edu ZZZzz /,`.-'`' -. ;-;;,_ igor AT watson DOT ibm DOT com |,4- ) )-,_. ,\ ( `'-' Igor Pechtchanski '---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow! Knowledge is an unending adventure at the edge of uncertainty. -- Leto II -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/