Hello,
I have an application written in C which collects data from an MQSeries queue and then processes it. It's been running solid for the last several months. We had some extra (and complex) requirements to process the data and it'd have taken long to accomplish that in C. Being a Perl fan as I am, I wrote a Perl script which accomplishes the task seamlessly. I now needed to incorporate (embed) that Perl code into my existing C application. As I had never done that before, I experimented with it first, using the examples in "perlembed" and passing parameters to/from the perl script. It all worked fine and I was pretty confident I could now try my hand at incorporating the two pieces together and it'd work.
That's where the problem started. When I changed my code, compiled/linked it, and then tried to run it, it core dumped at MQCONN(). Somehow even if you don't have any Perl related code embedded in your code but still you linked it with embedded perl, it'd core dump at the 1st MQSeries call. I'm compiling & linking by adding (as appropriately suggested by "perlembed") `perl -MExtUtils::Embed -e ccopts` and `perl -MExtUtils::Embed -e ldopts` to my existing compiler and linker commands respectively. This also makes sure that I'm incorporating/linking Perl into my code exactly the way actual Perl executable has been built on our system.
Has anyone else seen this problem of perl and MQSeries?? Can someone shed some light on it? Is there someone who's been successful in getting MQSeries and embedded perl work??
I'm kinda lost here and if I'm not able to get this resolved, I'd have to (horrors!) try the whole thing in C (which anyone won't really want, especially when having already done that so easily in Perl).
Any help would be greatly appreciated.
Thanks, Salman
-- Using Opera's revolutionary e-mail client: http://www.opera.com/m2/