Page 1 of 1

Parallel Routine

Posted: Thu May 25, 2006 11:46 pm
by saikrishna
Hi

We have two C functions(in Unix)..namely fun1 and fun2...which are present in different files.

We are calling fun2 from fun1. The file that contains fun1 has the signature of the fun2.

Now in DataStage..We created parallel routine, that is calling fun1 (which intern calls fun2).....

This situation is not working with datastage...We are getting the following error in director:
Transformer_2: Failed to load the library "V0S2_CopyOfUntitled1_Transformer_2.o"; 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 "V0S2_CopyOfUntitled1_Transformer_2": rtld: 0712-001 Symbol fun2__Fv was referenced
from module /dstage/Ascential/DataStage/Projects/test/RT_BP40.O/V0S2_CopyOfUntitled1_Transformer_2.o(), but a runtime definition
of the symbol was not found..

If we use the two functions in the same file and compile to object file..then calling fun1 from datastage is working fine.....

Please help us in this integration scenario

We are expecting the problem to be in making the 2 files into one object file...

Thanks
Sai

Posted: Thu May 25, 2006 11:55 pm
by ray.wurlod
There's no problem putting as many functions as you like into one object file. The make procedure will ensure that they are all visible.
Is this library visible via your shared library search path (that is, the directories named in the LD_LIBRARY_PATH, LIBPATH or SHLIB_PATH environment variable)?

Posted: Fri May 26, 2006 12:14 am
by saikrishna
Yes Ray....

We are using object option in object type instead of library option.....

the path of the object file along with the object file name is been specified in Library path

The object file is visible in the Library path.....

If we make a single file containing two functions (fun1 and fun2) into object file...then using that object file in the DataStage jobs..it is working fine....

the problem is with the multiple functions in different files....Could u pls direct us in this regard....

Posted: Fri May 26, 2006 3:03 am
by Eric
I think each object library you want to create should have it's own parallel rountine definition in your DataStage project. You can then reference the different methods though it's defined parallel routine reference.

Posted: Fri May 26, 2006 9:00 am
by kumar_s
Are the two files in the same location?
Have you tried calling the two routines indivudually from datastage?

Posted: Sun May 28, 2006 11:55 pm
by saikrishna
Eric

If we design a seperate parallel routines for each C routine files...It wont solve my problem...as Inside the second C file...It uses the functions of first file....So I need to integrate in C/Unix environment not at datastage level.....


kumar_s

The two files are in the same location in Unix....I tried calling the functions in the files separately..It is working....

Posted: Tue Aug 08, 2006 3:49 pm
by devnull
saikrishna wrote:Eric

If we design a seperate parallel routines for each C routine files...It wont solve my problem...as Inside the second C file...It uses the functions of first file....So I need to integrate in C/Unix environment not at datastage level.....


kumar_s

The two files are in the same location in Unix....I tried calling the functions in the files separately..It is working....
How would you do this with a buildop?