|
RSS Feed - WebSphere MQ Support
|
RSS Feed - Message Broker Support
|
 |
|
OpenEdge V10 not working with MQ shared object library |
« View previous topic :: View next topic » |
Author |
Message
|
Boomn4x4 |
Posted: Tue Dec 06, 2011 5:20 am Post subject: OpenEdge V10 not working with MQ shared object library |
|
|
Disciple
Joined: 28 Nov 2011 Posts: 172
|
I've written a C++ shared object library to use within OpenEdge v10. The library is for WebSphere MQ functionality.
I have all of the .so code commented out except the variable declaration of the MQ object so there really isn't much code to cause a problem.
Basically, the entire function is:
Code: |
int putMessage(const char *destination, const char *message, unsigned int message_len )
{
in rc = 0;
ImqQueueManager manager ;
return rc;
} |
When I try to run my progress application I get the following error:
Could not oopen Dynamic Library ... (8013)
DLL Error ....: undefined symbol: _ZN6ImqMgrC1Ev(8014)
Could not load DLL procedure ... (3258)
My first assumption is that I have something wrong with my environment paths... but no clue where to go from here. Any help would be appreciated. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Dec 06, 2011 6:45 am Post subject: Re: OpenEdge V10 not working with MQ shared object library |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Boomn4x4 wrote: |
I've written a C++ shared object library to use within OpenEdge v10. |
Ok, never heard of that. View my comments in that light.
Boomn4x4 wrote: |
I have all of the .so code commented out except the variable declaration of the MQ object so there really isn't much code to cause a problem. |
.so implies some flavour of Unix perhaps?
Boomn4x4 wrote: |
My first assumption is that I have something wrong with my environment paths... but no clue where to go from here. Any help would be appreciated. |
I'd agree with that, and (having got a crash course on OpenEdge from Mr Google) I'd start with the vendors. I once met a weird interpreted COBOL that needed all the dll files (it was on Windows) in an ini file to be loaded into the run time process or the user COBOL couldn't call them (i.e. treating databases & WMQ like user exits). Something similar could be at work here.
Next obvious point is how the code is being executed; is it starting a new command shell? Does this new shell have the correct path for WMQ? Is it based on the user running the code or some user running the OpenEdge process (assuming the existence of such a process)? Perhaps put a printf somewhere and see what the path is when your code runs? _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Boomn4x4 |
Posted: Tue Dec 06, 2011 7:32 am Post subject: |
|
|
Disciple
Joined: 28 Nov 2011 Posts: 172
|
Problem solved.
The issue was that I was not linking in my MQ libraries at compile time. Since they were not linked at compile time, OpenEdge did not know where to find the libraries at run time.
Linking in the MQ libraries at compile time solved the problem. |
|
Back to top |
|
 |
|
|
 |
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|
|
|