help-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: 'Unexpected end of line seen' error while building CSSL using GNU ma


From: Paul Smith
Subject: RE: 'Unexpected end of line seen' error while building CSSL using GNU make.
Date: Wed, 04 Apr 2007 22:13:27 -0400

On Thu, 2007-04-05 at 05:34 +0530, Swaroop Sugunan wrote:

> We have tried by installing the gmake as given in the "INSTALL" file.

That's fine, but why not try to fix your makefiles to work correctly, by
using $(MAKE) instead of "make"?  Then you won't need to do any of this.

> This installed the gmake. We could see the newly installed gmake in
> the path which was automatically added.

Automatically added by who?  It's impossible for any of the commands you
ran (configure, etc.) to add anything to your PATH.

> echo $PATH gives the following
>  
> bash-3.00# echo $PATH
> /usr/local/bin:/export/meta/Atlas/v4.0//unixshared/bin/solarisx64:/usr/ccs/bin:/export/Sunstudio/SUNWspro/bin:/usr/sbin:/usr/bin:/usr/openwin/bin:/usr/ucb
> bash-3.00# which make
> /usr/local/bin/make

Generally it's considered a bad idea, security-wise and also
safety-wise, to build software when logged in as root.

> So I think for that particular build statement uses the gmake itself.

I don't know what that means.  You can build GNU make with Solaris make.
You can build any automake-based package with Solaris make (although
some of the advanced features such as building outside the source tree
will not be available), because automake is careful to generate generic
makefiles that don't rely on GNU make syntax.

But the makefiles in your package DO rely on GNU make syntax, so you
need to be sure GNU make is invoked.

>  However, one thing is which I noticed is that that path persists per
> session only. i.e, when I open a new terminal these path doesn't
> exist.

That means you haven't set it properly in your shell initialization
file.  This is not a make issue: you should consult the documentation
for your shell.  If you're using bash, add it in ~/.bashrc (typically).
If you're using /bin/sh, add it in ~/.profile (typically).  Shell
configuration is a complex topic.

> We were trying to build from "bash" and were getting the error
> mentioned below. However, when we tried running the build command from
> "sh" then it works ok for that part of the code. Could you please tell
> us why it worked in "sh" and not in "bash"?

Not really.  Again, this is a shell issue (your PATH is not being
maintained in some situations), not a make issue.  There can be any
number of reasons this is not working, and your description of what
happens is nowhere near detailed enough for us to even guess which one
it might be.  You need to break out the documentation for your shell and
read about how shells are initialized, and be sure you know which shell
you are actually using so you read the docs for the right one.

But, as I said above, if you fix the makefiles to use $(MAKE) then none
of this will matter; simply run make with a full pathname as you did
originally and that full pathname will be used whenever you recursively
invoke make.

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <address@hidden>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.paulandlesley.org
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist




reply via email to

[Prev in Thread] Current Thread [Next in Thread]