compile error in Transformer

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
mctny
Charter Member
Charter Member
Posts: 166
Joined: Thu Feb 02, 2006 6:55 am

compile error in Transformer

Post by mctny »

Hi Everybody,

I am having some problem with compilation of some of the jobs which has transformer in it. I am copying the error log below. it is a regular transformer ( not basic) in a paralle job. it gives a WARNING that the evaluation version of the C++ compiler expired. do you think it is just because of that? I doubt it because some other jobs which also has transformers can be compiled sucessfully, only newly developed jobs cannot be compiled

any ideas?

P.S. I searched the forum on this issue but I couldnbot find the exact problem or the solution so that's why I decided to post a new topic.



Error compiling parallel transformer State_Agency_National_Ind_v0.Transformer_24
Output from transformer compilation follows:

##I TFCN 000001 08:22:39(000) <main_program>
Ascential DataStage(tm) Enterprise Edition 7.5.1A
Copyright (c) 2004, 1997-2004 Ascential Software Corporation.
All Rights Reserved


##I TUTL 000031 08:22:39(001) <main_program> The open files limit is 2000; raising to 2147483647.
##I TOSH 000002 08:22:39(002) <main_program> orchgeneral: loaded
##I TOSH 000002 08:22:39(003) <main_program> orchsort: loaded
##I TOSH 000002 08:22:39(004) <main_program> orchstats: loaded
##I TFSC 000001 08:22:39(007) <main_program> APT configuration file: /app/dstage/Ascential/DataStage/Configurations/default.apt
##I TFSC 000000 08:22:39(008) <main_program>
This step has no datasets.

It has 1 operator:
op0[1p] {(sequential APT_CombinedOperatorController:
(APT_LicenseCountOp in APT_LicenseOperator)
(APT_LicenseCheckOp in APT_LicenseOperator)
) on nodes (
node1[op0,p0]
)}
It runs 1 process on 1 node.
##W TCOS 000049 08:22:40(000) <main_program> Parameter specified but not used in flow: DSPXWorkingDir
##E TBLD 000000 08:22:40(002) <main_program> Error when checking composite operator: Subprocess command failed with exit status 256.
##E TFSR 000019 08:22:40(003) <main_program> Could not check all operators because of previous error(s)
##W TFCP 000000 08:22:40(004) <transform> Error when checking composite operator: The number of reject datasets "0" is less than the number of input datasets "1".
##W TBLD 000000 08:22:40(005) <main_program> Error when checking composite operator: Output from subprocess: The license for the Evaluation version of IBM XL C/C++ Enterprise Edition V8.0 for AIX Compiler product has expired.

##I TFCP 000000 08:22:40(006) <transform> Error when checking composite operator: /usr/vacpp/bin/xlC_r -O -I/app/dstage/Ascential/DataStage/PXEngine/include -O -c -qspill=32704 /app/dstage/Ascential/DataStage/Projects/edw1/RT_BP1655.O/V0S24_State_Agency_National_Ind_v0_Transformer_24.C -o /app/dstage/Ascential/DataStage/Projects/edw1/RT_BP1655.O/V0S24_State_Agency_National_Ind_v0_Transformer_24.tmp.o.
##E TCOS 000029 08:22:40(007) <main_program> Creation of a step finished with status = FAILED. (State_Agency_National_Ind_v0.Transformer_24)

*** Internal Generated Transformer Code follows:
0001: //
0002: // Generated file to implement the V0S24_State_Agency_National_Ind_v0_Transformer_24 transform operator.
0003: //
0004:
0005: // define our input/output link names
0006: inputname 0 DSLink23;
0007: outputname 0 DSLink2;
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: DSLink2
0023: writerecord 0;
0024: RowRejected0 = 0;
0025: }
0026:
0027: finish {
0028: }
0029:
*** End of Internal Generated Transformer Code
Thanks,
Chad
__________________________________________________________________
"There are three kinds of people in this world; Ones who know how to count and the others who don't know how to count !"
DSguru2B
Charter Member
Charter Member
Posts: 6854
Joined: Wed Feb 09, 2005 3:44 pm
Location: Houston, TX

