Page 1 of 1

Compilation Problem with transformer stage

Posted: Fri Jul 31, 2009 9:13 am
by deployDS
Hi all,
I'm having problem compiling a job which has a transformer stage in the flow. Following is the job flow.

Code: Select all

CFF --> Transformer --> Peek.
I'm able to compile the job when I remove the transformer and use any other stage. Other jobs which have transformer in their flow are compiling fine and running fine. I'm getting problem just with this job. I tried using a copy stage in between CFF and Transformer just to check if that makes any difference. It didn't work. Below is the description of the compilation error. I'm pasting the first few and the last few lines as the complete error is more than 200 lines.

Code: Select all

Output from transformer compilation follows:

##I TFCN 000001 11:06:06(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 11:06:06(001) <main_program> The open files limit is 2048; raising to 4096.
##I TOSH 000002 11:06:06(002) <main_program> orchgeneral: loaded
##I TOSH 000002 11:06:06(003) <main_program> orchsort: loaded
##I TOSH 000002 11:06:06(004) <main_program> orchstats: loaded
##I TFSC 000001 11:06:06(007) <main_program> APT configuration file: /etl_sw/Ascential/DataStage/Configurations/default.apt
##W TCOS 000049 11:06:06(008) <main_program> Parameter specified but not used in flow: DSPXWorkingDir
##E TBLD 000000 11:06:07(001) <main_program> Error when checking composite operator: Subprocess command failed with exit status 1,024.
##E TFSR 000019 11:06:07(002) <main_program> Could not check all operators because of previous error(s)
##W TFCP 000000 11:06:07(003) <transform> Error when checking composite operator: The number of reject datasets "0" is less than the number of input datasets "1".
##W TBLD 000000 11:06:07(004) <main_program> Error when checking composite operator: Output from subprocess: "/opt/aCC/include_std/iosfwd", line 211: error #2439: expected a ">"
    typedef fpos<char_traits<char>::state_type> streampos;
                                  ^

"/opt/aCC/include_std/iosfwd", line 212: error #2439: expected a ">"
    typedef fpos<char_traits<wchar_t>::state_type> wstreampos;
                                     ^


