Output from transformer compilation follows:
##I IIS-DSEE-TFCN-00001 09:12:38(000)
IBM WebSphere DataStage Enterprise Edition 8.1.0.5000
Copyright (c) 2001, 2005-2008 IBM Corporation. All rights reserved
##I IIS-DSEE-TFCN-00006 09:12:38(001) conductor uname: -s=Linux; -r=2.6.18-128.el5; -v=#1 SMP Wed Dec 17 11:41:38 EST 2008; -n=alpha.la14.com; -m=x86_64
##I IIS-DSEE-TOSH-00002 09:12:38(002) orchgeneral: loaded
##I IIS-DSEE-TOSH-00002 09:12:38(003) orchsort: loaded
##I IIS-DSEE-TOSH-00002 09:12:38(004) orchstats: loaded
##W IIS-DSEE-TOSH-00049 09:12:38(007) Parameter specified but not used in flow: DSPXWorkingDir
##E IIS-DSEE-TBLD-00076 09:12:39(000) Error when checking composite operator: Subprocess command failed with exit status 256.
##E IIS-DSEE-TFSR-00019 09:12:39(001) Could not check all operators because of previous error(s)
##W IIS-DSEE-TFTM-00012 09:12:39(002) Error when checking composite operator: The number of reject datasets "0" is less than the number of input datasets "1".
##W IIS-DSEE-TFEV-00025 09:12:39(003) Error when checking composite operator: Possible range limitation.
##W IIS-DSEE-TFEV-00023 09:12:39(004) Error when checking composite operator: Implicit conversion from source type "Int32" to result type "Decimal".
##W IIS-DSEE-TFEV-00023 09:12:39(005) Error when checking composite operator: Implicit conversion from source type "Decimal" to result type "Int16".
##W IIS-DSEE-TFEV-00023 09:12:39(006) Error when checking composite operator: Implicit conversion from source type "Decimal" to result type "Int16".
##W IIS-DSEE-TBLD-00000 09:12:39(007) Error when checking composite operator: Output from subprocess: /
##W IIS-DSEE-TBLD-00000 09:12:39(008) Error when checking composite operator: Output from subprocess: usr
##W IIS-DSEE-TBLD-00000 09:12:39(009) Error when checking composite operator: Output from subprocess: /
##W IIS-DSEE-TBLD-00000 09:12:39(010) Error when checking composite operator: Output from subprocess: bin
##W IIS-DSEE-TBLD-00000 09:12:39(011) Error when checking composite operator: Output from subprocess: /
##W IIS-DSEE-TBLD-00000 09:12:39(012) Error when checking composite operator: Output from subprocess: ld
##I IIS-DSEE-TBLD-00079 09:12:39(013) Error when checking composite operator: g++ -L/opt/IBM/InformationServer/Server/Projects/Enterprise/RT_BP84.O/ -L/opt/IBM/InformationServer/Server/PXEngine/lib -L/opt/IBM/InformationServer/Server/PXEngine/user_lib -shared -Wl,-Bsymbolic,--allow-shlib-undefined -lorchi686 -lorchcorei686 -lorchbuildopi686 /opt/IBM/InformationServer/Server/Projects/Enterprise/RT_BP84.O/V0S19_Dim_Canal_TR_Completa_Nuevos.tmp.o -o /opt/IBM/InformationServer/Server/Projects/Enterprise/RT_BP84.O/V0S19_Dim_Canal_TR_Completa_Nuevos.so.
##W IIS-DSEE-TBLD-00000 09:12:39(014) Error when checking composite operator: Output from subprocess: :
By default 64 bit Linux systems compile 64 bit binaries. As of this writing (DS 8.1) DataStage is still a 32 bit application. Although it can run on 64 bit Linux machines, the compiler is required to produce 32 bit binaries.
Summary:
APT_COMPILEOPT = -O -fPIC -Wno-deprecated -c -m32
APT_LINKOPT = -m32 -shared -Wl,-Bsymbolic,--allow-shlib-undefined
APT_COMPILER = g++
APT_LINKER = g++
First off, here's a quick script to test the default compiler configuration. It will either out "32 bits" or "64 bits".
bits.sh
=======================================
cat <<EOF > /tmp/test_bits.c
#include <stdio.h>
main() { printf("%d bits\n", 8 * sizeof(char *));}
EOF
(cd /tmp; make test_bits && ./test_bits; rm -f test_bits test_bits.c)
=======================================
If the output is "32 bits" then this technote does not apply. If the output is 64 bits then the script below tests the compiler's option to produce 32 bit output:
bits.sh
=======================================
cat <<EOF > /tmp/test_bits.c
#include <stdio.h>
main() { printf("%d bits\n", 8 * sizeof(char *));}
EOF
export CC="g++"
export CFLAGS="-O -fPIC -m32"
(cd /tmp; make test_bits && ./test_bits; rm -f test_bits test_bits.c)
=======================================
If the second script prints "32 bits", then the above APT environment variables should resolve the probelm.
[{"Product":{"code":"SSH2AX","label":"InfoSphere DataStage Pack for SAS"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"--","Platform":[{"code":"PF016","label":"Linux"}],"Version":"8.0;8.1","Edition":"","Line of Business":{"code":"LOB10","label":"Data and AI"}}]