Front page | perl.perl5.porters |
Postings from October 2015
Re: more compiling and z/OS
Thread Previous
From:
Yaroslav Kuzmin
Date:
October 9, 2015 04:15
Subject:
Re: more compiling and z/OS
Message ID:
1444364104.23533.10.camel@rocketsoftware.com
В Чт., 08/10/2015 в 09:51 -0600, Karl Williamson пишет:
> 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
Hi Karl - Error 'IEW2456E' occurs when the compiler can not find symbol (<Perl_sys_term>
(example)). For fixing a bug, you need to add the in command linking the library where is this
symbol.
Else configure perl with static library (create libperl.a) add libperl.a and -L<paht library>.
'c99 -o embed_test -I.. -L.. -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 libperl.a'
Else configure (-Dusedl) perl with shared library (create libperl.so and libperl.x) add libperl.x
-L<path library>.
'c99 -o embed_test -I.. -L.. -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 libperl.x'
--
Regards,
Yaroslav Kuzmin
Developer C/C++ ,z/OS , Linux
3 Zhukovskiy Street · Miass, Chelyabinsk region 456318 · Russia
Tel: +7.922.2.38.33.38
Email: YKuzmin@rocketsoftware.com
Web: www.rocketsoftware.com
================================
Rocket Software, Inc. and subsidiaries ■ 77 Fourth Avenue, Waltham MA 02451 ■ +1 800.966.3270 ■ +1 781.577.4321
Unsubscribe From Commercial Email – unsubscribe@rocketsoftware.com
Manage Your Subscription Preferences - http://info.rocketsoftware.com/GlobalSubscriptionManagementEmailFooter_SubscriptionCenter.html
Privacy Policy - http://www.rocketsoftware.com/company/legal/privacy-policy
================================
This communication and any attachments may contain confidential information of Rocket Software, Inc. All unauthorized use, disclosure or distribution is prohibited. If you are not the intended recipient, please notify Rocket Software immediately and destroy all copies of this communication. Thank you.
Thread Previous