s***@gmail.com
2005-08-10 15:21:06 UTC
Getting it on my MQCONN call.
2012 MQRC_ENVIRONMENT_ERROR Call not valid in environment.
The call is not valid for the current environment.
The application is linked to the wrong libraries (threaded or
nonthreaded).
I am dynamically loading (C++) the libmqm_r.so library, fetching a
pointer to MQCONN and then calling it; then I get this error.
My app is multithreaded, hence why I use the _r variant.
If I switch to using libmqic_r.so and call MQCONNX then it works. That
seems to make no sense. If the multithreaded client library works, why
would the multithreaded server library not work?
But what is error 2012 really saying?
How is it that I would be linked to the wrong library?
What constitutes the check for this?
use the regular non_r version".
Well, I'm doing that, so I don't understand why I'm getting the error.
2012 MQRC_ENVIRONMENT_ERROR Call not valid in environment.
The call is not valid for the current environment.
The application is linked to the wrong libraries (threaded or
nonthreaded).
I am dynamically loading (C++) the libmqm_r.so library, fetching a
pointer to MQCONN and then calling it; then I get this error.
My app is multithreaded, hence why I use the _r variant.
If I switch to using libmqic_r.so and call MQCONNX then it works. That
seems to make no sense. If the multithreaded client library works, why
would the multithreaded server library not work?
But what is error 2012 really saying?
How is it that I would be linked to the wrong library?
What constitutes the check for this?
From my position I'd assume it means "link/load the _r lib variant if
your app has (or will potentially have) more than one thread, otherwiseuse the regular non_r version".
Well, I'm doing that, so I don't understand why I'm getting the error.