Page 1 of 1

Runtime Error in transformer!!!!!

Posted: Fri Aug 12, 2005 3:20 am
by s_rkhan
Hi All,

We have installed a new PX server and while running the Parallel transformer we are getting the following runtime error:-

Transformer_1: Failed to load the library "V0S1_testjobtrans_Transformer_1.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 "V0S1_testjobtrans_Transformer_1": /opt/datastage/Ascential/DataStage/Projects/test/RT_BP23.O/V0S1_testjobtrans_Transformer_1.so: undefined symbol: __ti22APT_CombinableOperator.


Variable LD_LIBRARY_PATH is already set to /usr/lib.

Please provide a resolution to the above problem

Thanks
sk

Re: Runtime Error in transformer!!!!!

Posted: Fri Aug 12, 2005 3:36 am
by tusharzade
check whether your C license expired? Also check the version of C is compatible with the DS version.

Re: Runtime Error in transformer

Posted: Fri Aug 12, 2005 3:45 am
by s_rkhan
tusharzade wrote:check whether your C license expired? Also check the version of C is compatible with the DS version.

Hi,

Version of C++ compiler is g++ 2.96 which is the compatible with DS 7.5 on linux machines.

Regards
sk

Posted: Fri Aug 12, 2005 5:34 pm
by ray.wurlod
/usr/lib is definitely not enough. You also need the DataStage lib directory, the branded ODBC drivers' lib directory, any other operating system library directories and, in particular, the directory containing the "missing" V0S1_testjobtrans_Transformer_1.so.

You need to adjust LD_LIBRARY_PATH in $DSHOME/dsenv so that DataStage processes can find the generated library.

Posted: Mon Aug 15, 2005 10:46 pm
by s_rkhan
ray.wurlod wrote:/usr/lib is definitely not enough. You also need the DataStage lib directory, the branded ODBC drivers' lib directory, any other operating system library directories and, in particular, the directory containing the "missing" V0S1_testjobtrans_Transformer_1.so.

You need to adjust LD_LIBRARY_PATH in $DSHOME/dsenv so that DataStage processes can find the generated library.

Hi,
Thanks for the solution Ray but even after setting the
LD_LIBRARY_PATH =`dirname $DSHOME`/branded_odbc/lib:$DSHOME/lib:$DSHOME/uvdlls:$DSHOME/java/jre/lib/i386/client:$DSHOME/java/jre/lib/i386:$LD_LIBRARY_PATH

we are not able to run the jobs as the directory that contains the V0S1_testjobtrans_Transformer_1.so is /opt/datastage/Ascential/DataStage/Projects/test/RT_BP23.O and we are not able to put this directory path in the env file as for every job this path will be different.

Thanks
srkhan

Posted: Mon Aug 15, 2005 11:06 pm
by aesguerra
Hi,

Are you moving jobs from an old server to this new one? Are you calling some user-defined transforms? If you are, you might need to recompile the job on the new server.

Posted: Tue Aug 16, 2005 3:54 am
by s_rkhan
aesguerra wrote:Hi,

Are you moving jobs from an old server to this new one? Are you calling some user-defined transforms? If you are, you might need to recompile the job on the new server.

Hi,

We are installing a new server and all the jobs are being created on that server only.
LD_LIBRARY_PATH variable also contains the path where the file V0S1_testjobtrans_Transformer_1.so is present. But then also the job is not running.

Regards
srkhan

Posted: Tue Aug 16, 2005 4:50 am
by Eric
ray.wurlod wrote:/usr/lib is definitely not enough. You also need the DataStage lib directory, the branded ODBC drivers' lib directory, any other operating system library directories and, in particular, the directory containing the "missing" V0S1_testjobtrans_Transformer_1.so.

You need to adjust LD_LIBRARY_PATH in $DSHOME/dsenv so that DataStage processes can find the generated library.
No you don't need to change LD_LIBRARY_PATH in $DSHOME/dsenv.
These directories will be added to the environment of the job at runtime.
Just run a job and look at the environment in the director log ;)

First try and Force Compile to job (you can check that the date changes on the file V0S1_testjobtrans_Transformer_1.so ) and then run the job as the same user.

Posted: Tue Aug 16, 2005 5:23 am
by s_rkhan
[quote="Eric]
No you don't need to change LD_LIBRARY_PATH in $DSHOME/dsenv.
These directories will be added to the environment of the job at runtime.
Just run a job and look at the environment in the director log ;)

First try and Force Compile to job (you can check that the date changes on the file V0S1_testjobtrans_Transformer_1.so ) and then run the job as the same user.[/quote]

Hi Eric,

That Environment variable is getting set properly and even after recompiling the job the runtime error is same and job is getting aborted. Are there any specific runtime C++ libraries that are required for Linux machines.

Thanks,
srkhan

Posted: Wed Aug 17, 2005 3:07 am
by Eric
s_rkhan wrote: Are there any specific runtime C++ libraries that are required for Linux machines.
You just need to check that you are using the correct version of Linux and compiler. What version of Linux do you run and which compiler is installed?

Posted: Wed Aug 17, 2005 4:03 am
by s_rkhan
Eric wrote: You just need to check that you are using the correct version of Linux and compiler. What version of Linux do you run and which compiler is installed?
Hi,

We are using the Linux 2.4.21-20 and C++ compiler version is 2.96.

Thanks
srkhan