IBM Z and LinuxONE Languages

Languages

Languages

Broad range of supported development languages and tools allows to transform software delivery practices.

 View Only
Expand all | Collapse all

Using the Java Invocation API from PL/1: How to linkedit the PL1 program?

  • 1.  Using the Java Invocation API from PL/1: How to linkedit the PL1 program?

    Posted Mon November 20, 2023 10:49 AM

    Hello, fellow dinosaurs,

    I'm beginning to look at mixing up PL/1 and Java code, and I'm unable to go beyond the basics. Actually, I cannot linkedit a basic "Hello java" program.

    I'm following the steps in the PL/1 Programmers guide manual, but I'm stuck at the linkedit step. According to the manual, the lked step must be done from the USS shell using the c89 program (which is, actually, a C compiler):

    c89 -o myprogram -Wl,LP64,DLL myprogram.o ${JAVA_HOME}/bin/classic/libjvm.x

    Doing this I get a ton of linkedit errors. Basically, it doesn't seem to be able to find the PL/1 runtime functions. I tried to add  the IBMPQV11 member of CEE.SCEELIB, which contains IMPORT statements for those functions, but then the binder complains about syntax errors.

    I'm pretty sure this problem can be fixed by defining one of the "magical" environment variables _C89_XXXX, but I've been unable to find a clear answer in the docs and I'm becoming tired of try-and-error... So... does any of you have the magical recipe to make it work?

    Thanks in advance.



    ------------------------------
    Jordi Guillaumes Pons
    ------------------------------


  • 2.  RE: Using the Java Invocation API from PL/1: How to linkedit the PL1 program?

    Posted Mon December 11, 2023 09:21 PM



    The pertinent environment variables you need are as follows:
    _c89_L6SYSIX=<cee>.SCEELIB(CELQS003):<cee>.SCEELIB(IBMPQV11)
    _c89_L6SYSLIB=<cee>.SCEEBND2

    We hope this helps.



    ------------------------------
    Linda Chui
    Compilation Technology & Enterprise Products
    IBM Canada
    ------------------------------