I have exactly the same problem. Did you ever resolve it? I am
running with perl 5.00503 on Solaris 5.8 and using the UNIX cc. The
make output up until the beginning of the blow-up is below
Thanks,
Kari
Show quoted text> make
mkdir blib
mkdir blib/lib
mkdir blib/arch
mkdir blib/arch/auto
mkdir blib/arch/auto/Cwd
mkdir blib/lib/auto
mkdir blib/lib/auto/Cwd
mkdir blib/man3
cp lib/File/Spec/VMS.pm blib/lib/File/Spec/VMS.pm
cp lib/File/Spec/Epoc.pm blib/lib/File/Spec/Epoc.pm
cp lib/ppport.h blib/lib/ppport.h
cp lib/File/Spec/Functions.pm blib/lib/File/Spec/Functions.pm
cp Cwd.pm blib/lib/Cwd.pm
cp lib/File/Spec.pm blib/lib/File/Spec.pm
cp lib/File/Spec/Cygwin.pm blib/lib/File/Spec/Cygwin.pm
cp lib/File/Spec/Mac.pm blib/lib/File/Spec/Mac.pm
cp lib/File/Spec/Win32.pm blib/lib/File/Spec/Win32.pm
cp lib/File/Spec/Unix.pm blib/lib/File/Spec/Unix.pm
cp lib/File/Spec/OS2.pm blib/lib/File/Spec/OS2.pm
/bin/perl -I/usr/perl5/5.00503/sun4-solaris -
I/usr/perl5/5.00503 /usr/perl5/5.00503/ExtUtils/xsubpp -
typemap /usr/perl5/5.00503/ExtUtils/typemap Cwd.xs >xstmp.c && mv
xstmp.c Cwd.c
cc -c -xO3 -xdepend -DVERSION=\"3.02\" -DXS_VERSION=\"3.02\" -
KPIC -I/usr/perl5/5.00503/sun4-solaris/CORE Cwd.c
"Cwd.xs", line 274: syntax error before or at: struct
"Cwd.xs", line 282: undefined symbol: statbuf
"Cwd.xs", line 282: warning: argument #2 is incompatible with prototype:
prototype: pointer to struct stat {unsigned long st_dev, array
[3] of long st_pad1, unsigned long st_ino, unsigned long st_mode,
unsigned long st_nlink, long st_uid, long st_gid, unsigned long
st_rdev, array[2] of long st_pad2, long st_size, long st_pad3, struct
timespec {..} st_atim, struct timespec {..} st_mtim, struct timespec
{..} st_ctim, long st_blksize, long st_blocks, array[16] of char
st_fstype, array[8] of long st_pad4} : "/usr/include/sys/stat_impl.h",
line 31
[guest - Thu Jan 27 01:26:12 2005]:
Show quoted text> [guest - Thu Jan 27 01:19:44 2005]:
>
> > Under Solaris 2.5.1 with Perl 5.005_03 compiled with gcc 2.95.3 I
get
Show quoted text> > the
> > following:
> >
> > # perl Makefile.PL
> > Checking if your kit is complete...
> > Looks good
> > Writing Makefile for Cwd
> > # make
> > mkdir blib
> > mkdir blib/lib
> > mkdir blib/arch
> > mkdir blib/arch/auto
> > mkdir blib/arch/auto/Cwd
> > mkdir blib/lib/auto
> > mkdir blib/lib/auto/Cwd
> > mkdir blib/man3
> > cp lib/File/Spec/VMS.pm blib/lib/File/Spec/VMS.pm
> > cp lib/File/Spec/Epoc.pm blib/lib/File/Spec/Epoc.pm
> > cp lib/ppport.h blib/lib/ppport.h
> > cp lib/File/Spec/Functions.pm blib/lib/File/Spec/Functions.pm
> > cp Cwd.pm blib/lib/Cwd.pm
> > cp lib/File/Spec.pm blib/lib/File/Spec.pm
> > cp lib/File/Spec/Cygwin.pm blib/lib/File/Spec/Cygwin.pm
> > cp lib/File/Spec/Mac.pm blib/lib/File/Spec/Mac.pm
> > cp lib/File/Spec/Win32.pm blib/lib/File/Spec/Win32.pm
> > cp lib/File/Spec/Unix.pm blib/lib/File/Spec/Unix.pm
> > cp lib/File/Spec/OS2.pm blib/lib/File/Spec/OS2.pm
> > /usr/bin/perl -I/usr/local/lib/perl5/5.00503/i86pc-solaris
> > -I/usr/local/lib/perl5/5.00503
> > /usr/local/lib/perl5/5.00503/ExtUtils/xsubpp -typemap
> > /usr/local/lib/perl5/5.00503/ExtUtils/typemap Cwd.xs >xstmp.c &&
mv
Show quoted text> > xstmp.c Cwd.c
> > gcc -c -I/usr/local/include -mpentium -O2 -DVERSION=\"3.03\"
> > -DXS_VERSION=\"3.03\" -fPIC
> > -I/usr/local/lib/perl5/5.00503/i86pc-solaris/CORE Cwd.c
> > Cwd.xs: In function `Perl_getcwd_sv':
> > Cwd.xs:274: parse error before `struct'
> > Cwd.xs:282: `statbuf' undeclared (first use in this function)
> > Cwd.xs:282: (Each undeclared identifier is reported only once
> > Cwd.xs:282: for each function it appears in.)
> > Cwd.xs:286: `orig_cdev' undeclared (first use in this function)
> > Cwd.xs:287: `orig_cino' undeclared (first use in this function)
> > Cwd.xs:288: `cdev' undeclared (first use in this function)
> > Cwd.xs:289: `cino' undeclared (first use in this function)
> > Cwd.xs:292: `odev' undeclared (first use in this function)
> > Cwd.xs:293: `oino' undeclared (first use in this function)
> > Cwd.xs:308: `dir' undeclared (first use in this function)
> > Cwd.xs:312: `dp' undeclared (first use in this function)
> > Cwd.xs:316: `namelen' undeclared (first use in this function)
> > Cwd.xs:327: `tdev' undeclared (first use in this function)
> > Cwd.xs:328: `tino' undeclared (first use in this function)
> > Cwd.xs:338: `pathlen' undeclared (first use in this function)
> > *** Error code 1
> > make: Fatal error: Command failed for target `Cwd.o'
>
> After looking at the other poster I did the following to the
> Cwd.c program:
>
> #define HAS_GETCWD
>
> then ran make again, it completed. Here's the output of "make test"
>
>
> # make test
> PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib -
> I/usr/local/lib/perl5/5.00503/i86pc-solaris -
> I/usr/local/lib/perl5/5.00503 -e 'use Test::Harness qw(&runtests
> $verbose); $verbose=0; runtests @ARGV;' t/*.t
>
t/Functions........ok
Show quoted text>
>
t/Spec.............ok
Show quoted text>
> 83/466 skipped: various reasons
>
t/crossplatform....ok
Show quoted text>
> 7/50 skipped: Can't load File::Spec::VMS
>
t/cwd..............ok
Show quoted text>
>
t/rel2abs2rel......ok
Show quoted text>
>
t/taint............ok
Show quoted text>
> t/win32............skipped
> all skipped: this is not win32
> All tests successful, 1 test and 90 subtests skipped.
> Files=7, Tests=571, 16 wallclock secs (11.72 cusr + 3.71 csys =
15.43
Show quoted text> CPU)
> #
>
> Is this good to install?