Page 1 of 1

linking static libraries using parallel routine

Posted: Tue Feb 03, 2004 8:38 am
by Inquisitive
Hi All,
I need to call a function written using C++ into a static library ( .a file )
I am getting run time errors. I learnt from the help file that it is possible

External Function. This calls a function from a UNIX shared library, and may be used anywhere an expression can be defined. Any external function defined appear in the expression editor operand menu under Parallel Routines.


I have given the absolute path to the library, but it is giving me the error referenced symbol not found during runtime. The compilation of the job has gone thro fine.

Thanks Much

Posted: Thu Feb 05, 2004 8:27 am
by Inquisitive
Can some one give me inputs. Any tried this before.

Thanks

Posted: Thu Feb 05, 2004 8:32 am
by chulett
You might have better luck posting this over in the Parallel Extender forum...

Posted: Thu Feb 05, 2004 4:13 pm
by Teej
Sorry, can't help here until I start playing with 7.0.1. Just got it installed today, and oh my it's pretty. :mrgreen:

-T.J.

Posted: Thu Feb 05, 2004 4:22 pm
by wdudek
Is the C++ compiler casuing name mangling to occur? Depending on the settings used by the compiler, c++ will add unusual symbols to the function name so that is can support two functions with the same name, but differnt parameter lists/types. In this case a function name GetMyFile might actually look like GetMyFile@@2332VVd@ or something else (this is compiler dependent). I haven't worked with parallel routines, but assuming that you have to tell it the name of the function you may have to add something like this to the function name. The person who wrote the function should be able to tell you if this is happening.

Re: linking static libraries using parallel routine

Posted: Thu Feb 05, 2004 4:41 pm
by dsguy1247
Hi,

From the quoted statement in the original post it appears that you can used shared libraries (.*.so) but not static libraries. I have used external C function earlier but they were all dynamic libraries.

I am not sure if this observation was helpful but I thought I should share it.

All the best

Re: linking static libraries using parallel routine

Posted: Wed Feb 11, 2004 9:53 am
by rggoud
Hi,

When we tried initially, we were also getting this error "Referenced Symbol Not Found". After compiling again with CC (C++) Compiler (Datastage Documentation says the external library should be shared library created by using CC compiler) , the code worked. I'm not sure whether you can call a static library from a parellel routine.

Thanks.

linking static libraries using parallel routine

Posted: Sat Feb 14, 2004 12:48 am
by bigpoppa
Is this issue resolved?

BP

Posted: Sun Feb 15, 2004 11:02 pm
by Teej
The question on whether static libraries can be called, the answer is no, it can not be called. Dynamic shared objects, on the other hand, can be called.

-T.J.