##W TBLD 000000 11:06:07(005) <main_program> Error when checking composite operator: Output from subprocess: "/opt/aCC/include_std/rw/locimpl", line 354: error #2325: inline specifier allowed on function declarations only
  inline int __rw_digit_map<char>::_C_eval (char c) const {
  ^

"/opt/aCC/include_std/rw/locimpl", line 354: error #2101: "__rw_digit_map" has already been declared in the current scope
  inline int __rw_digit_map<char>::_C_eval (char c) const {
             ^

"/opt/aCC/include_std/rw/locimpl", line 354: error #2065: expected a ";"
  inline int __rw_digit_map<char>::_C_eval (char c) const {
   
##I TFCP 000000 11:06:07(006) <transform> Error when checking composite operator: /opt/aCC/bin/aCC  +DD64 +W890 +Z -O   -I/etl_sw/Ascential/DataStage/PXEngine/include +DD64 -O -c -ext -z +Z /etl_sw/Ascential/DataStage/Projects/EHDW_Development/RT_BP454.O/V0S19_Test_Compile_Transformer_19.C -o /etl_sw/Ascential/DataStage/Projects/EHDW_Development/RT_BP454.O/V0S19_Test_Compile_Transformer_19.tmp.o.
##W TBLD 000000 11:06:07(007) <main_program> Error when checking composite operator: Output from subprocess:                         ^

"/opt/aCC/include_std/rw/locimpl", line 403: error #2864: __rw_digit_map is not a template
  __rw_digit_map<_CharT>::_C_init (const _STD_RW::ctype<_CharT> &__ctype) {
  ^

"/opt/aCC/include_std/rw/locimpl", line 417: error #2864: __rw_digit_map is not a template
  inline int __rw_digit_map<_CharT>::_C_eval (_CharT __c) const {
             ^

"/opt/aCC/include_std/rw/locimpl", line 417: error #2313: type qualifier is not allowed on this function
  inline int __rw_digit_map<_CharT>
##W TBLD 000000 11:06:07(008) <main_program> Error when checking composite operator: Output from subprocess: ::_C_eval (_CharT __c) const {
                                                          ^

"/opt/aCC/include_std/rw/locimpl", line 467: error #2864: __rw_digit_reader_base_1 is not a template
      friend class __rw_digit_reader_base_1<_CharT>;
                   ^

"/opt/aCC/include_std/rw/locimpl", line 468: error #2864: __rw_digit_writer_base_1 is not a template
      friend class __rw_digit_writer_base_1<_CharT>;
                   ^

"/opt/aCC/include_std/rw/locimpl", line 533: error #2020: identifier
##W TBLD 000000 11:06:07(009) <main_program> Error when checking composite operator: Output from subprocess:  "__rw_facet_base" is undefined
      static __rw_facet_base*

---------
--------
--------
---------
---------
--------

Error limit reached.
100 errors detected in the compilation of "/etl_sw/Ascential/DataStage/Projects/EHDW_Development/RT_BP454.O/V0S19_Test_Compile_Transformer_19.C".
Compilation terminated.

##E TCOS 000029 11:06:07(041) <main_program> Creation of a step finished with status = FAILED. (Test_Compile.Transformer_19)

*** Internal Generated Transformer Code follows:
0001: //
0002: // Generated file to implement the V0S19_Test_Compile_Transformer_19 transform operator.
0003: //
0004: 
0005: // define our input/output link names
0006: inputname 0 DSLink18;
0007: outputname 0 DSLink21;
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: DSLink21
0023: 	writerecord 0;
0024: 	RowRejected0 = 0;
0025: }
0026: 
0027: finish {
0028: }
0029: 
*** End of Internal Generated Transformer Code
Input CFF have 121 columns. I tried mapping just 1 column to check if that changes the error for no luck. By looking at the error, it seems like the compiler problem, but as said before, all other jobs are working fine with a transformer stage in it. Can someone give me an idea on this.

Thanks in advance.

Posted: Fri Jul 31, 2009 9:23 am
by ArndW
Do other jobs with transform stages compile? If "no", I would suspect a bad compiler version or bad compiler installation. If "yes" then you might have become the unlucky owner of a newly discovered bug.

Posted: Fri Jul 31, 2009 9:34 am
by deployDS
ArndW,
the answer is "yes". All other jobs which have transformer stage compiles and runs fine without any problem.
Before going to assume that it is a bug, does 121 columns from a complex flat file stage into a transformer makes any difference?

Posted: Fri Jul 31, 2009 10:15 am
by deployDS
I may have found out the problem. But not the solution.
I'm unable to compile any NEW job which involves a transformer. All the jobs that are created before yesterday are running fine. Even if I create a copy from the existing job, or save as the existing job, i'm unable to compile the new job. The following lines in the error description may give some idea why the new jobs are not compiling.

Code: Select all

Error limit reached. 
100 errors detected in the compilation of "[color=red]/etl_sw/Ascential/DataStage/Projects/EHDW_Development/RT_BP454.O[/color]/V0S19_Test_Compile_Transformer_19.C". 
Compilation terminated.
We got a problem with the unix box yesterday and it remianed unsolved for almost half a day. This may be a problem. I'll keep posted.

Posted: Fri Jul 31, 2009 10:17 am
by ArndW
What is the date modified of the ""/opt/aCC/include_std/iosfwd" file? Did they change the compiler yesterday or install a patch to the OS (or DataStage)?

Posted: Fri Jul 31, 2009 10:38 am
by deployDS
The file /opt/aCC/include_std/iosfwd is not modified yesterday. timestamp on that file is jul31st 2005 (Exactly 4 years back????? Do C++ libraries have any expirations???? :( )

There may be some problem with the libraries. But i'm not sure of the problem at this time.