NJE Linux to z/OS was:RE: [NEWBIE] Compiling and Binding 64-bit mode C programs
What is your Linux system running on? z or Intel? What program/package allows Linux to act as an NJE node? -- John McKown Systems Engineer IV IT Administrative Services Group HealthMarkets(r) 9151 Boulevard 26 * N. Richland Hills * TX 76010 (817) 255-3225 phone * (817)-691-6183 cell john.mck...@healthmarkets.com * www.HealthMarkets.com Confidentiality Notice: This e-mail message may contain confidential or proprietary information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. HealthMarkets(r) is the brand name for products underwritten and issued by the insurance subsidiaries of HealthMarkets, Inc. -The Chesapeake Life Insurance Company(r), Mid-West National Life Insurance Company of TennesseeSM and The MEGA Life and Health Insurance Company.SM -- 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
Re: [NEWBIE] Compiling and Binding 64-bit mode C programs
Kirk Wolf wrote: Only rarely will I venture to disagree with Gil, but here goes - You don't need JCL to build C, C++, Java or even assembler on z/OS. We do all of our source development on Linux (using an IDE; Eclipse, but any will do), and then to build we incrementally push changed source files via Ant with either sftp or ftp and then do a make from a z/OS ssh shell (or ssh Ant task). The exception is Java, where we build jars on our Linux workstations and just move them to z/OS via Ant scripts - IMO it is foolish to compile java on z/OS. And - if you wanted to, you could use the Dignus tools in IBM compatible mode and get rid of moving that source around; just move the objects and do the build directly in your Eclipse environment. Depending on what you're doing; you can even do the pre-link + link directly in that Eclipse environment and just have the one executable to move execute. - Dave R. - -- riv...@dignus.comWork: (919) 676-0847 Get your mainframe programming tools at http://www.dignus.com -- 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
Re: [NEWBIE] Compiling and Binding 64-bit mode C programs
In c8904e9b.29c77%ne...@sinenomine.net, on 08/17/2010 at 01:35 PM, Neale Ferguson ne...@sinenomine.net said: Content-Type: text/plain; charset=iso-8859-1 This looks normal but When I use the supplied proc ³EDCQCBG² is garbled. Is there something funny with your mail client? ALLOC - DSNAME(IBMUSER.LOAD) - What DATACLASS did your ACS assign? What sdid it have for number of directory blocks? Did I create the PDSE correctly? Look at it in, e.g., ISPF 3.2 and see what the DSORG is. Also, try recreating it with JCL or ISPF 3.2 and explicitly provide a directory count. -- Shmuel (Seymour J.) Metz, SysProg and JOAT ISO position; see http://patriot.net/~shmuel/resume/brief.html We don't care. We don't have to care, we're Congress. (S877: The Shut up and Eat Your spam act of 2003) -- 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
NJE Linux to z/OS was:RE: [NEWBIE] Compiling and Binding 64-bit mode C programs
On 8/18/2010 at 08:17 AM, McKown, John john.mck...@healthmarkets.com wrote: What is your Linux system running on? z or Intel? What program/package allows Linux to act as an NJE node? I would imagine this: http://www.bsiopti.com/ftp/nje/njeipbridge-fs.pdf Mark Post -- 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
Re: NJE Linux to z/OS was:RE: [NEWBIE] Compiling and Binding 64-bit mode C programs
Thanks. John McKown Systems Engineer IV IT Administrative Services Group HealthMarkets(r) 9151 Boulevard 26 * N. Richland Hills * TX 76010 (817) 255-3225 phone * (817)-691-6183 cell john.mck...@healthmarkets.com * www.HealthMarkets.com Confidentiality Notice: This e-mail message may contain confidential or proprietary information. If you are not the intended recipient, please contact the sender by reply e-mail and destroy all copies of the original message. HealthMarkets(r) is the brand name for products underwritten and issued by the insurance subsidiaries of HealthMarkets, Inc. -The Chesapeake Life Insurance Company(r), Mid-West National Life Insurance Company of TennesseeSM and The MEGA Life and Health Insurance Company.SM -Original Message- From: IBM Mainframe Discussion List [mailto:ibm-m...@bama.ua.edu] On Behalf Of Mark Post Sent: Wednesday, August 18, 2010 12:00 PM To: IBM-MAIN@bama.ua.edu Subject: NJE Linux to z/OS was:RE: [NEWBIE] Compiling and Binding 64-bit mode C programs On 8/18/2010 at 08:17 AM, McKown, John john.mck...@healthmarkets.com wrote: What is your Linux system running on? z or Intel? What program/package allows Linux to act as an NJE node? I would imagine this: http://www.bsiopti.com/ftp/nje/njeipbridge-fs.pdf Mark Post -- 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 -- 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
[NEWBIE] Compiling and Binding 64-bit mode C programs
I am experimenting building 64-bit C programs on my z/OS 1.9 system using the following: #include stdio.h #include stdlib.h int main(int argc, char **argv) { fprintf(stdout,Hello world!\n); } When I use the supplied proc ³EDCQCBG² to do a compile, link and go I get the following message from the bind step: IEW2456E 9207 SYMBOL FPRINTF UNRESOLVED. MEMBER COULD NOT BE INCLUDED FROM THE DESIGNATED CALL LIBRARY. The output of the Bind step shows a reference to FPRINTF: IEW2322I 1220 159IMPORT CODE64,CELQV003,'fprintf',06D IEW2322I 1220 160IMPORT CODE64,CELQV003,'FPRINTF',06D A 31-bit build works okay using the EDCCLG procedure. Instead of using the procedure I created the JCL from scratch. The bind portion looks like this: //BINDEXEC PGM=IEWL,REGION=20M,COND=(8,LT,COMPILE), // PARM='MAP,RENT,DYNAM=DLL,CASE=MIXED,LIST=NOIMP' //STEPLIB DD DSN=CEE.SCEERUN2,DISP=SHR // DD DSN=CEE.SCEERUN,DISP=SHR //SYSLIB DD DSN=CEE.SCEEBND2,DISP=SHR //SYSPRINT DD SYSOUT=* //SYSLIN DD DSN=*.COMPILE.SYSLIN,DISP=(OLD,DELETE) // DD DSN=CEE.SCEELIB(CELQS003),DISP=SHR // DD DDNAME=SYSIN //SYSINDD * NAME TESTC(R) /* //SYSLMOD DD DSN=IBMUSER.LOAD,DISP=OLD //SYSDEFSD DD DUMMY This time I am getting: IEW2721S DA0B OUTPUT DATA SET FOR DDNAME SYSLMOD AND DATA SET NAME IBMUSER.LOAD IS NOT A PARTITIONED DATA SET OR PDSE. I created the IBMUSER.LOAD PDSE using the following job: //ALLOCDS JOB 51315, // IBMUSER, // NOTIFY=SNAVM4.NEALE, // MSGLEVEL=(1,1) //ALLOCEXEC PGM=IDCAMS,DYNAMNBR=1 //SYSPRINT DDSYSOUT=* //SYSINDD* ALLOC - DSNAME(IBMUSER.LOAD) - NEW - STORCLAS(SC06) - MGMTCLAS(MC06) - DSNTYPE(LIBRARY) /* Did I create the PDSE correctly? Neale -- 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
Re: [NEWBIE] Compiling and Binding 64-bit mode C programs
Go to option 3.2 in ISPF and display the dataset. It should show PO under organization Lizette From: Neale Ferguson Wrote: I am experimenting building 64-bit C programs on my z/OS 1.9 system using the following: #include stdio.h #include stdlib.h int main(int argc, char **argv) { fprintf(stdout,Hello world!\n); } When I use the supplied proc ³EDCQCBG² to do a compile, link and go I get the following message from the bind step: IEW2456E 9207 SYMBOL FPRINTF UNRESOLVED. MEMBER COULD NOT BE INCLUDED FROM THE DESIGNATED CALL LIBRARY. The output of the Bind step shows a reference to FPRINTF: IEW2322I 1220 159IMPORT CODE64,CELQV003,'fprintf',06D IEW2322I 1220 160IMPORT CODE64,CELQV003,'FPRINTF',06D A 31-bit build works okay using the EDCCLG procedure. Instead of using the procedure I created the JCL from scratch. The bind portion looks like this: //BINDEXEC PGM=IEWL,REGION=20M,COND=(8,LT,COMPILE), // PARM='MAP,RENT,DYNAM=DLL,CASE=MIXED,LIST=NOIMP' //STEPLIB DD DSN=CEE.SCEERUN2,DISP=SHR // DD DSN=CEE.SCEERUN,DISP=SHR //SYSLIB DD DSN=CEE.SCEEBND2,DISP=SHR //SYSPRINT DD SYSOUT=* //SYSLIN DD DSN=*.COMPILE.SYSLIN,DISP=(OLD,DELETE) // DD DSN=CEE.SCEELIB(CELQS003),DISP=SHR // DD DDNAME=SYSIN //SYSINDD * NAME TESTC(R) /* //SYSLMOD DD DSN=IBMUSER.LOAD,DISP=OLD //SYSDEFSD DD DUMMY This time I am getting: IEW2721S DA0B OUTPUT DATA SET FOR DDNAME SYSLMOD AND DATA SET NAME IBMUSER.LOAD IS NOT A PARTITIONED DATA SET OR PDSE. I created the IBMUSER.LOAD PDSE using the following job: //ALLOCDS JOB 51315, // IBMUSER, // NOTIFY=SNAVM4.NEALE, // MSGLEVEL=(1,1) //ALLOCEXEC PGM=IDCAMS,DYNAMNBR=1 //SYSPRINT DDSYSOUT=* //SYSINDD* ALLOC - DSNAME(IBMUSER.LOAD) - NEW - STORCLAS(SC06) - MGMTCLAS(MC06) - DSNTYPE(LIBRARY) /* Did I create the PDSE correctly? Neale -- 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
Re: [NEWBIE] Compiling and Binding 64-bit mode C programs
Thanks Lizette, It says NONE which is probably not good. What should I have specified to create a PDSE? On 8/17/10 2:53 PM, Lizette Koehler stars...@mindspring.com wrote: Go to option 3.2 in ISPF and display the dataset. It should show PO under organization Lizette -- 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
Re: [NEWBIE] Compiling and Binding 64-bit mode C programs
This is probably due to your ACS routines. For now, I would use option 3.2 in ISPF to preallocate your datset. Then talk to your Storage Management group to find out how they have the PDSE in your shop handled. Or maybe someone else on this list has a better idea. Lizette -Original Message- From: Neale Ferguson ne...@sinenomine.net Sent: Aug 17, 2010 2:55 PM To: IBM-MAIN@bama.ua.edu Subject: Re: [NEWBIE] Compiling and Binding 64-bit mode C programs Thanks Lizette, It says NONE which is probably not good. What should I have specified to create a PDSE? On 8/17/10 2:53 PM, Lizette Koehler stars...@mindspring.com wrote: Go to option 3.2 in ISPF and display the dataset. It should show PO under organization Lizette -- 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
Re: [NEWBIE] Compiling and Binding 64-bit mode C programs
If you add a DIR(1) to your allocate I think it will work. Neale Ferguson ne...@sinenomine.net 8/17/2010 2:55 PM Thanks Lizette, It says NONE which is probably not good. What should I have specified to create a PDSE? On 8/17/10 2:53 PM, Lizette Koehler stars...@mindspring.com wrote: Go to option 3.2 in ISPF and display the dataset. It should show PO under organization Lizette -- 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 CONFIDENTIALITY/EMAIL NOTICE: The material in this transmission contains confidential and privileged information intended only for the addressee. If you are not the intended recipient, please be advised that you have received this material in error and that any forwarding, copying, printing, distribution, use or disclosure of the material is strictly prohibited. If you have received this material in error, please (i) do not read it, (ii) reply to the sender that you received the message in error, and (iii) erase or destroy the material. Emails are not secure and can be intercepted, amended, lost or destroyed, or contain viruses. You are deemed to have accepted these risks if you communicate with us by email. Thank you. -- 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
Re: [NEWBIE] Compiling and Binding 64-bit mode C programs
Neale, Good to see you here, but I can't imagine that you want to be :-) On Tue, Aug 17, 2010 at 1:35 PM, Neale Ferguson ne...@sinenomine.net wrote: ... When I use the supplied proc ³EDCQCBG² to do a compile, link and go I get the following message from the bind step: IEW2456E 9207 SYMBOL FPRINTF UNRESOLVED. MEMBER COULD NOT BE INCLUDED FROM THE DESIGNATED CALL LIBRARY. This usually means that whoever installed C/C++ on z/OS didn't finish (and customize the procs to point to the right libraries. The good news (for you!) is that there is really no good reason to use JCL to build C/C++ code on z/OS - Just use make along with the one of the cc/c89/c99/xlc commands (these are aliases that invoke the z/OS xlC compiler with different options), and do your builds from the z/OS Unix shell (under ssh, if you have Ported Tools OpenSSH installed, or tty telnet otherwise. You'll hate running the Unix shell under 3270 TSO :-). Your main reference for using these commands will be the z/OS XL C/C++ User's Guide, (see CH 7: Compiling and binding in the z/OS UNIX System Services environment). If you want your load module to eventually run from a PDS or PDSE, then just copy it from the Unix file system as part of your Makefile: cp -X lmod //'HLQ.MY.PDS(LMOD)' (the -X option is for copying load modules / binder objects) FWIW: If you are using C, then you can run from a regular PDS, but if you are using C++, then you are usually forced into using a PDSE. HTH, Kirk Wolf Dovetailed Technologies http://dovetail.com -- 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
Re: [NEWBIE] Compiling and Binding 64-bit mode C programs
Rather than run the ALLOC job I used ISPF 3.2 to define a library with RECFM=U LRECL=32000 BLKSIZE=32000 and everyone is happy. The only outstanding question is why the EDCQCBG procedure got the unresolved symbol error. Thanks... Neale On 8/17/10 3:11 PM, Scott Rowe scott.r...@joann.com wrote: If you add a DIR(1) to your allocate I think it will work. -- 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
Re: [NEWBIE] Compiling and Binding 64-bit mode C programs
I think you can try to use option 3.2 in ISPF , using CEE.SCEERUN like model to create your own PDS Menu RefList Utilities Help -- Data Set Utility A Allocate new data setC Catalog data set R Rename entire data set U Uncatalog data set D Delete entire data set S Short data set information blank Data set information V VSAM Utilities ISPF Library: Project . . Enter / to select option Group . . . / Confirm Data Set Delete Type . . . . Other Partitioned, Sequential or VSAM Data Set: Name . . . . . . . 'CEE.SCEERUN' Volume Serial . . . (If not cataloged, required for option C) Data Set Password . . (If password protected) Option === F1=Help F2=Split F3=Exit F7=Backward F8=Forward F9=Swap F10=Actions F12=Cancel -- Menu RefList Utilities Help -- Allocate New Data Set More: + Data Set Name . . . : AD..LOAD Management class . . .(Blank for default management class) Storage class . . . .(Blank for default storage class) Volume serial . . . . R10A2A (Blank for system default volume) ** Device type . . . . .(Generic unit or device address) ** Data class . . . . . .(Blank for default data class) Space units . . . . . BLOCK (BLKS, TRKS, CYLS, KB, MB, BYTES or RECORDS) Average record unit (M, K, or U) Primary quantity . . 2694 (In above units) Secondary quantity0 (In above units) Directory blocks . . 1119 (Zero for sequential data set) * Record format . . . . U Record length . . . . 0 Block size . . . . . 32760 Data set name typePDS(LIBRARY, HFS, PDS, LARGE, BASIC, * Command === F1=Help F2=Split F3=Exit F7=Backward F8=Forward F9=Swap F10=Actions F12=Cancel Andre, De: Lizette Koehler stars...@mindspring.com Para: IBM-MAIN@bama.ua.edu Data: 17/08/2010 16:04 Assunto: Re: [NEWBIE] Compiling and Binding 64-bit mode C programs This is probably due to your ACS routines. For now, I would use option 3.2 in ISPF to preallocate your datset. Then talk to your Storage Management group to find out how they have the PDSE in your shop handled. Or maybe someone else on this list has a better idea. Lizette -Original Message- From: Neale Ferguson ne...@sinenomine.net Sent: Aug 17, 2010 2:55 PM To: IBM-MAIN@bama.ua.edu Subject: Re: [NEWBIE] Compiling and Binding 64-bit mode C programs Thanks Lizette, It says NONE which is probably not good. What should I have specified to create a PDSE? On 8/17/10 2:53 PM, Lizette Koehler stars...@mindspring.com wrote: Go to option 3.2 in ISPF and display the dataset. It should show PO under organization Lizette -- 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 -- 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
Re: [NEWBIE] Compiling and Binding 64-bit mode C programs
Actually I'm having fun. Gotta love zPDT and the ADCD. I have NJE connections to z/OS from my Linux system where I'm doing my editing etc so I submit jobs from there and hence the need for JCL. On Aug 17, 2010, at 18:15, Kirk Wolf k...@dovetail.com wrote: Neale, Good to see you here, but I can't imagine that you want to be :-) On Tue, Aug 17, 2010 at 1:35 PM, Neale Ferguson ne...@sinenomine.net wrote: ... When I use the supplied proc ³EDCQCBG² to do a compile, link and go I get the following message from the bind step: IEW2456E 9207 SYMBOL FPRINTF UNRESOLVED. MEMBER COULD NOT BE INCLUDED FROM THE DESIGNATED CALL LIBRARY. This usually means that whoever installed C/C++ on z/OS didn't finish (and customize the procs to point to the right libraries. The good news (for you!) is that there is really no good reason to use JCL to build C/C++ code on z/OS - Just use make along with the one of the cc/c89/c99/xlc commands (these are aliases that invoke the z/OS xlC compiler with different options), and do your builds from the z/OS Unix shell (under ssh, if you have Ported Tools OpenSSH installed, or tty telnet otherwise. You'll hate running the Unix shell under 3270 TSO :-). Your main reference for using these commands will be the z/OS XL C/C++ User's Guide, (see CH 7: Compiling and binding in the z/OS UNIX System Services environment). If you want your load module to eventually run from a PDS or PDSE, then just copy it from the Unix file system as part of your Makefile: cp -X lmod //'HLQ.MY.PDS(LMOD)' (the -X option is for copying load modules / binder objects) FWIW: If you are using C, then you can run from a regular PDS, but if you are using C++, then you are usually forced into using a PDSE. HTH, Kirk Wolf Dovetailed Technologies http://dovetail.com -- 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 -- 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
Re: [NEWBIE] Compiling and Binding 64-bit mode C programs
On Tue, 17 Aug 2010 18:17:28 -0500, Neale Ferguson wrote: Actually I'm having fun. Gotta love zPDT and the ADCD. I have NJE connections to z/OS from my Linux system where I'm doing my editing etc so I submit jobs from there and hence the need for JCL. Or you can submit jobs via FTP and avoid the need for NJE. But you still need JCL. Or install the Ported Tools and the attractively priced Co:Z Toolkit and use ssh, perhaps bypassing JCL. gulp IBMUSER /gulp -- gil -- 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
Re: [NEWBIE] Compiling and Binding 64-bit mode C programs
Only rarely will I venture to disagree with Gil, but here goes - You don't need JCL to build C, C++, Java or even assembler on z/OS. We do all of our source development on Linux (using an IDE; Eclipse, but any will do), and then to build we incrementally push changed source files via Ant with either sftp or ftp and then do a make from a z/OS ssh shell (or ssh Ant task). The exception is Java, where we build jars on our Linux workstations and just move them to z/OS via Ant scripts - IMO it is foolish to compile java on z/OS. The only downside, IMO, is that Ant and make can be a struggle to learn, but I'm sure that Neale has forgotten more about make than I know :-) Of course we also use tn3270 sessions, but only use these for ISPF stuff for which there is not good z/OS Unix shell interface. Kirk Wolf Dovetailed Technologies http://dovetail.com On Tue, Aug 17, 2010 at 6:24 PM, Paul Gilmartin paulgboul...@aim.com wrote: snip Or you can submit jobs via FTP and avoid the need for NJE. But you still need JCL. -- gil -- 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 -- 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