DSXchange: DataStage and IBM Websphere Data Integration Forum
View next topic
View previous topic
Add To Favorites
This topic has been marked "Resolved."
Author Message
asorrell
Site Admin

Group memberships:
Premium Members, DSXchange Team, Inner Circle, Server to Parallel Transition Group

Joined: 04 Apr 2003
Posts: 1685
Location: Colleyville, Texas
Points: 22901

Post Posted: Thu Sep 27, 2018 9:42 pm Reply with quote    Back to top    

DataStage® Release: 11x
Job Type: Parallel
OS: Unix
We're working on a custom transformer routine that calls a custom C++ function. The C++ function has been compiled with the same compiler options as DataStage.

We've got the lib path in the LD_LIBRARY_PATH, and in also put in the source and include paths just in case.

The DataStage job fails at runtime with:

Code:
Error when checking composite operator: Failed to load the library "V0S130_TestJob_xfm_Protect.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 "V0S130_TestJob_xfm_Protect":
/InformationServer/Server/Projects/EDW2020_DEV/RT_BP9555.O/V0S130_TestJob_xfm_Protect.so: undefined symbol: ProtectParamsDefaults_v1.


ProtectParamsDefaults_v1 is defined in one of the include files that is correctly referenced in our C++ program.

We are puzzled as to why the transformer won't compile, saying it can't find that symbol.

Any thoughts?

_________________
Andy Sorrell
Certified DataStage Consultant
IBM Analytics Champion 2009 - 2017
ray.wurlod

Premium Poster
Participant

Group memberships:
Premium Members, Inner Circle, Australia Usergroup, Server to Parallel Transition Group

Joined: 23 Oct 2002
Posts: 54407
Location: Sydney, Australia
Points: 295092

Post Posted: Tue Oct 02, 2018 8:35 pm Reply with quote    Back to top    

Did you ever figure this out? I couldn't think of anything sensible to contribute, except maybe moving the components into RT_SCnnnn directory.

_________________
RXP Services Ltd
Melbourne | Canberra | Sydney | Hong Kong | Hobart | Brisbane
currently hiring: Canberra, Sydney and Melbourne (especially seeking good business analysts)
Rate this response:  
Not yet rated
asorrell
Site Admin

Group memberships:
Premium Members, DSXchange Team, Inner Circle, Server to Parallel Transition Group

Joined: 04 Apr 2003
Posts: 1685
Location: Colleyville, Texas
Points: 22901

Post Posted: Wed Oct 10, 2018 7:39 am Reply with quote    Back to top    

The error was misleading. We had several problems that apparently combined to confuse the situation.

The C routine had arguments that were unsigned char* and the parallel routine definition only supported char* . The same mismatch occurred for the return value. We used casting in the C routine to switch the data type to a supported value (char*).

We also added "-shared" to the compile / link options for the C routine.

With those done, the routine started working. It is orders of magnitude faster than the Java version we were using.

_________________
Andy Sorrell
Certified DataStage Consultant
IBM Analytics Champion 2009 - 2017
Rate this response:  
Not yet rated
ray.wurlod

Premium Poster
Participant

Group memberships:
Premium Members, Inner Circle, Australia Usergroup, Server to Parallel Transition Group

Joined: 23 Oct 2002
Posts: 54407
Location: Sydney, Australia
Points: 295092

Post Posted: Wed Oct 10, 2018 5:44 pm Reply with quote    Back to top    

I feel that an enhancement request is in the offing.

There is no good reason not to support unsigned char* (there are many of them out there). And the parallel routine definition is not much more than a mechanism for checking arguments.

_________________
RXP Services Ltd
Melbourne | Canberra | Sydney | Hong Kong | Hobart | Brisbane
currently hiring: Canberra, Sydney and Melbourne (especially seeking good business analysts)
Rate this response:  
Not yet rated
Display posts from previous:       

Add To Favorites
View next topic
View previous topic
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum



Powered by phpBB © 2001, 2002 phpBB Group
Theme & Graphics by Daz :: Portal by Smartor
All times are GMT - 6 Hours