Compiler issues with Enterprise edition

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
dsguy1247
Premium Member
Premium Member
Posts: 33
Joined: Wed Feb 04, 2004 6:35 am
Contact:

Compiler issues with Enterprise edition

Post by dsguy1247 »

Hi All,

This is an urgent SOS after doing everything possible from reinstalling datastage, reinstalling sun studio 8, modifying the /etc/hosts_equiv file.

I have a new Datastage enterprise edition install(7.5.1A) on a sun solaris 8 machine. I also have studio 8 C++ compiler on the box. I have modified the administrator compiler environment variable to point to the right compiler and flags.
When I try to compile a simple parallel job with two sequential files and a transformer, it fails. I exported the job and imported it to a new project on a different machine, it compiles!
During compilation faiure on the machine in question, when I press the "More" button, I get the following message, which looks incomplete but that is all there is.
Output from job compilation follows the mail

Thanks a zillion in advance for any ideas to fix this issue.

Raj

Output from transformer compilation follows:

(parjob1.Transformer_2)

*** Internal Generated Transformer Code follows:
0001: //
0002: // Generated file to implement the V0S2_repos_Transformer_2 transform operator.
0003: //
0004:
0005: // define our input/output link names
0006: inputname 0 DSLink3;
0007: outputname 0 DSLink4;
0008:
0009: initialize {
0010: // define and initialise our input row count variable
0011: uint64 InRowNumber0;
0012: InRowNumber0 = 0;
0013:
0014: // define our row rejected variable
0015: int8 RowRejected0;
0016:
0017: // define our null set variable
0018: int8 NullSetVar0;
0019:
0020: }
0021:
0022: mainloop {
0023: // initialise our row rejected variable
0024: RowRejected0 = 1;
0025:
0026: // increment our input row count
0027: InRowNumber0 = InRowNumber0 + 1;
0028:
0029: // evaluate columns (no constraints) for link: DSLink4
0030: DSLink4.Type_of_file = DSLink3.File_Type;
0031: DSLink4.Timing = DSLink3.Timings;
0032: DSLink4.RowID = InRowNumber0;
0033: writerecord 0;
0034: RowRejected0 = 0;
0035: }
0036:
0037: finish {
0038: }
0039:
*** End of Internal Generated Transformer Code
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post by ray.wurlod »

That code basically looks OK. Error messages usually appear ahead of the code. Are you SURE you haven't left anything out?
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
dsguy1247
Premium Member
Premium Member
Posts: 33
Joined: Wed Feb 04, 2004 6:35 am
Contact:

Compiler issues with Enterprise edition

Post by dsguy1247 »

ray.wurlod wrote:That code basically looks OK. Error messages usually appear ahead of the code. Are you SURE you haven't left anything out?
Ray,

Yes, I agree with you. Most of the time I have seen the actual error ahead of the code. However, In this case, this information was all that was. I am thinking if there is any setting where I can increase the log size, so that I can see the complete error message, which might give us more information about what the problem might be.

Thanks a lot,
Raj
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

I recall that I once got much better compiler diagnostics when I looked at the output of the multiple-job-compile utility you can call from the manager. It might be worth giving that a try for your single job.
dsguy1247
Premium Member
Premium Member
Posts: 33
Joined: Wed Feb 04, 2004 6:35 am
Contact:

Compiler issues with Enterprise edition

Post by dsguy1247 »

ArndW wrote:I recall that I once got much better compiler diagnostics when I looked at the output of the multiple-job-compile utility you can call from the manager. It might be worth giving that a try for your single job.
ArndW,

I just tried to compile using the Multiple Job compile facility in the manager. But, I got exactly the same response as the compile within Designer.

I also tried to do truss on the three server processes dsrpcd, pxengine and dsapi_slave and I could not find any valuable information there too. I am hoping if there is anything we can do to get more information about why the compile is failing.

Thanks a lot,
Raj
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

I'm not sure if it's in the PX or Orchestrate documentation (as I'm not at a PX system right now) but you might be able to find the exact compiler call and execute it from your shell, instead of trying to get the error messages post-mortem.
dsguy1247
Premium Member
Premium Member
Posts: 33
Joined: Wed Feb 04, 2004 6:35 am
Contact:

Post by dsguy1247 »

Hi ArndW,

Thanks for the suggestion. I did something very similar. I had forgot to mention that this is a new machine I have just got. I had installed studio 8 earlier, but I had never tried to compile a standalone "hello world" C++ program. I tried to do that and I found that the compilation was failing because I did not have the system include files which come with the Sun package SUNWhea. I am now trying to get the required packages from Sun download site and get a clean compile first, independent of datastage.

Once that gets done, I will retry again from parallel extender. I will keep you all posted on the developments.

Raj
dsguy1247
Premium Member
Premium Member
Posts: 33
Joined: Wed Feb 04, 2004 6:35 am
Contact:

Post by dsguy1247 »

Hi,

I was able to download the SunWhea package and got the standalone compile working. I did set up the compile in trace mode option and also switched on server side tracing. But, I still get the same failure while compiling the job within parallel extender. Also I did not get any additional info from the trace files.

Any help would be highly appreciated.

Raj
ArndW
Participant
Posts: 16318
Joined: Tue Nov 16, 2004 9:08 am
Location: Germany
Contact:

Post by ArndW »

Can you get a PX job to compile and run that doesn't use transform stages? Just to make sure that the problem truly lies only in the c++ compiler. Also, are you certain that this version of the compiler is identical to that in the install manual?
dsguy1247
Premium Member
Premium Member
Posts: 33
Joined: Wed Feb 04, 2004 6:35 am
Contact:

Post by dsguy1247 »

Hi ArndW,

Thanks for the follow up. I was able to compile a job without a transformer.

Raj
MTA
Participant
Posts: 37
Joined: Thu Feb 02, 2006 2:25 pm

Post by MTA »

Can you please post the path to the c++ compiler APT_COMPILER , APT_LINKER and APT_COMPILEROPT it the later two are set.:
Also Does your $PATH include "/opt/SUNWspro/bin"
M.T.Anwer
The day the child realizes that all adults are imperfect he becomes an adolescent;
the day he forgives them, he becomes an adult; the day he forgives himself, he becomes wise.
-Aiden Nowlan
dsguy1247
Premium Member
Premium Member
Posts: 33
Joined: Wed Feb 04, 2004 6:35 am
Contact:

Post by dsguy1247 »

Hi MTA,
The path of my C++ compiler is /export/home/SUNWspro/bin and I have included that in the path (PATH variable within General section)
The values for the parameters mentioned are as follows:
APT_COMPILER is /export/home/SUNWspro/bin/CC
APT_LINKER is /export/home/SUNWspro/bin/CC
APT_COMPILEROPT is -dalign -O -PIC -library=iostream -c

Thanks,
Raj
dsguy1247
Premium Member
Premium Member
Posts: 33
Joined: Wed Feb 04, 2004 6:35 am
Contact:

Post by dsguy1247 »

Thanks to everyone for their help.

I re-installed solaris 8, got the latest patches, installed studio 8, configured rsh to be run without password and then installed datastage again. Imported in the old job. Tried to recompile it. It failed but this time, it gave much more information. It was complaining about a define within math.h standard library. I made the required changes to the math.h header file (it was something about machine architecture) and the job compiled without a problem.

The good news is that it is working. The bad news is I still dont know why it did not give more information about the compilation failure last time. So, long it is working, no reason to complain.

Thanks again,
Raj
Post Reply