Post by DSguru2B »

The Liscense for the C++ complier has expired.
Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.
kura
Participant
Posts: 21
Joined: Sat Mar 20, 2004 3:43 pm

Re: compile error in Transformer

Post by kura »

Somestime, if transformation are more complex who will get this kind of error.
Here the Guidelines.

Avoid Handling Null a lot.
and convertion. Try to add one by one until you start getting this.

I would suggest many modif's to avoid these kind of problem
mctny
Charter Member
Charter Member
Posts: 166
Joined: Thu Feb 02, 2006 6:55 am

Re: compile error in Transformer

Post by mctny »

kura wrote:Somestime, if transformation are more complex who will get this kind of error.
Here the Guidelines.

Avoid Handling Null a lot.
and convertion. Try to add one by one until you start getting this.

I would suggest many modif's to avoid these kind of problem
thanks for the explanation, even the simplest job doesnot compile, it was compiler version problem as DSGuru2B said. Our sysadmin forced it back to version 7 of the compiler ( instead of version 8) and now it works,

what I didnot understand is that why doesnot it give error instead of warning for the license expiration?
Thanks,
Chad
__________________________________________________________________
"There are three kinds of people in this world; Ones who know how to count and the others who don't know how to count !"
subbuvp
Participant
Posts: 15
Joined: Tue Feb 21, 2006 2:07 am

Re: compile error in Transformer

Post by subbuvp »

Output from transformer compilation follows:

Hi All,
I got a error in parallel Transformer like PWD environment variable not set..Can u people clear this doubt?


##I TFCN 000001 09:15:21(000) <main_program>
Ascential DataStage(tm) Enterprise Edition 7.5
Copyright (c) 2004, 1997-2004 Ascential Software Corporation.
All Rights Reserved


##I TOSH 000002 09:15:21(001) <main_program> orchgeneral: loaded
##I TOSH 000002 09:15:22(000) <main_program> orchsort: loaded
##I TOSH 000002 09:15:22(001) <main_program> orchstats: loaded
##W TFPA 000012 09:15:22(002) <main_program> Warning: the PWD environment variable is not defined. Remote process startup may be unsuccessful as a result.If your ORCHESTRATE job does not start up correctly, please set your PWD variable to a value that will work on all nodes of your system. [util\pathutils.C:323]
[/i][/b]
mctny
Charter Member
Charter Member
Posts: 166
Joined: Thu Feb 02, 2006 6:55 am

Re: compile error in Transformer

Post by mctny »

subbuvp wrote:Output from transformer compilation follows:

Hi All,
I got a error in parallel Transformer like PWD environment variable not set..Can u people clear this doubt?


##I TFCN 000001 09:15:21(000) <main_program>
Ascential DataStage(tm) Enterprise Edition 7.5
Copyright (c) 2004, 1997-2004 Ascential Software Corporation.
All Rights Reserved


##I TOSH 000002 09:15:21(001) <main_program> orchgeneral: loaded
##I TOSH 000002 09:15:22(000) <main_program> orchsort: loaded
##I TOSH 000002 09:15:22(001) <main_program> orchstats: loaded
##W TFPA 000012 09:15:22(002) <main_program> Warning: the PWD environment variable is not defined. Remote process startup may be unsuccessful as a result.If your ORCHESTRATE job does not start up correctly, please set your PWD variable to a value that will work on all nodes of your system. [util\pathutils.C:323]
[/i][/b]
it looks like it is not an error, it is just a warning, if there is an error after that warning can you post that too?
Thanks,
Chad
__________________________________________________________________
"There are three kinds of people in this world; Ones who know how to count and the others who don't know how to count !"
kumar_s
Charter Member
Charter Member
Posts: 5245
Joined: Thu Jun 16, 2005 11:00 pm

