develooper Front page | perl.perl5.porters | Postings from October 2015

more compiling and z/OS

Thread Next
From:
Karl Williamson
Date:
October 8, 2015 15:51
Subject:
more compiling and z/OS
Message ID:
561690FC.8070309@khwilliamson.com
The only other failing test in the z/OS smokes is also 
compiling-related.  It is possible to embed Perl in a C language 
application, using ExtUtils::Embed.  The test file for that, Embed.t, is 
failing.  I have instrumented Embed.t to give debugging output.  The 
output is given below.  Embed.t is attached to this email

What is happening is that it is trying to compile a .c file that is in 
the __DATA__ at the end of Embed.t (hence you can see it in the 
attachment) into the file 'embed_test'.  It's not finding several Perl 
subroutines, and the loader exits 8.  Nevertheless, Embed.t calls 
system('./embed_test') and that results in some garbage output.  The 
MALFORMED lines are from my program that I used to translate from 
UTF-EBCDIC back to ASCII so I can read it.  The garbage output is not 
UTF-EBCDIC, the malformation lines tell what the code points are.  My 
guess is that it is binary.

I don't know enough about the z/OS compile-load system to debug this, 
but hopefully the problem is obvious to someone who does.

Tracing output follows:
=======================================================================

../lib/ExtUtils/t/Embed.t: 138: About to backtick:

'c99 -o embed_test -I..  -qlanglvl=extended:extc89:extc99 -qlongname 
-qxplink -qdll -qfloat=ieee -qhaltonmsg=3296:4108 -DMAXSIG=39 -DOEMVS 
-D_OE_SOCKETS -D_XOPEN_SOURCE_EXTENDED -D_ALL_SOURCE -DYYDYNAMIC 
-D_POSIX_SOURCE=1 -D_SHR_ENVIRON -DPERL_EXTERNAL_GLOB -qexportall -qdll 
-qxplink  embed_test.c'

INFORMATIONAL CCN3684 ./embed_test.c:17    Exporting function main is 
not allowed.
  IEW2456E 9207 SYMBOL Perl_sys_term UNRESOLVED.  MEMBER COULD NOT BE 
INCLUDED
           FROM THE DESIGNATED CALL LIBRARY. 

  IEW2456E 9207 SYMBOL perl_free UNRESOLVED.  MEMBER COULD NOT BE 
INCLUDED FROM
           THE DESIGNATED CALL LIBRARY. 

  IEW2456E 9207 SYMBOL perl_destruct UNRESOLVED.  MEMBER COULD NOT BE 
INCLUDED
           FROM THE DESIGNATED CALL LIBRARY. 

  IEW2456E 9207 SYMBOL perl_run UNRESOLVED.  MEMBER COULD NOT BE 
INCLUDED FROM
           THE DESIGNATED CALL LIBRARY. 

  IEW2456E 9207 SYMBOL perl_parse UNRESOLVED.  MEMBER COULD NOT BE 
INCLUDED FROM
           THE DESIGNATED CALL LIBRARY. 

  IEW2456E 9207 SYMBOL PL_exit_flags UNRESOLVED.  MEMBER COULD NOT BE 
INCLUDED
           FROM THE DESIGNATED CALL LIBRARY. NAME SPACE = 3 

  IEW2456E 9207 SYMBOL perl_construct UNRESOLVED.  MEMBER COULD NOT BE 
INCLUDED
           FROM THE DESIGNATED CALL LIBRARY. 

  IEW2456E 9207 SYMBOL perl_alloc UNRESOLVED.  MEMBER COULD NOT BE 
INCLUDED FROM
           THE DESIGNATED CALL LIBRARY. 

  IEW2456E 9207 SYMBOL Perl_sys_init3 UNRESOLVED.  MEMBER COULD NOT BE 
INCLUDED
           FROM THE DESIGNATED CALL LIBRARY. 

FSUM3065 The LINKEDIT step ended with return code 8.
../lib/ExtUtils/t/Embed.t: 141 $? from backtick is '768'
../lib/ExtUtils/t/Embed.t: 152: About to call system('./embed_test')
IEWPLMH: ./embed_test 3: FSUM7351 not found
ø€ byte 'C6' is not a valid continuation
_MALFORMED_(orig="0x90=DEGREE"; I8=0xc6)°byte 'D' is not a valid 
continuation
_MALFORMED_(orig="0x8a=LEFT-POINTING DOUBLE ANGLE QUOTE"; I8=0x0d)«
character U+46 should occupy 1 bytes, not 2
_MALFORMED_(expected=1; got=2; orig=0x76)FgxMbyte '78' is not a valid 
continuation
_MALFORMED_(orig="0x8a=LEFT-POINTING DOUBLE ANGLE QUOTE"; I8=0x78)«xbyte 
'18' is not a valid continuation
_MALFORMED_(orig="0xb4=COPYRIGHT"; I8=0x18)©Ÿx4ì-byte '88' is not a 
valid continuation
_MALFORMED_(orig="0x80=O with '/'"; I8=0x88)؈5650ZOS: ./embed_test 9: 
FSUM7351 not found
./embed_test 49: FSUM7332 syntax error: got (, expecting Newline
../lib/ExtUtils/t/Embed.t: 157: system() returned 256

Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About