Re: RPMMakefile fails after starting Makefile.Release target: create_ProductVersionFile
John Robinson <[email protected]>
| Newsgroups | gmane.network.open-pegasus.general |
|---|---|
| Message-ID | <[email protected]> |
Surendra, Thanks for the info. It seems to explain why my attempt to execute: "make -f pegasus/rpm/RPMMakefile buildRPM" did not work. Apparently my setting of PEGASUS_ROOT in .bashrc overrode the setting used in RPMMakefile and the associated build files. I think I probably also mucked things up more by setting the value of PEGASUS_ROOT inside of env_var_Linux.status. So as to facilitate getting it right. Does someone have a step by step cookbook for how to get a build done correctly. For instance, when do you use the env_var_Linux.status versus the env_var.status file. Since the $PEGASUS_ROOT/Makefile is called by the $PEGASUS_ROOT/rpm/RPMMakefile and the Makefile uses env_var.status and RPMMakefile uses env_var_Linux.status , how do you know which file has which setting for PEGASUS_ROOT . And how does one deal with the build recommendations to have PEGASUS_ROOT set in the environment. Shouldn't one use a more sophisticated build tool such as SCons<http://www.scons.org/>to handle these various " environment <http://www.scons.org/wiki/ImportingEnvironmentSettings>" contexts in a rational fashion. On Thu, Mar 4, 2010 at 3:01 AM, Surendra Kodali <[email protected]>wrote: > Pegasus RPMMakefile looks in env_var_Linux.status file for environment > variables. Environment variables defined in .bashrc file will override the > environment variables defined in env_var_Linux.status file. PEGASUS_ROOT > specified in the env_var_Linux.status should be the rpm BUILD location NOT > the pegasus src code in your local directory. For suppose if you are > building rpms with root access on RHEL, PEGASUS_ROOT specified in the > env_var_Linux.status should be "/usr/src/redhat/BUILD/tog-pegasus-2.9.1" > otherwise simply comment all the below env varibles in env_var_Linux.status > file. > > #PEGASUS_ROOT= > #PEGASUS_HOME= > #PEGASUS_PLATFORM= > > Pegasus rpm spec file will take care of all the above mentioned environment > variables. > > Regards > Surendra > > > > > > John Robinson > <[email protected] > m> To > Paul von Behren > 04/03/2010 01:27 <[email protected]> > cc > "Sampige, Sahana Prabhakar > \(STSD\)" <[email protected]>, > "[email protected]" > <[email protected]> > Subject > Re: RPMMakefile fails after > starting Makefile.Release target: > create_ProductVersionFile > > > > > > > > > > > What I fear is that maybe somehow I have set "PEGASUS_ROOT" to well. The > scripting in RPMMakefile is such that the definition of PEGASUS_ROOT is > actually changed during its execution. In particular, it appears to move > PEGASUS_ROOT from a path ending in "pegasus" to a path ending in > "tog-pegasus-2.9.1". Hence if for some reason the RPMMakefile really is > getting the value of PEGASUS_ROOT from .bashrc , env_var.status, or > env_var_Linux.status after PEGASUS_ROOT has moved --- then it would seem > only rational for the build to fail in the fashion I mentioned. > > > > On Wed, Mar 3, 2010 at 12:13 PM, Paul von Behren <[email protected] > > > wrote: > I have seen the messages John saw - I recall working around the problem, > but don't recall the details. I agree with him that this is not related > to PEGASUS_PLATFORM. Looking at mak/config.mak, I believe that an > unexpected value for PEGASUS_ROOT will not cause any sort of error > message, but will cause cause PLATFORM_FILES to be set incorrectly - > which in turn cases VALID_PLATFORMS to have a value of ".". This may be > the first symtom of missetting PEGASUS_ROOT - so double check that you > have that set to the base of the pegasus distribution and that the mak > sub-directory is readable. > > I am now recalling this symptom showing up when I has pegasus source on a > shared directory - the "~" shell operator was now working as expected and > I have to specify the full path in PEGASUS_ROOT. But this is a fuzzy > recollection. > > Try running make with the "-d" (debug) or "-n" (dry-run) option to see > how make is interpreting the internal variables. > > Hope this helps in troubleshooting! Just keep telling yourself "make is > fun" :-) > > Paul > > > On 3/3/2010 9:20 AM, John Robinson wrote: > Sahana, > PEGASUS_PLATFORM was set in both the .bashrc script, the > env_var.status, and the env_var_Linux.status script. The > env_var_Linux.status and the env_var.status are linked to the same > file. > Before compilation, a check was made by executing "env" to verify > that PEGASUS_PLATFORM was set. > > The logic of the line and the printout of the line itself verifies > that the VALID_PLATFORMS was not set. The error line I posted was > not edited. The output from the echo of VALID_PLATFORMS was a > single period: "." . > > > > On Wed, Mar 3, 2010 at 12:42 AM, Sampige, Sahana Prabhakar (STSD) < > [email protected]> wrote: > Hi John, > Looks like the PEGASUS_PATFORM variable has not been set through > your .bashrc script. Please check by doing an > # echo $PEGASUS_PLATFORM. > You can get a list of VALID_PLATFORMS from > > http://cvs.opengroup.org/cgi-bin/viewcvs.cgi/pegasus/doc/BuildAndReleaseOptions.html > > VALID_PLATFORMS not being displayed is not the reason for your > build failure. Just that the error message displayed is incorrect. > > Hope this helps. > > Rgds, > Sahana > > From: John Robinson [mailto:[email protected]] > Sent: Wednesday, March 03, 2010 3:48 AM > To: [email protected] > Subject: RPMMakefile fails after starting Makefile.Release target: > create_ProductVersionFile > > > > make[1]: Entering directory > `/usr/src/redhat/BUILD/tog-pegasus-2.9.1' > /usr/src/redhat/BUILD/tog-pegasus-2.9.1/mak/config.mak:317: *** > PEGASUS_PLATFORM environment variable must be set to one of the > following: . Stop. > > Since the PEGASUS_PLATFORM is set in both the unix environment > from a .bashrc setting and in the env_var_Linux.status file, I am > left with the conclusion > that for some reason the variable VALID_PLATFORMS is not being > set. > > Any help offered would be appreciated. > > > > >