Post by kumar_s »

Add a userdefined variable PWD in DS Administrator which points to your project folder.
Impossible doesn't mean 'it is not possible' actually means... 'NOBODY HAS DONE IT SO FAR'
subbuvp
Participant
Posts: 15
Joined: Tue Feb 21, 2006 2:07 am

Post by subbuvp »

Hi Kumar,
I applied the PWD variable and set the path.But this time i got an error like the below one.
Could u plz give a solution >


Output from transformer compilation follows:

##I TFCN 000001 15:06:42(000) <main_program>
Ascential DataStage(tm) Enterprise Edition 7.5
Copyright (c) 2004, 1997-2004 Ascential Software Corporation.
All Rights Reserved


##I TOSH 000002 15:06:42(001) <main_program> orchgeneral: loaded
##I TOSH 000002 15:06:43(000) <main_program> orchsort: loaded
##I TOSH 000002 15:06:44(000) <main_program> orchstats: loaded
##I TCOS 000021 15:06:46(000) <main_program> Echo:
transform -inputschema record
(
Field001:string[max=255];
inRec:*;
)
-outputschema record
(
Field001:string[max=255];
outRec:*;
)
-expressionfile RT_SC87/V0S7_TransformerParallel_Transformer_7.trx
-flag compile
-compiler 'cxx'
-compileopt '-W/TP -W/EHa -DAPT_USE_ANSI_IOSTREAMS -c'
-linker 'cxx'
-linkopt '-W/TP -W/dll -W/base:0x50000000'
-name V0S7_TransformerParallel_Transformer_7
-dir C:/Ascential/DataStage/Projects/test1/RT_BP87.O

##I TFCP 000018 15:06:47(000) <transform> Calling transform::initializeFromArgs_()
##I TFCP 000019 15:06:47(001) <transform> Returned from transform::initializeFromArgs_()
##I TFCP 000000 15:06:47(002) <transform> Calling transform::preDescribeOperator().
##I TFCP 000000 15:06:47(003) <transform> Returning from transform::preDescribeOperator().
##I TFCP 000000 15:06:47(004) <transform> Calling transform::describeOperator().
##E TBLD 000000 15:06:51(000) <main_program> Subprocess command failed with exit status 256 [buildop\compile.C:471]
##W TFCP 000000 15:06:51(001) <transform> The number of reject datasets "0"is less than the number of input datasets "1". [transform\transform.C:1892]
##W TBLD 000000 15:06:51(002) <main_program> Output from subprocess: cxx: file 'C:/PROGRA~1/MKSTOO~1/etc/cxx.ccg': The system cannot find the file specified.

##I TFCP 000008 15:06:51(003) <transform> cxx -O -IC:/Ascential/DataStage/PXEngine/include -W/TP -W/EHa -DAPT_USE_ANSI_IOSTREAMS -c C:/Ascential/DataStage/Projects/test1/RT_BP87.O/V0S7_TransformerParallel_Transformer_7.C -o C:/Ascential/DataStage/Projects/test1/RT_BP87.O/V0S7_TransformerParallel_Transformer_7.tmp.o
##I TFCP 000000 15:06:51(004) <transform> Returning from transform::describeOperator().
##E TFSR 000019 15:06:51(005) <main_program> Could not check all operators because of previous error(s) [api\step_rep.C:1128]
##I TCOS 000022 15:06:51(006) <main_program> Explanation:
Step has 1 operator.
???, invoked with args: -inputschema record ( Field001: string[max=255]; inRec: *; ) -outputschema record ( Field001: string[max=255]; outRec: *; ) -expressionfile RT_SC87/V0S7_TransformerParallel_Transformer_7.trx -flag compile -compiler cxx -compileopt -W/TP -W/EHa -DAPT_USE_ANSI_IOSTREAMS -c -linker cxx -linkopt -W/TP -W/dll -W/base:0x50000000 -name V0S7_TransformerParallel_Transformer_7 -dir C:/Ascential/DataStage/Projects/test1/RT_BP87.O

