Some problem in Parallel Routine

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
JoshGeorge
Participant
Posts: 612
Joined: Thu May 03, 2007 4:59 am
Location: Melbourne

Post by JoshGeorge »

You might not have made the right entries in the General tab for this parallel routine. Cross check "External subroutine name" entry. I have recently made a blog entry on Parallel routines, you can find that in this link
Joshy George
<a href="http://www.linkedin.com/in/joshygeorge1" ><img src="http://www.linkedin.com/img/webpromo/bt ... _80x15.gif" width="80" height="15" border="0"></a>
AmeyJoshi14
Participant
Posts: 334
Joined: Fri Dec 01, 2006 5:17 am
Location: Texas

Same error message

Post by AmeyJoshi14 »

Hi Joshy,

I have seen the link you have given..Thanks for the reply..It is really nice and very helpful. :wink: Thanks once again!! :lol:
I have created the parallel routine as per the example given by you, but for this simple routine
i am again facing the same error message: :cry:

Transformer_24: Failed to load the library "V0S24_Object_test1_Transformer_24.so"; either the directory containing the library file
is not on the library search path, or the library was compiled on a system
that is incompatible with this system: Could not load "V0S24_Object_test1_Transformer_24": ld.so.1: osh: fatal: relocation error: file /data/projectlib/PAR_dev/RT_BP3579.O/V0S24_Object_test1_Transformer_24.so: symbol __1cKObjTestOne6F_pc_: referenced symbol not found.
throbinson
Charter Member
Charter Member
Posts: 299
Joined: Wed Nov 13, 2002 5:38 pm
Location: USA

Post by throbinson »

What's the Compile command line look like?
I think you need to drop the "-c" command line option so that you compile AND link the routine.
JoshGeorge
Participant
Posts: 612
Joined: Thu May 03, 2007 4:59 am
Location: Melbourne

Post by JoshGeorge »

"-c" option is to compile the file and produce an object file. That shouldn't be the cause. Pls. post your compiler, compiler options and all the entries you made in the general tab of parallel routine.
Joshy George
<a href="http://www.linkedin.com/in/joshygeorge1" ><img src="http://www.linkedin.com/img/webpromo/bt ... _80x15.gif" width="80" height="15" border="0"></a>
DSguru2B
Charter Member
Charter Member
Posts: 6854
Joined: Wed Feb 09, 2005 3:44 pm
Location: Houston, TX

Post by DSguru2B »

Go to APT_COMPILER_OPT environment variable, copy the options listed there and provide those options while compiling your c code. Thats the best way to avoid any discrepencies.
for eg: if you APT_COMPILER_OPT = +z +Z -o
then you will compile your code as such (assuming your compiler is aCC)

Code: Select all

aCC +z +Z -o Ereplace.c
Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.
AmeyJoshi14
Participant
Posts: 334
Joined: Fri Dec 01, 2006 5:17 am
Location: Texas

Post by AmeyJoshi14 »

Thanks!!

My complier option
APT_COMPLIEOPT=-dalign -O -PIC -library=iostream -c

So
/opt/SUNWspro/prod/bin/cc -dalign -O -library=stdio,stdlib -c /opt/home/dsadmin/checking/OBJECTTEST.c -o /opt/home/dsadmin/checking/OBJECTTEST.o

In the general tab of Parallel Routine following are the entries:
Routine name=OBJECTTEST
Type= External Function
Object Type=Object
Catergory=Examples\Functions
External subroutine name=ObjTestOne
Return Type =char*
Library Path =/opt/home/dsadmin/checking/OBJECTTEST.o

The C code is as per the Joshy's given link.
Last edited by AmeyJoshi14 on Wed Dec 05, 2007 1:43 am, edited 1 time in total.
JoshGeorge
Participant
Posts: 612
Joined: Thu May 03, 2007 4:59 am
Location: Melbourne

Post by JoshGeorge »

Does that Razz Emoticon means you got what you want? :?
Pls. post your compiler, compiler options ...
Joshy George
<a href="http://www.linkedin.com/in/joshygeorge1" ><img src="http://www.linkedin.com/img/webpromo/bt ... _80x15.gif" width="80" height="15" border="0"></a>
AmeyJoshi14
Participant
Posts: 334
Joined: Fri Dec 01, 2006 5:17 am
Location: Texas

Post by AmeyJoshi14 »

No The problem is not solved yet..... :cry:

Still i am facing the same problem, even though i have tried many other C program....
JoshGeorge
Participant
Posts: 612
Joined: Thu May 03, 2007 4:59 am
Location: Melbourne

Post by JoshGeorge »

Post your compiler and compiler option seperately.

And also confirm if you have compiled using the same syntax:

Compiler : compiler options : {filename with extenstion}
Joshy George
<a href="http://www.linkedin.com/in/joshygeorge1" ><img src="http://www.linkedin.com/img/webpromo/bt ... _80x15.gif" width="80" height="15" border="0"></a>
AmeyJoshi14
Participant
Posts: 334
Joined: Fri Dec 01, 2006 5:17 am
Location: Texas

Post by AmeyJoshi14 »

JoshGeorge wrote:Post your compiler and compiler option seperately.

And also confirm if you have compiled using the same syntax:

Compiler : compiler options : {filename with extenstion}

My complier option
APT_COMPLIEOPT=-dalign -O -PIC -library=iostream -c

So
/opt/SUNWspro/prod/bin/cc -dalign -O -library=stdio,stdlib -c /opt/home/dsadmin/checking/OBJECTTEST.c -o /opt/home/dsadmin/checking/OBJECTTEST.o
iDomz
Participant
Posts: 81
Joined: Wed Jul 25, 2007 5:25 am
Location: London

Post by iDomz »

can you try changing your library parameter as iostream

-library=iostream

just to make sure it is a c++ object and not c.
AmeyJoshi14
Participant
Posts: 334
Joined: Fri Dec 01, 2006 5:17 am
Location: Texas

Post by AmeyJoshi14 »

Hi IDomz,

I have changed the library parameter to iostream. It is working fine...
By doing thsi i also changed the complier option from cc to CC
so code is changed to
/opt/SUNWspro/prod/bin/CC -dalign -O -library=iostream -c /opt/home/dsadmin/checking/OBJECTTEST1.cpp
JoshGeorge
Participant
Posts: 612
Joined: Thu May 03, 2007 4:59 am
Location: Melbourne

Post by JoshGeorge »

Good to hear you finally managed to get it working. As noted repeatedly in the thread you should have used your APT_COMPLIEOPT ie. "-dalign -O -PIC -library=iostream -c" for compiling, instead of "-dalign -O -library =stdio,stdlib -c" . So time for you to mark the thread as resolved. :D
Joshy George
<a href="http://www.linkedin.com/in/joshygeorge1" ><img src="http://www.linkedin.com/img/webpromo/bt ... _80x15.gif" width="80" height="15" border="0"></a>
AmeyJoshi14
Participant
Posts: 334
Joined: Fri Dec 01, 2006 5:17 am
Location: Texas

Post by AmeyJoshi14 »

Yes ,the main problem was due to complier... I was using C compiler not C++ Complier..Due to this my code was getting complied by C complier and not C++ complier... :P
Thanks all for your help!!! :D
Post Reply