Compilation Problem with transformer stage

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
deployDS
Premium Member
Premium Member
Posts: 45
Joined: Thu Mar 09, 2006 9:36 am

Compilation Problem with transformer stage

Post 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.
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post 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.
deployDS
Premium Member
Premium Member
Posts: 45
Joined: Thu Mar 09, 2006 9:36 am

Post 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?
deployDS
Premium Member
Premium Member
Posts: 45
Joined: Thu Mar 09, 2006 9:36 am

Post 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.
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post 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)?
deployDS
Premium Member
Premium Member
Posts: 45
Joined: Thu Mar 09, 2006 9:36 am

Post 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.
Post Reply