Hi,

I have sent the following to [EMAIL PROTECTED] (perl #18535) but I have been
advised to send it here too.

I'm not sure if this is a bug with perl, a bug with the compiler, or
whether threading is not fully supported on OS/390 yet, but I am
encountering problems compiling perl 5.8.0 on Z/OS 1.3. (and OS/390 2.10)

I am attempting to compile perl with dynamic loading support and thread
support using the default compiler (c89).

I am following the steps in the README.os390 file and I have applied the
fix to makedepend.SH (provided by Peter Prymmer) with regard to the
unwanted removal of the last #endif statement in perly.c as below:

--- makedepend.SH.orig         Mon Nov 29 18:05:08 1999
+++ makedepend.SH        Mon Nov 29 18:10:43 1999
@@ -130,6 +130,9 @@
             -e 's|\\$||' \
             -e p \
             -e '}' ) >UU/$file.c
+    if [ "$osname" = os390 -a "$file" = perly.c ]; then
+        $echo '#endif' >>UU/$file.c
+    fi
     $cppstdin $finc -I. $cppflags $cppminus <UU/$file.c |
     $sed \
             -e '/^#.*<stdin>/d' \
End of Patch.

and having made this fix the Configure and the make depend steps complete
cleanly with no warnings or errors.

However, when performing the actual make step I am encountering the
following error when compiling perly.c

ERROR CCN3276 ./perly.c:128   Syntax error: possible missing ')'?

I decided to turn on the -V flag of the c89 compiler and this identified
the error as follows:

   125       |#define POSTINC 315
|  48923
   126       |#define POSTDEC 316
|  48924
   127       |#define ARROW   317
|  48925
   128       |extern int yychar, yyerrflag;
|  48926
   128       +extern int (my_perl->Iyychar), (my_perl->Iyyerrflag);
+  48926
 ===========>
....................a..............................................................................
 *=ERROR===========> a - CCN3276 Syntax error: possible missing ')'?
   129       |#if YYDEBUG
|  48927
   130       |yyTypedRules yyRules[] = {
|  48928
   131       |    { "&00: %01 &00",  0},
|  48929
   132       |    { "%01: %07 %12",  1},
|  48930

This appears to be a problem with the actual C code itself.

I have tried compiling perl with exactly the same options but without
enabling thread support and it compiles and installs with no problems.  Not
being overly skilled in C, are there any additional compiler options I can
specify to overcome this, given it only occurs when threading is turned on
and we ideally want thread support enabled?

Any ideas?

Regards,

Jamie Squibb

P.S. Please find below the contents of my myconfig script as requested in
the README file.

#!/bin/sh

# This script is designed to provide a handy summary of the configuration
# information being used to build perl. This is especially useful if you
# are requesting help from comp.lang.perl.misc on usenet or via mail.

# Note that the text lines /^Summary of/ .. /^\s*$/ are copied into
Config.pm.
cat <<'!NO!SUBS!'
Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration:
  Platform:
    osname=os390, osvers=13.00, archname=os390-thread-multi
    uname='os390 mvg2 13.00 03 9672 '
    config_args='-Dusedl -Ddlext=so -Ddlsrc=dl_dllload.xs'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=define use5005threads=undef useithreads=define
usemultiplicity=define
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='c89', ccflags ='-DMAXSIG=38 -DOEMVS -D_OE_SOCKETS
-D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE -DYYDYNAMIC -D_SHR_ENVIRON
-DPERL_EXTERNAL_GLOB -Wc,dll -W 0,float(ieee)',
    optimize=' ',
    cppflags=''
    ccversion='', gccversion='', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
    d_longlong=undef, longlongsize=, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=4
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='c89', ldflags ='-Wl,EDIT=NO -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lm -lc
    perllibs=-lm -lc
    libc=, so=so, useshrplib=true, libperl=libperl.so
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dllload.xs, dlext=so, d_dlsymun=undef, ccdlflags='-W l,dll
/defects/jamie/perl-5.8.0/libperl.x'
    cccdlflags='-c -Wc,dll,EXPORTALL', lddlflags='-W l,dll
/defects/jamie/perl-5.8.0/libperl.x -L/usr/local/lib'

!NO!SUBS!

Reply via email to