IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Error in linkedit step cobol calling C++ code


IBM Mainframe Forums -> PL/I & Assembler
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Mon Dec 27, 2010 10:54 pm
Reply with quote

Quote:
Once again the use of English has caused misunderstanding. . .
I made the remark as a memento(remember) for future better wording
all languages have their own quirks and, depending on personal habits, peeves

for a lighter examples i see quite often the statement
Quote:
have a great(*) weekend
for my personal way of seeing things the statement is logically wrong
You can tell that something is great after not before the event
have a nice/good weekend and on monday you can tell if it was great or not icon_biggrin.gif
(*) same comment applies to wonderful

that' s what I was trying to understand when I said ...
Quote:
is this the first attempt to interlanguage communication ( COBOL C++ )?
NO... then the TS should have been already given directions on how to proceed
YES... ( depends on the task assigned to and the role of the TS )
if pure clueless end user see case NO
otherwise the TS might have to carry on the research and setup by himself
and after that give feedback to the support for company wide implementation
Back to top
View user's profile Send private message
manojsharma1122

New User


Joined: 24 Jul 2007
Posts: 12
Location: india

PostPosted: Tue Dec 28, 2010 3:36 pm
Reply with quote

dick scherrer wrote:
Hello,

Once again the use of English has caused misunderstanding. . . icon_sad.gif

Manoj,

Did this ever work or has this problem occurred every time this jcl was used? What is the difference between this jcl and the "standard" compile/link jcl?


Hello Dick,

Thanks for looking into the matter. Now answering to your question, my linkedit step did not worked ever. I tried it the way Enrico suggested but it is still failing.

with the standard jcl which i have i am getting the error:

IEW2456E 9207 SYMBOL POLICY UNRESOLVED

POLICY is my C++ code

Then I tried the way Enrico suggested and got the following error:

IEW2456E 9207 SYMBOL CBCSG003 UNRESOLVED
IEW2456E 9207 SYMBOL __as__6ImqStrFRC6ImqStr UNRESOLVED

and when I tried to find some info on google
www-304.ibm.com/support/docview.wss?uid=swg1PK84945
what I found that the compiler option EXTRN(SHORT) should be used and again the sad part was that this option was not supported by the compiler.

Will appreciate your views on this.

Regards,
Manoj
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Tue Dec 28, 2010 4:08 pm
Reply with quote

It still fails because You did not care to read my other post with the pointer to CEE.SCEECPP
Back to top
View user's profile Send private message
manojsharma1122

New User


Joined: 24 Jul 2007
Posts: 12
Location: india

PostPosted: Tue Dec 28, 2010 5:26 pm
Reply with quote

enrico-sorichetti wrote:
It still fails because You did not care to read my other post with the pointer to CEE.SCEECPP


Hello Enrico,

Yes you are correct I missed that post and did not included this library. When I ran my jcl with the changes it gave me following error. May be I am querring too much and sorry for that. Can you suggest me something more. And thanks for your patience and help.

IEW2456E 9207 SYMBOL __as__6ImqStrFRC6ImqStr UNRESOLVED. MEMBE
IEW2456E 9207 SYMBOL __ct__6ImqStrFPCc UNRESOLVED. MEMBER COUL
IEW2456E 9207 SYMBOL __dt__6ImqStrFv UNRESOLVED. MEMBER COULD
IEW2456E 9207 SYMBOL __dt__6ImqMgrFv UNRESOLVED. MEMBER COULD
IEW2456E 9207 SYMBOL __dt__6ImqQueFv UNRESOLVED. MEMBER COULD
IEW2456E 9207 SYMBOL __dt__6ImqMsgFv UNRESOLVED. MEMBER COULD
IEW2456E 9207 SYMBOL __dt__6ImqIihFv UNRESOLVED. MEMBER COULD
IEW2456E 9207 SYMBOL put__6ImqQueFR6ImqMsg UNRESOLVED. MEMBER

attachment deleted, does not convey any additional info
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Tue Dec 28, 2010 6:01 pm
Reply with quote

manojsharma1122, have you studied -- intensely -- the IBM manual in the Language Environment bookshelf entitled Language Environment: Writing Interlanguage Communication Applications? And, specifically, have you studied chapter 5 on C++ and COBOL interactions? From this manual:
Quote:
5.1.5 Building a Reentrant C++ to COBOL Application

By default, the XL C++ compiler generates object modules with constructed reentrancy. Therefore, linking a C++ to COBOL application is a two-step process:

1. Prelink all C++ and COBOL text decks together using the prelinker.

2. Link the text deck generated by the prelinker to create your module.
I don't see anywhere that you are using a two-step link -- you have only posted one step of linkage editor / binder JCL.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Tue Dec 28, 2010 7:48 pm
Reply with quote

in one of my previous posts I said
Quote:
procedures to be used for compile prelink link and friends!


I wrongly assumed also that the TS had read and meditated on both

publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/CEEA2190/CCONTENTS?SHELF=CEE2BK90&DN=SA22-7561-09&DT=20080603042013

publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/CEEA4160/CCONTENTS?SHELF=CEE2BK90&DN=SA22-7563-06&DT=20080602121454

