Hi,
I have a C function (BinaryToDecimal()) which converts binary input into Decimal.
As we are working on AIX , we created the object file by using Visual Age C++ default compiler by the following command:
xlc -c binarytodecimal.c -o binarytodecimal.o
Then using the object file binarytodecimal.o in the Parallel routine.
But geting the following runtime error:
Transformer_0: Failed to load the library "V0S0_BinaryToDecimal_Transformer_0.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 "V0S0_BinaryToDecimal_Transformer_0": rtld: 0712-001 Symbol BinaryToDecimal__FPc was referenced
from module /ds2/home/dsadm2/Ascential/DataStage/Projects/LTRA_PROJ_ETL_02/RT_BP564.O/V0S0_BinaryToDecimal_Transformer_0.o(), but a runtime definition
of the symbol was not found..
Parallel Routine
Moderators: chulett, rschirm, roy
kumar_s wrote:Is it possible to post the C++ code you have created.
I guess you have selected the Object type as Library. Since you have created a object file select the object as the option.
Code: Select all
long BinaryToDecimal(const char * pstrBinary)
{
int intLoop=0;
long lngReturn=0L;
long lngMultip=1L;
for (intLoop=0; intLoop < (int)strlen(pstrBinary); intLoop++)
{
if ('1' == pstrBinary[intLoop])
{
lngReturn += lngMultip;
}
lngMultip *= 2;
}
return lngReturn;
}
I have done the following:kumar_s wrote:And what about this....I guess you have selected the Object type as Library. Since you have created a object file select the object as the option.
Type:External Function
Object Type: Object
External subroutine name: BinaryToDecimal
Return type:long
Library path:/home/manual2/intest/binarytodecimal.o
Compiling on AIX as below:
xlC_r -c binarytodecimal.c -o binarytodecimal.o
Error message while validating or runtime is:
Transformer_0: Failed to load the library "V0S0_BinaryToDecimal_Transformer_0.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 "V0S0_BinaryToDecimal_Transformer_0": rtld: 0712-001 Symbol BinaryToDecimal__FPc was referenced
from module /ds2/home/dsadm2/Ascential/DataStage/Projects/LTRA_PROJ_ETL_02/RT_BP564.O/V0S0_BinaryToDecimal_Transformer_0.o(), but a runtime definition
of the symbol was not found..
Cheers
OP
-
- Participant
- Posts: 54607
- Joined: Wed Oct 23, 2002 10:52 pm
- Location: Sydney, Australia
- Contact: