Page 1 of 1

Compilation Problem

Posted: Wed Aug 18, 2010 3:01 pm
by somu_june
Hi,

I'm trying to compile a parallel job with transformer, it's throwing an error while compiling and the job is compiling fine if there is no transformer stage. Below is the error



Output from transformer compilation follows:

##I IIS-DSEE-TFCN-00001 16:33:09(000) <main_program>
IBM WebSphere DataStage Enterprise Edition 8.1.0.5497
Copyright (c) 2001, 2005-2008 IBM Corporation. All rights reserved



##I IIS-DSEE-TUTL-00031 16:33:09(001) <main_program> The open files limit is 12000; raising to 20000.
##I IIS-DSEE-TFCN-00006 16:33:09(002) <main_program> conductor uname: -s=HP-UX; -r=B.11.31; -v=U; -n=etldev01; -m=ia64
##I IIS-DSEE-TOSH-00002 16:33:09(003) <main_program> orchgeneral: loaded
##I IIS-DSEE-TOSH-00002 16:33:09(004) <main_program> orchsort: loaded
##I IIS-DSEE-TOSH-00002 16:33:09(005) <main_program> orchstats: loaded
##W IIS-DSEE-TOSH-00049 16:33:10(002) <main_program> Parameter specified but not used in flow: DSPXWorkingDir
##E IIS-DSEE-TBLD-00076 16:33:10(004) <main_program> Error when checking composite operator: Subprocess command failed with exit status 32512.
##E IIS-DSEE-TFSR-00019 16:33:10(005) <main_program> Could not check all operators because of previous error(s)
##W IIS-DSEE-TFTM-00012 16:33:10(006) <transform> Error when checking composite operator: The number of reject datasets "0" is less than the number of input datasets "1".
##W IIS-DSEE-TBLD-00000 16:33:10(007) <main_program> Error when checking composite operator: Output from subprocess: sh: /opt/aCC/bin/aCC: not found.

##I IIS-DSEE-TBLD-00079 16:33:10(008) <transform> Error when checking composite operator: /opt/aCC/bin/aCC +DD64 +W890 +Z -O -I/opt/IBM/InformationServer/Server/PXEngine/include +DD64 -O -c -ext -z +Z -Aa /opt/IBM/InformationServer/Server/Projects/DEV_DWDCV_SOMA/RT_BP218.O/V0S14_Test1_Transformer_14.C -o /opt/IBM/InformationServer/Server/Projects/DEV_DWDCV_SOMA/RT_BP218.O/V0S14_Test1_Transformer_14.tmp.o.
##E IIS-DSEE-TCOS-00029 16:33:10(009) <main_program> Creation of a step finished with status = FAILED. (Test1.Transformer_14)

*** Internal Generated Transformer Code follows:
0001: //
0002: // Generated file to implement the V0S14_Test1_Transformer_14 transform operator.
0003: //
0004:
0005: // define our input/output link names
0006: inputname 0 DSLink2;
0007: outputname 0 DSLink15;
0008:
0009: initialize {
0010: // define our row rejected variable
0011: int8 RowRejected0;
0012:
0013: // define our null set variable
0014: int8 NullSetVar0;
0015:
0016: }
0017:
0018: mainloop {
0019: // initialise our row rejected variable
0020: RowRejected0 = 1;
0021:
0022: // evaluate columns (no constraints) for link: DSLink15
0023: writerecord 0;
0024: RowRejected0 = 0;
0025: }
0026:
0027: finish {
0028: }
0029:
*** End of Internal Generated Transformer Code



I know that there is a problem with C++ compiler. I'm using an HP-UX B.11.31 server and I saw in online documentation to see what C++ compilers we need for HP-UX


HP-UX on PA-RISC aCC: HP ANSI C++ B3910B A.03.85 The runtime libraries are installed with the operating system.
- 64-bit HP-UX 11i v2 on Intel Itaium
- 64-bit HP-UX 11i v3 on Intel Itanium -6.16 aCC: HP C/aC++ B3910B A.06.14
-6.16 aCC: HP C/aC++ B3910B A.06.20 The runtime libraries are installed with the operating system.

After seeing the above I was confused and the documentation did not mentioned clearly what to set for hp-ux and they mentioned clearly
for LINUX and Windows
like APT_COMPILEOPT, APT_COMPILER ,APT_LINKER, APT_LINKOPT environemt varaibles. I checked my dsenv to see if I had any C++ compiler path in it and it had no C++ compiler path.

Please help me in how to determing whether I had a C++ compiler and how to set the parameters if I have C++ compiler and also I want to know do I need to provide tha path in desenv where the C++ compiler is located.

Thanks,
Raju

Posted: Wed Aug 18, 2010 4:22 pm
by mandyli
I hope some of the C++ lib file is missing in inculde folder.

Posted: Thu Aug 19, 2010 1:55 am
by Sainath.Srinivasan
Did you try creating and compiling some simple C/C++ code ?

You must, preferably, install C++ compiler before DataStage. That way, the compiler option is automatically set.

The place you need to look for is in your Envrionment variables for compilers. There are 2 compiler and library options.

Posted: Thu Aug 19, 2010 8:38 am
by somu_june
Hi,

I found there are C compiler in the server


$ /usr/sbin/swlist -l product | grep -i compiler
COMPLIBS B.11.31 Compiler Support Libraries
PHCO_39115 1.0 Linker/Compiler/Unwind ENG Manpage Patch
PHSS_38155 1.0 bundled PA C compiler on IPF

But the online Datastage site recommends

- 64-bit HP-UX 11i v3 on Intel Itanium -6.16 aCC: HP C/aC++ B3910B A.06.20 compiler.
MY question is can I use PHSS_38155 compiler for my parallel jobs or do I need to go with -6.16 aCC: HP C/aC++ B3910B A.06.20 compiler only.


Thanks,
Soma

Posted: Thu Aug 19, 2010 9:11 am
by chulett
We have found that you need to stick with the "recommeded" i.e. supported compilers, otherwise things tend to not work correctly.

Posted: Thu Aug 19, 2010 1:06 pm
by somu_june
Thanks Chulett

Posted: Tue Aug 31, 2010 7:03 am
by somu_june
Hi,

Can I compile my DataStage job outside of datastage designer in some other box using some other C++ compiler. Because the C++ compiler is going to cost around $ 10, 000 . Can I use compiler like example g++ . If I can compile in some other box using different compiler please let me know, how to do that



Thanks,
Raju

Posted: Tue Aug 31, 2010 7:17 am
by chulett
No.

Posted: Tue Aug 31, 2010 7:35 am
by somu_june
Hi chulett

Thanks for the reply. So I cann't compile my job outside the etl server in some other server



Thanks,
Raju,

Posted: Tue Aug 31, 2010 12:08 pm
by somu_june
Hi,

We got a trail version of the C++ compiler and the code is working now. My first question is can we compile the code in development and run in production box with out C++ installed and my second question is what are the draw backs if we are using a trial version and not the actual license version.



Thanks,
Raju

Posted: Tue Aug 31, 2010 12:29 pm
by ray.wurlod
Provided the environments are identical and you have migrated all required components, then you can use the compiled code on another machine. Technically the fact that it's a trial version of the compiler should not affect code that you have successfully compiled but there will come a time when your trial licence will expire and you won't be able to compile anything more. That's technically. Legally you'd better check.

Posted: Tue Aug 31, 2010 1:53 pm
by somu_june
Thanks Ray