when tackling advanced techniques, reading manuals seems a prerequisite !
Back to top
View user's profile Send private message
manojsharma1122

New User


Joined: 24 Jul 2007
Posts: 12
Location: india

PostPosted: Tue Dec 28, 2010 8:08 pm
Reply with quote

Robert Sample wrote:
manojsharma1122, have you studied -- intensely -- the IBM manual in the Language Environment bookshelf entitled Language Environment: Writing Interlanguage Communication Applications? And, specifically, have you studied chapter 5 on C++ and COBOL interactions? From this manual:
Quote:
5.1.5 Building a Reentrant C++ to COBOL Application

By default, the XL C++ compiler generates object modules with constructed reentrancy. Therefore, linking a C++ to COBOL application is a two-step process:

1. Prelink all C++ and COBOL text decks together using the prelinker.

2. Link the text deck generated by the prelinker to create your module.
I don't see anywhere that you are using a two-step link -- you have only posted one step of linkage editor / binder JCL.


Robert,

Thanks for your guidance. The procedure which I am using to compile and linkimg editing also includes the prelink part. On checking the spool of the job the prelink step shows the following error:

ERROR EDC4014: Undefined writable static objects are detected:
ImqMsg::virtual-fn-table-ptr-table ImqQue::virtual-fn-table-ptr-table
ImqMgr::virtual-fn-table-ptr-table

When I tried to find the details about this error all the got was that it is because of the compiler version but could not find any solution.

www-01.ibm.com/support/docview.wss?uid=isg1PM08840&myns=swgrat&mynp=OCSSTLTF&mync=R

Will appreciate any help.

Regards,
Manoj
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Tue Dec 28, 2010 8:34 pm
Reply with quote

the C++ <thing> did You write it Yourself or is part of some package out of Your control

anyway the message explanation is clear ...
Quote:
EDC4014E Undefined writable static objects were detected:
Explanation: The listed writable static objects were undefined at prelink termination.
Programmer Response: Include these objects during the prelink.
System Action: Incorrect or undefined execution could result.


see
publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/CEEA9190/CCONTENTS?SHELF=CEE2BK90&DN=SA22-7566-09&DT=20080602034358

don' t You feel that it would be better start doing a bit of manual reading on Your own!
help yes, but here we are doing what You should be doing
Back to top
View user's profile Send private message
manojsharma1122

New User


Joined: 24 Jul 2007
Posts: 12
Location: india

PostPosted: Tue Dec 28, 2010 9:29 pm
Reply with quote

enrico-sorichetti wrote:
the C++ <thing> did You write it Yourself or is part of some package out of Your control

anyway the message explanation is clear ...
Quote:
EDC4014E Undefined writable static objects were detected:
Explanation: The listed writable static objects were undefined at prelink termination.
Programmer Response: Include these objects during the prelink.
System Action: Incorrect or undefined execution could result.


see
publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/CEEA9190/CCONTENTS?SHELF=CEE2BK90&DN=SA22-7566-09&DT=20080602034358

don' t You feel that it would be better start doing a bit of manual reading on Your own!
help yes, but here we are doing what You should be doing


Enrico,

I agree to you but sometimes one has to work on things which are very new to you and for that one needs support from the experienced guys. And yes learning something new takes a lot of pain but being a mentor also takes a lot of pain.
Am a cobol programmer and this C++ stuff is very new to me which is already being used and i haven't addded anything new to that, working on the same thing which is already running.

Thanks for all your help.

Regards,
Manoj
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Tue Dec 28, 2010 9:45 pm
Reply with quote

Quote:
... mentor also takes a lot of pain.

usually because of the attitude of the people we try to help...

remember that answering on a forum is
on voluntary base
on our own time
our own equipment
free of charge

with no obligation whatsoever toward those who ask

so for what reason should we bear pain,
we are not a charitable organization, nor we answer because we seek heaven icon_biggrin.gif
we answer because we like to do it, and when the pain is greater than the pleasure ...
the results might become unpredictable


Quote:
...which is already being used and i haven't addded anything new to that, working on the same thing which is already running.

why in heaven don' t You ask Your peers or those who implemented it already?
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Tue Dec 28, 2010 10:48 pm
Reply with quote

Hi Enrico,

Quote:
why in heaven don' t You ask Your peers or those who implemented it already?
This may be the first time on the system Manoj is using. . .

If it is not the first time, there should be standard compile/link processes already in place and these syhould be used.

If it is the first time, the people who support the compilers/linker(s) shyould be involved in the creation of the new process(es).

Personally, i do not believe this is something an application developer should even be doing (creating compile/link processes). . .
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Tue Dec 28, 2010 11:04 pm
Reply with quote

Hi Dick,
unfortunately people read/listen only to what they want to be told!
I repeated the concept quite a few times, with little result I guess!
cheers
enrico
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> PL/I & Assembler Goto page 1, 2  Next

 


Similar Topics
Topic Forum Replies
No new posts Replace each space in cobol string wi... COBOL Programming 3
No new posts Error to read log with rexx CLIST & REXX 11
No new posts COBOL -Linkage Section-Case Sensitive COBOL Programming 1
No new posts Error when install DB2 DB2 2
No new posts run rexx code with jcl CLIST & REXX 15
Search our Forums:

Back to Top