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.
>
>
>
>
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.