Step has 0 data entities.

##I TCOS 000023 15:06:51(007) <main_program> Dump:
{
text="transform -inputschema record ( Field001: string[max=255]; inRec: *; )\r\n-outputschema record ( Field001: string[max=255]; outRec: *; )\r\n-expressionfile RT_SC87/V0S7_TransformerParallel_Transformer_7.trx\r\n-flag compile\r\n-compiler 'cxx'\r\n-compileopt '-W/TP -W/EHa -DAPT_USE_ANSI_IOSTREAMS -c'\r\n-linker 'cxx'\r\n-linkopt '-W/TP -W/dll -W/base:0x50000000'\r\n-name V0S7_TransformerParallel_Transformer_7\r\n-dir C:/Ascential/DataStage/Projects/test1/RT_BP87.O",
line=1, column=1, name="", qualname="",
op={
text="transform -inputschema record ( Field001: string[max=255]; inRec: *; )\r\n-outputschema record ( Field001: string[max=255]; outRec: *; )\r\n-expressionfile RT_SC87/V0S7_TransformerParallel_Transformer_7.trx\r\n-flag compile\r\n-compiler 'cxx'\r\n-compileopt '-W/TP -W/EHa -DAPT_USE_ANSI_IOSTREAMS -c'\r\n-linker 'cxx'\r\n-linkopt '-W/TP -W/dll -W/base:0x50000000'\r\n-name V0S7_TransformerParallel_Transformer_7\r\n-dir C:/Ascential/DataStage/Projects/test1/RT_BP87.O",
line=1, column=1, name=transform, qualname=transform,
wrapout={},
wrapperfile=transform, kind=non_wrapper_cdi_op, exec_mode=none,
args="'record ( Field001: string[max=255]; inRec: *; )'-outputschema'record ( Field001: string[max=255]; outRec: *; )'-expressionfile'RT_SC87/V0S7_TransformerParallel_Transformer_7.trx'-flag'compile'-compiler'cxx'-compileopt'-W/TP -W/EHa -DAPT_USE_ANSI_IOSTREAMS -c'-linker'cxx'-linkopt'-W/TP -W/dll -W/base:0x50000000'-name'V0S7_TransformerParallel_Transformer_7'-dir'C:/Ascential/DataStage/Projects/test1/RT_BP87.O'"
}
}

##E TCOS 000029 15:06:51(008) <main_program> Creation of step finished with status = FAILED [osh.C:1105] (TransformerParallel.Transformer_7)

*** Internal Generated Transformer Code follows:
0001: //
0002: // Generated file to implement the V0S7_repos_Transformer_7 transform operator.
0003: //
0004:
0005: // define our input/output link names
0006: inputname 0 DSLink3;
0007: outputname 0 DSLink4;
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: DSLink4
0023: writerecord 0;
0024: RowRejected0 = 0;
0025: }
0026:
0027: finish {
0028: }
0029:
*** End of Internal Generated Transformer Code
kumar_s wrote:Add a userdefined variable PWD in DS Administrator which points to your project folder.
kumar_s
Charter Member
Charter Member
Posts: 5245
Joined: Thu Jun 16, 2005 11:00 pm

Post by kumar_s »

It is again most likely due to the version of compiler mismatch.
Impossible doesn't mean 'it is not possible' actually means... 'NOBODY HAS DONE IT SO FAR'
splayer
Charter Member
Charter Member
Posts: 502
Joined: Mon Apr 12, 2004 5:01 pm

Post by splayer »

kumar_s, I don't know if you are going to respond to this but can you
tell me how you came to the conclusion from subbuvp's posting that the PWD variable should be pointing to the projects
folder? I know that the PWD variable is missing from his post. Also, is PWD like a system variable that needs to be defined?

Thanks.
Post Reply