Linux to Sun migration

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
snt_ds
Premium Member
Premium Member
Posts: 280
Joined: Wed Oct 18, 2006 11:53 am
Location: Pune, India

Linux to Sun migration

Post by snt_ds »

Hi,

We recently migrated the DS parallel server from Linux to Sun Solaris machine.
Issues faced were
1. need to compile every DS object and c++ code. Is there any other way out?

2. The jobs that refer to custom routines is having problem during execution. we used g++ compler on linux to compile cc code. after we moved to sun the same were recompiled in CC [APT_COMPILER and APT_LINKER point to CC path]? Why idea why?

Transformer_3: Failed to load the library "V0S3_testcompare_Transformer_3.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 "V0S3_testcompare_Transformer_3": ld.so.1: osh: fatal: relocation error: file /ETL_PROJECTS/TRAINING/RT_BP34.O/V0S3_testcompare_Transformer_3.so: symbol __1cHcompare6Fpc0_W_: referenced symbol not found.
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

Although server object code is portable the same does not apply to any c++ objects or PX jobs.
Step (1) is necessary
Step (2) means you need to recompile and bind your object library for customer routines
Step (3) looks like missing object code.

Did you do a FORCE recompile?
snt_ds
Premium Member
Premium Member
Posts: 280
Joined: Wed Oct 18, 2006 11:53 am
Location: Pune, India

Post by snt_ds »

ArndW wrote:Although server object code is portable the same does not apply to any c++ objects or PX jobs.
Step (1) is necessary
Step (2) means you need to recompile and bind your object library for customer routines
Step (3) looks like missing object code.

Did you do a FORCE recompile?
1. I compiled the cc code as CC -G -o XX.so XX.cc

2. COMPILED job

Found the reason.
In Linux like mentioned earlier the cc code was compiled in g++. The return value of the funtion is INT. But in the routine, the return value was mentioned as CHAR. This worked fine in the LINUX env.
But when we moved to SUN, and recomplied the cc code in CC, I had to change to return type in the routine to be INT (same as in the code); for the jobs to work
Post Reply