--- [EMAIL PROTECTED] wrote:
> rajarshi das <[EMAIL PROTECTED]> wrote on 07/11/2005
> 07:55:55 AM:
>
> > Hi,
> > Here's a build failure that I am facing on z/OS
> > (perl-5.8.6).
> >
> > I do the following steps :
> >
> > 1) sh Configure -Dmake=gmake
> > 2) modify sv.c
> > 3) gmake
> > gmake[1]: Leaving directory `/perl-5.8.6'
> > ./miniperl -Ilib configpm configpm.tmp
> > sh mv-if-diff configpm.tmp lib/Config.pm
> > mv: configpm.tmp: EDC5129I No such file or
> directory.
> > gmake: *** [lib/Config.pm] Error 1
> > ISLDEV2:/perl-5.8.6: > ls -l lib/Config.pm
> > ls: FSUM6785 File or directory "lib/Config.pm" is
> not
> > found
> >
> > Why does the gmake fail ?
>
> If you omit step 2 does the make fail? Note that at
> that point
> make is running miniperl in order to run create the
> configpm.tmp
> file. You have not shown what the result of ls
> configpm.tmp is
> nor have you indicated what changes you made to
> sv.c, but it
> does appear that miniperl does not produce the file.
>
If I omit step 2, the make completes fine.
$ ls configpm.tmp
ls: FSUM6785 File or directory "configpm.tmp" is not
found
The change that I am working on is now in perlio.c
only instead of sv.c.
The two changes that I made to perlio.c are :
in PerlIOBuf_fill()
#ifdef EBCDIC
int i;
#endif
also at line no. 3609,
else {
avail = PerlIO_read(n, b->ptr, b->bufsiz);
#ifdef EBCDIC
for(i=0;i<avail;i++,b->ptr++) {
if (*b->ptr == 0x41) {
*b->ptr = 0x42;
break;
}
}
# endif
Instead of the above, if I modify as
#ifdef EBCDIC
for(i=0;i<avail;i++) {
if (*b->ptr == 0x41) {
*b->ptr++ = 0x42;
break;
}
}
the gmake runs through (at least it crosses the
configpm.tmp part where it was stuck previously).
Any thoughts as to why this happens ?
Thanks,
Rajarshi.
>
> Peter Prymmer
>
>
__________________________________
Discover Yahoo!
Get on-the-go sports scores, stock quotes, news and more. Check it out!
http://discover.yahoo.com/mobile.html