Author |
Message
|
RogerLacroix |
Posted: Sun Jan 14, 2007 9:36 pm Post subject: z/OS Help |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
All,
I'm getting a really strange error from the z/OS linker when I try to build a program (exit) on the mainframe.
Quote: |
IEW2606S 4B39 MODULE INCORPORATES VERSION 3 PROGRAM OBJECT FEATURES AND CANNOT BE SAVED IN LOAD MODULE FORMAT |
This is the only error message that I get. It compiles (RC=00) and prelinks (RC=04) just fine. I have checked and rechecked both the prelink and link parameters but I don't see anything wrong with them but a fresh pair of eyes will probably stop the problem in a second.
I have separate C sources for common modules and compile them individually (see edcc.jcl ). Then I compile, prelink and link the main C source (see edccpl.jcl ). I have done this many times in the past on the mainframe for different customers without any problems.
JCL:
Code: |
//COMP001 EXEC EDCC,MEMBER='CWSXC1'
//COMP002 EXEC EDCC,MEMBER='CWSXC2'
//COMP003 EXEC EDCC,MEMBER='CWSXC3'
//*
//CPL01 EXEC EDCCPL,MEMBER='TSTEXIT' |
PreLink statements:
Code: |
INCLUDE SYSMOD
INCLUDE OBJECT(CWSXC1)
INCLUDE OBJECT(CWSXC2)
INCLUDE OBJECT(CWSXC3) |
Link Statements
Code: |
INCLUDE SYSLIB(EDCXMEM)
INCLUDE SYSLIB(CSQXSTUB)
INCLUDE SYSLIB(CWSXC1)
INCLUDE SYSLIB(CWSXC2)
INCLUDE SYSLIB(CWSXC3)
ENTRY TSTEXIT
NAME TSTEXIT(R) |
Ok, now to the strange part. I can build a "HelloWorld" application without any problem using the edccpl.jcl PROC. If I take all the C source code for TSTEXIT and put it all into 1 C source file then it will build just fine using the edccpl.jcl PROC.
Therefore, there must be something wrong with either my prelink or link parameters but I don't see it.
I even deleted my LOAD dataset and recreated it exactly the same as the WMQ SCSQLOAD dataset but it made no difference.
Any help would be appreciated.
Regards,
Roger Lacroix
Capitalware Inc. _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
Mr Butcher |
Posted: Sun Jan 14, 2007 10:34 pm Post subject: |
|
|
 Padawan
Joined: 23 May 2005 Posts: 1716
|
Roger,
define the oputput library as a PDSE (type=LIBRARY) and try again. _________________ Regards, Butcher |
|
Back to top |
|
 |
RogerLacroix |
Posted: Tue Jan 16, 2007 10:56 am Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
|
Back to top |
|
 |
cicsprog |
Posted: Tue Jan 16, 2007 4:22 pm Post subject: |
|
|
Partisan
Joined: 27 Jan 2002 Posts: 347
|
What version of z/OS are you compiling under? Poking around in google, I'm wondering if it has to be a PDSE for possible future 64 bit addressing. Maybe your compile link IBM supplied JCL/"Compile Options" your using are trying to make 64 bit addressing possible by forcing the PDSE. MQ should be (maybe already) 64 bit capable and I'd bet any exits might need to be 64 bit capable. Just a guess.
http://www-03.ibm.com/servers/eserver/zseries/zos/le/conference/pdf/swa8284.pdf |
|
Back to top |
|
 |
cicsprog |
Posted: Tue Jan 16, 2007 5:58 pm Post subject: |
|
|
Partisan
Joined: 27 Jan 2002 Posts: 347
|
|
Back to top |
|
 |
Mr Butcher |
Posted: Tue Jan 16, 2007 11:16 pm Post subject: |
|
|
 Padawan
Joined: 23 May 2005 Posts: 1716
|
there is lots of stuff that you can read in the mainframe c documentation about binding and prelinking, i had a fast look hoping to be able to provide an answer, but it looks like this needs more time then just 5 minutes of study.
my colleague said, that it depends on
1. what the program uses
2. on the (default) options of the linkage
so it may be that the linkage editor encountered "things" in your program that it is only able to store when using a pdse, or that maybe the linkage options are set so that a pdse is required in any case.
or maybe something else.  _________________ Regards, Butcher |
|
Back to top |
|
 |
RogerLacroix |
Posted: Sun Jan 21, 2007 10:34 am Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
Hi,
I created a PDSE dataset and life is fine now.
Can a PDSE dataset with load-modules (recfm=U) be off-loaded (TSO SEND) the same way as regular PDS?
Regards,
Roger Lacroix
Capitalware Inc. _________________ Capitalware: Transforming tomorrow into today.
Connected to MQ!
Twitter |
|
Back to top |
|
 |
ramires |
Posted: Sun Jan 21, 2007 2:18 pm Post subject: |
|
|
Knight
Joined: 24 Jun 2001 Posts: 523 Location: Portugal - Lisboa
|
You can try this:
1. "XMIT anynode.anyid DA(dataset) OUTDS(SEQFILE)"
this creates a fix lrecl 80 SEQFILE
2. Use FTP to transfer file SEQFILE.
ftp it in binary
3. At receiver system type "RECEIVE INDS(SEQFILE)"
folow the prompts
Hope it does what you want.
Regards, |
|
Back to top |
|
 |
KevinF23492 |
Posted: Sun Jan 21, 2007 6:04 pm Post subject: |
|
|
Novice
Joined: 26 Dec 2006 Posts: 22
|
Quote: |
Can a PDSE dataset with load-modules (recfm=U) be off-loaded (TSO SEND) the same way as regular PDS?
|
Yes. No problem....and every z/OS shop should support PDSEs these days too. |
|
Back to top |
|
 |
RogerLacroix |
Posted: Mon Jan 22, 2007 8:55 am Post subject: |
|
|
 Jedi Knight
Joined: 15 May 2001 Posts: 3264 Location: London, ON Canada
|
|
Back to top |
|
 |
|