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 Message-ID: From: "Green, Paul" To: "'Gerrit P. Haase'" , Christopher Faylor Cc: perl5-porters AT perl DOT org Subject: RE: cygwin-1.3.11-3: still cannot compile perl-5.8 Date: Tue, 25 Jun 2002 17:18:35 -0400 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" PerlLIO_link runs through a bunch of macros and ends up calling the POSIX link function (hard links). Note that Configure only detects whether or not you have a link() function available to be called; it never actually calls it to see if it is operational. On operating systems where link() returns ENOSYS every time it is called, you must add a line to the hints file that sets d_link=undef. (See hints/vos.sh, because the VOS system is one that provides a dummy link() function that always returns ENOSYS). Configure will print a silly WHOA message about the discrepancy between the hint (no link) and the libraries (link is there), but you can just ignore it. PG > -----Original Message----- > From: Gerrit P. Haase [mailto:gp AT familiehaase DOT de] > Sent: Tuesday, June 25, 2002 3:45 PM > To: Christopher Faylor > Cc: perl5-porters AT perl DOT org > Subject: Re: cygwin-1.3.11-3: still cannot compile perl-5.8 > > > Hallo Christopher, > > Am Dienstag, 25. Juni 2002 um 20:51 schriebst du: > > >>>>Still having problems compiling the Perl RC2. > >>>>It works well to build RC2 with the cygwin-1.3.11-1 testrelease. > >>>>Now that 1.3.11-3 is not a test release I need someone to verify > >>>>at another box that this is not a basically problem with my setup. > >>>>Everything works well up to then point miniperl is used to: > >>>> > >>>>make[1]: Entering directory > `/sourcecode/perl/perl58/buildperl/x2p' > >>>>../miniperl -I../lib s2p.PL > >>>>Signal 11 > >>>>make[1]: *** [s2p] Error 139 > >>>>make[1]: Leaving directory `/sourcecode/perl/perl58/buildperl/x2p' > >>>>make: *** [x2p/s2p] Error 2 > >>>> > >>>>$ cat miniperl.exe.stackdump > >>>>Exception: STATUS_ACCESS_VIOLATION at eip=77F34AC4 > >>>>eax=00000000 ebx=00233378 ecx=FFFFFFFF edx=FFFFFFFF > esi=0000000C edi=0000000C > >>>>ebp=0022F3C0 esp=0022F394 > program=d:\sourcecode\perl\perl58\buildperl\miniperl.exe > >>>>cs=001B ds=0023 es=0023 fs=0038 gs=0000 ss=0023 > >>>>Stack trace: > >>>>Frame Function Args > >>>>0022F3C0 77F34AC4 (00000000, 00000000, 0000000C, FFFFFFFF) > >>>>0022FCE0 6107120A (0A0B0AB4, 0A0BA5C8, 0022FD20, 00477B6A) > >>>>0022FD20 0049262F (0A010450, 61681570, 0022FD70, 00435D46) > >>>>0022FD50 0048990D (0A010450, 0A018010, 0A019818, 00000001) > >>>>0022FD80 00415671 (0A010450, 00000001, 0022FE98, 004531B3) > >>>>0022FEB0 00415343 (0A010450, 00000001, 0022FEE0, 00401069) > >>>>0022FEE0 004010D7 (00000003, 61681570, 0A010278, 77F75B75) > >>>>0022FF30 61005A9E (00000008, FFFFFFFE, 000000E0, 610C08A0) > >>>>0022FF90 61005D28 (00000000, 00000000, 00000246, 8011748B) > >>>>0022FFB0 004BE312 (00401040, 037F0009, 0022FFF0, 77F1B9EA) > >>>>0022FFC0 0040103C (0022E640, 6104BD1C, 7FFDF000, 7FFDF000) > >>>>0022FFF0 77F1B9EA (00401000, 00000000, 000000B0, 00000100) > >>>>End of stack trace > >> > >>> Seems like running miniperl in gdb would be instructive. > You'd need to > >>> have debugging symbols in miniperl, of course. > >> > >>> I used to debug stuff like this all of the time when I > was maintaining > >>> perl for cygwin. > >> > >>(gdb) run -Ilib utils/c2ph.PL > >>Starting program: > /sourcecode/perl/perl58/buildperl/miniperl.exe -Ilib utils/c2ph.PL > >> > >>Program received signal SIGSEGV, Segmentation fault. > >>0x77f34ac4 in _libkernel32_a_iname () > >> > >>(gdb) bt > >>#0 0x77f34ac4 in _libkernel32_a_iname () > >>#1 0xffffffff in ?? () > >>#2 0x6107120a in _libkernel32_a_iname () > >>#3 0x0049cfcf in Perl_pp_link (my_perl=0xa013cf0) at pp_sys.c:3556 > > ^^^^^^^^^^^ ^^^^^^^^^^^^^ > > > What function is this calling? > > PP(pp_link) > { > #ifdef HAS_LINK > dSP; dTARGET; > STRLEN n_a; > char *tmps2 = POPpx; > char *tmps = SvPV(TOPs, n_a); > TAINT_PROPER("link"); > SETi( PerlLIO_link(tmps, tmps2) >= 0 ); <----3556 > RETURN; > #else > DIE(aTHX_ PL_no_func, "link"); > #endif > } > > iperlsys.h: > #define PerlLIO_link(oldname, newname) > \ > (*PL_LIO->pLink)(PL_LIO, (oldname), (newname)) > > pp.h: > #define SETi(i) STMT_START { sv_setiv(TARG, (IV)(i)); > SETTARG; } STMT_END > > > -- > "All faults& bugs are mine - Robert" > from squid/acinclude.m4, Sun Apr 21 05:21:21 2002 > -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/