I posted the below HOWTO request last Friday to the MVS-OE list and I tried to 
wait a reasonable amount of time for responses there, but have received none 
yet.  I thought perhaps I should widen the audience for the question and 
decided to post here as well.  If anyone here can answer my questions I would 
greatly appreciate it.

To preempt some follow-up questions that I can see coming, this effort is on a 
z//OS V1.12 system, the SYSLMOD for the bind is a PDSE, and the following are 
examples of an IMPORT control card and error message from the binder, even 
though the IMPORT control card for this entry point gets no error message at 
all (the messages are not adjacent in the binder listing):

IEW2322I 1220  18    IMPORT CODE,'/usr/lib/iewbndd.so','__iew_fd_getN'
. . .
IEW2456E 9207 SYMBOL __iew_fd_getN UNRESOLVED.  MEMBER COULD NOT BE INCLUDED 
FROM THE DESIGNATED CALL LIBRARY.

>From the RTFM I have done on the C/C++ shelf it appears that I should be able 
>to use LONGNAME,GOFF,RENT for a non-XPLINK compile and bind as long as the 
>binder output is PDSE or a unix system services directory.  I just can't 
>figure out how to get it to actually work yet.

TIA for any help you can give to cure my ignorance.

Peter

-----Original Message-----
From: Farley, Peter x23353 
Sent: Friday, July 08, 2011 10:31 AM
To: 'MVS OpenEdition'
Subject: HOWTO question: Linking non-XPLINK C with a unix shared object

I am trying to figure out how to link a plain C module, non-XPLINK, with an 
IBM-supplied shared-object (= DLL, right?).  This is the IEWAPCCC example in 
the Program Management Advanced Services manual.  IBM provides (at release 
1.12) sample JCL for an XPLINK compile, bind and execute, but no JCL for a 
non-XPLINK compile, bind and execute.  The XPLINK sample works just as 
documented, but I would like to have non-XPLINK access to these services, so 
I'm trying to get the example working as a non-XPLINK program.

I have the compile working using the EDCCB PROC from IBM (compile and bind, 
non-XPLINK) with options LONGNAME and GOFF added for the compile.  However, 
using the IBM-supplied IMPORT statements for the non-XPLINK shared library code 
('/usr/lib/iewbndd.x') still leaves me with unresolved external references for 
all of the binder API entry points, even though the IMPORT statements get no 
errors.

I tried creating a copy of the IMPORT statements and adding the '/usr/lib' 
directory to each IMPORT request; IBM's copy says, for example:

IMPORT CODE,'iewbndd.so','__iew_addA'

So I changed them all to look like this one:

IMPORT CODE,'/usr/lib/iewbndd.so','__iew_addA'

But that did not help.  I also tried adding a DD statement with 
PATH='/usr/lib/iewbndd.so' to the end of the binder SYSLIB DD concatenation, 
but that's a no-no that gets you a specific complaint and an RC=12 from the 
binder.

TIA for anything you can do to help cure my ignorance.

Peter
--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@bama.ua.edu with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to