Re: Need help diagnosing a z/OS compilation problem

[email protected] (Karl Williamson) Sat, 24 Oct 2015 20:29:59 -0600
Newsgroups perl.mvs,perl.perl5.porters
Message-ID <[email protected]>
Thanks for the info.  Having looked at this and looked at the code 
that's failing, it seems to me to be fairly easy to write a platform 
specific extension like there already is for platforms like android and 
darwin.  But I don't think I'm the one to do it.  If someone wants to 
tackle it, I'll commit their patch, but barring that, the first time 
someone really needs this functionality is when it will get written.  So 
I'm going to leave the test skipped.

On 10/23/2015 04:13 AM, Yaroslav Kuzmin wrote:
> В Ср., 21/10/2015 в 22:45 -0600, Karl Williamson пишет:
>> The good news is that z/OS now passes all tests run on blead!  I'll post
>> some more details on what this means and future plans tomorrow (my time).
>>
>> There is one test that is skipped in this blead testing because I didn't
>> see how to fix it, and no one stepped forward to help at the time.  I'm
>> now thinking it might be fairly easy to get it to work, and maybe since
>> we're now so close, someone will look at it.
>>
>> The test involves trying to compile on the platform.  It is
>> dist/ExtUtils-CBuilder/t/02-link.t
>>
>> The messages below the ===== line are output when the test runs.  The
>> ones before the first ok are warnings and appear in other tests that
>> pass, so that's not the problem here, though it would be better to not
>> have them show up.  But I think the main errors are these two things:
>>
>> IEW2456E 9207 SYMBOL @@ROND UNRESOLVED.
>> IEW2456E 9207 SYMBOL CEEROOTD UNRESOLVED
>>
>> I have no idea where these are coming from, but I bet a z/OS person might.
>>
>> =========================================
>> FSUM3212 c99: Command option -x is incorrect for z/OS platform - ignored.
>> FSUM3228 c99: Input file c++ not found.
>> CCN0461(W) "EXTC89" is not a valid sub-option for "LANGLVL". Option is
>> ignored.
>> CCN0461(W) "EXTC99" is not a valid sub-option for "LANGLVL". Option is
>> ignored.
>> CCN8101(W) The numeric value "3296" specified in
>> "report(treatAsError,3296)" is out of bounds. The option is ignored.
>> CCN8101(W) The numeric value "4108" specified in
>> "report(treatAsError,4108)" is out of bounds. The option is ignored.
>> dist/ExtUtils-CBuilder/t/00-have-compiler ..................... ok
>>    IEW2689W 4C40 DEFINITION SIDE FILE IS NOT DEFINED.
>>
>> FSUM3065 The LINKEDIT step ended with return code 4.
>>    IEW2689W 4C40 DEFINITION SIDE FILE IS NOT DEFINED.
>>
>> FSUM3065 The LINKEDIT step ended with return code 4.
>> dist/ExtUtils-CBuilder/t/01-basic ............................. ok
>>    IEW2689W 4C40 DEFINITION SIDE FILE IS NOT DEFINED.
>>
>> FSUM3065 The LINKEDIT step ended with return code 4.
>> INFORMATIONAL CCN3684 t/linkt.c:1     Exporting function main is not
>> allowed.
>>    IEW2456E 9207 SYMBOL @@ROND UNRESOLVED.  MEMBER COULD NOT BE INCLUDED
>> FROM THE
>>             DESIGNATED CALL LIBRARY.
>>
>>    IEW2456E 9207 SYMBOL CEEROOTD UNRESOLVED.  MEMBER COULD NOT BE
>> INCLUDED FROM
>>             THE DESIGNATED CALL LIBRARY.
>>
>> FSUM3065 The LINKEDIT step ended with return code 8.
>> #   Failed test 'no exception from linking'
>> #   at t/02-link.t line 54.
>> #          got: 'error building t/linkt from t/linkt.o at
>> ../../lib/ExtUtils/CBuilder/Base.pm line 320.
>> # '
>> #     expected: ''
>> Use of uninitialized value $exe_file in -e at t/02-link.t line 55.
>> #   Failed test 'found executable file'
>> #   at t/02-link.t line 55.
>> Use of uninitialized value $exe_file in -x at t/02-link.t line 56.
>> #   Failed test 'executable file appears to be executable'
>> #   at t/02-link.t line 56.
>> Use of uninitialized value $cmd in system at t/02-link.t line 94.
>> #   Failed test 'got expected exit code from executable'
>> #   at t/02-link.t line 68.
>> #          got: '255'
>> #     expected: '11'
>> # Unexpected exit code '255'
>> Use of uninitialized value $_ in transliteration (tr///) at t/02-link.t
>> line 75.
>> Use of uninitialized value $_ in unlink at t/02-link.t line 76.
>> # Looks like you failed 4 tests of 8.
>> dist/ExtUtils-CBuilder/t/02-link.t .............................. FAILED
>> at test 5
>
>
> Hi Karl - when tested:
>
> (06:00) RS12 : PDKUZM | ~/ussport/perl/perl-build/t :> ../perl -I ../lib ../dist/ExtUtils
> -CBuilder/t/02-link.t
>   IEW2689W 4C40 DEFINITION SIDE FILE IS NOT DEFINED.
> FSUM3065 The LINKEDIT step ended with return code 4.
> 1..8
> ok 1 - created EU::CB object
> ok 2 - generated 't/linkt.c'
> c99 -I/usr/local/lib/perl5/5.23.4/os390/CORE -c -qexportall -qxplink -qdll -c
> -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 -o t/linkt.o
> t/linkt.c
> INFORMATIONAL CCN3684 t/linkt.c:1     Exporting function main is not allowed.
> ok 3 - no exception from compilation
> ok 4 - found object file
> env LD_RUN_PATH=/usr/local/lib/perl5/5.23.4/os390/CORE c99 -o t/linkt t/linkt.o
>   IEW2456E 9207 SYMBOL @@ROND UNRESOLVED.  MEMBER COULD NOT BE INCLUDED FROM THE
>            DESIGNATED CALL LIBRARY.
>   IEW2456E 9207 SYMBOL CEEROOTD UNRESOLVED.  MEMBER COULD NOT BE INCLUDED FROM
>            THE DESIGNATED CALL LIBRARY.
> FSUM3065 The LINKEDIT step ended with return code 8.
> not ok 5 - no exception from linking
> #   Failed test 'no exception from linking'
> #   at ../dist/ExtUtils-CBuilder/t/02-link.t line 54.
> #          got: 'error building t/linkt from t/linkt.o at ../lib/ExtUtils/CBuilder/Base.pm line 321.
> # '
> #     expected: ''
> Use of uninitialized value $exe_file in -e at ../dist/ExtUtils-CBuilder/t/02-link.t line 55.
> not ok 6 - found executable file
> #   Failed test 'found executable file'
> #   at ../dist/ExtUtils-CBuilder/t/02-link.t line 55.
> Use of uninitialized value $exe_file in -x at ../dist/ExtUtils-CBuilder/t/02-link.t line 56.
> not ok 7 - executable file appears to be executable
> #   Failed test 'executable file appears to be executable'
> #   at ../dist/ExtUtils-CBuilder/t/02-link.t line 56.
> Use of uninitialized value $cmd in system at ../dist/ExtUtils-CBuilder/t/02-link.t line 94.
> not ok 8 - got expected exit code from executable
> #   Failed test 'got expected exit code from executable'
> #   at ../dist/ExtUtils-CBuilder/t/02-link.t line 68.
> #          got: '255'
> #     expected: '11'
> # Unexpected exit code '255'
> # Looks like you failed 4 tests of 8.
> (06:01) RS12 : PDKUZM | ~/ussport/perl/perl-build/t :>
>
>
> compile options :
>    "-qexportall -qxplink -qdll -c -qlanglvl=extended:extc89:extc99 -qlongname -qxplink -qdll
> -qfloat=ieee -qhaltonmsg=3296:4108"
>
> but link option " <not> ". it is not right
>
> If there is an option when compiling "-qdll -qxplink" then when linking such options must also be
> set "-qdll -qxplink"
>
> error command :
> env LD_RUN_PATH=/usr/local/lib/perl5/5.23.4/os390/CORE c99 -o t/linkt t/linkt.o
>
> correct command :
> env LD_RUN_PATH=/usr/local/lib/perl5/5.23.4/os390/CORE c99 -qdll -qxplink -o t/linkt t/linkt.o
>
>
> And option -qexportall can be removed.
>
>
> --
> 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: [email protected]
> 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 – [email protected]
> 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.
>