Cygwinperl tar on Win9x (really tar)

2003-06-06 Thread Soren Andersen
Hello Cygwinauts,

I'd like to report a problem I encountered recently try to run CPAN(.pm)
on Cygwinperl to ... you know what CPAN does.

My system is Win98 and I suspect from absence of reports concerning this
that somehow this isn't affecting people on other-derived M$ Windows
platforms. All of this is vis a vis cygwin on these platforms, of
course.

CPAN fails to be able to make or install modules because the system call
to tar(1) returns an error (generates a SIGSEGV [?] signal) when perl
tries to have tar unroll a module archive. On examination, tar is being
called by perl code in the innards of CPAN.pm, with the old-style flags
(switches) un-prefaced by a hyphen/dash/(-) token, e.g.:

   $ tar xvf foo.tar

On testing, the stackdump can be caused by manually passing arguments
(flags, switches) to tar(1) without a hyphen. I myself always habitually
use the modern GNU-style with tar, i.e. $ tar -xvzf foo.tar.gz when I
run `tar' manually or use it in scripts, so this bug never bit me before
CPAN showed it to me.

I can run CPAN by modifying the internal CPAN::Config hash to point
toward this other `tar' program which is really a wrapper script (in
CPAN::Config fully-qualified path spec). This wrapper in turn just calls
real `tar' with flags corrected.

-SNIP-8--CUT HERE-
#!/bin/bash

declare opflags=''
declare -a tar_args=($@)
if [ $# == 1 ] || [[ $0 != *tar ]] || [ NUL${tar_args[0]} == NUL ]
 then
  echo 12 No args or flags passed to $0, must abort with error!
  exit 1
 else
  opflags=${tar_args[0]}
fi
if [[ $opflags != -* ]] ; then
  tar_args[0]=-$opflags
fi

# echo Going to do: exec /bin/tar [EMAIL PROTECTED]
exec /bin/tar [EMAIL PROTECTED]
-SNIP-8--CUT HERE-

Sorry, I don't have the opportunity available to me at present to dig
into winsup/ or tar's source code to try to track this down. I wanted to
get something into the record now in case someone else who might have
more time, gets bitten by this too and wants to try to fix it.

Also, sorry, I am composing this message from Debian GNU/Linux, so I
have not the opportunity to generate a cygcheck.exe output file to
attach to this message. My `tar' was from cygwin release 1.13.25 and
then I reverted to the previous one (whatever that was). Both tar
versions manifested the same segfault.

-- 
See my OpenPGP key at https://savannah.gnu.org/people/viewgpg.php?user_id=6050
GnuPG public key fingerprint  | Only when efforts to reform society have as
 BD26 A5D8 D781 C96B 9936 |  their point of departure the reformation of
 310F 0573 A3D9 4E24 4EA6 |  the inner life -- human revolution -- will
they lead us with certainty to a world of lasting peace and true human security.
-- Daisaku Ikeda

--
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/



Re: Cygwinperl tar on Win9x (really tar)

2003-06-06 Thread Max Bowsher
Soren Andersen wrote:
 Hello Cygwinauts,

 I'd like to report a problem I encountered recently try to run CPAN(.pm)
 on Cygwinperl to ... you know what CPAN does.

 My system is Win98 and I suspect from absence of reports concerning this
 that somehow this isn't affecting people on other-derived M$ Windows
 platforms. All of this is vis a vis cygwin on these platforms, of
 course.

 CPAN fails to be able to make or install modules because the system call
 to tar(1) returns an error (generates a SIGSEGV [?] signal) when perl
 tries to have tar unroll a module archive. On examination, tar is being
 called by perl code in the innards of CPAN.pm, with the old-style flags
 (switches) un-prefaced by a hyphen/dash/(-) token, e.g.:

$ tar xvf foo.tar

 On testing, the stackdump can be caused by manually passing arguments
 (flags, switches) to tar(1) without a hyphen. I myself always habitually
 use the modern GNU-style with tar, i.e. $ tar -xvzf foo.tar.gz when I
 run `tar' manually or use it in scripts, so this bug never bit me before
 CPAN showed it to me.
...
 Also, sorry, I am composing this message from Debian GNU/Linux, so I
 have not the opportunity to generate a cygcheck.exe output file to
 attach to this message. My `tar' was from cygwin release 1.13.25 and
 then I reverted to the previous one (whatever that was). Both tar
 versions manifested the same segfault.

I habitually use the old-style options, and have never encountered a
segfault - but I'm using WinXP.

I suggest you ensure that all your packages are up to date, and ensure you
really are running Cygwin's tar.
If the segfault persists, try reinstalling the cygwin and tar packages.

If still no luck, you could try a full reinstall of Cygwin, or debugging the
segfault by using gdb on an unstripped version of tar.



Max.


--
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/



Re: Cygwinperl tar on Win9x (really tar)

2003-06-06 Thread Larry Hall
Max Bowsher wrote:
Soren Andersen wrote:

Hello Cygwinauts,

I'd like to report a problem I encountered recently try to run CPAN(.pm)
on Cygwinperl to ... you know what CPAN does.
My system is Win98 and I suspect from absence of reports concerning this
that somehow this isn't affecting people on other-derived M$ Windows
platforms. All of this is vis a vis cygwin on these platforms, of
course.
CPAN fails to be able to make or install modules because the system call
to tar(1) returns an error (generates a SIGSEGV [?] signal) when perl
tries to have tar unroll a module archive. On examination, tar is being
called by perl code in the innards of CPAN.pm, with the old-style flags
(switches) un-prefaced by a hyphen/dash/(-) token, e.g.:
  $ tar xvf foo.tar

On testing, the stackdump can be caused by manually passing arguments
(flags, switches) to tar(1) without a hyphen. I myself always habitually
use the modern GNU-style with tar, i.e. $ tar -xvzf foo.tar.gz when I
run `tar' manually or use it in scripts, so this bug never bit me before
CPAN showed it to me.
...

Also, sorry, I am composing this message from Debian GNU/Linux, so I
have not the opportunity to generate a cygcheck.exe output file to
attach to this message. My `tar' was from cygwin release 1.13.25 and
then I reverted to the previous one (whatever that was). Both tar
versions manifested the same segfault.


I habitually use the old-style options, and have never encountered a
segfault - but I'm using WinXP.
I'm equally as skeptical that this is the root issue.  I'm on W2K and
no problems here.  It could be a CPAN interaction issue too I suppose
though.  Dunno.
--
Larry Hall  http://www.rfk.com
RFK Partners, Inc.  (508) 893-9779 - RFK Office
838 Washington Street   (508) 893-9889 - FAX
Holliston, MA 01746
--
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/