Liu Chunfang-CCL083 wrote:
You need to change the Makefile under dir:/psc/proj/gsm/gprs/rlcmac/ethereal-0.10.6/ethereal/epan/dissectors. Find the line 987, in the next line, there are two lines including sign ":=". Just change ":=" to "=", then you can biuld. I've tried. It worked fine.
Chunfang
-----Original Message-----
From: ethereal-users-bounces@xxxxxxxxxxxx [mailto:ethereal-users-bounces@xxxxxxxxxxxx] On Behalf Of harsha ss
Sent: Thursday, October 21, 2004 8:40 AM
To: ethereal-users@xxxxxxxxxxxx
Subject: [Ethereal-users] Problem in installing ethereal
Hi,
I am trying to install ethereal on solaris machine.
The versioon of ethereal i am trying to install is ethereal-0.10.6
Configure is working fine.I am getting the problem in make.This is the message i am getting when i run make.Please help me if anybody knows this problem.
/cadappl/bin/perl ./make-version.pl
This is not a SVN build.
svnversion.h is up-to-date.
make all-recursive
Making all in tools
Making all in lemon
Making all in wiretap
make all-am
Making all in doc
Making all in epan
Making all in ftypes
Making all in dfilter
Making all in dissectors
make: Fatal error in reader: Makefile, line 987: Unexpected end of line seen Current working directory /psc/proj/gsm/gprs/rlcmac/ethereal-0.10.6/ethereal/epan/dissectors
*** Error code 1
make: Fatal error: Command failed for target `all-recursive' Current working directory /psc/proj/gsm/gprs/rlcmac/ethereal-0.10.6/ethereal/epan
*** Error code 1
make: Fatal error: Command failed for target `all-recursive' Current working directory /psc/proj/gsm/gprs/rlcmac/ethereal-0.10.6/ethereal
*** Error code 1
make: Fatal error: Command failed for target `all'
So why are we using := rather than = in
#
# Build various header files for the X11 dissector.
#
PROC_X11_FIELDS := $(srcdir)/process-x11-fields.pl
X11_FIELDS := $(srcdir)/x11-fields
According to the SunOS 5.6 man page (at least as shown on the FreeBSD
Web site), := is used in "conditional macro definitions":
Conditional Macro Definitions
A macro definition of the form:
target-list := macro = value
indicates that when processing any of the targets listed and their
dependencies, macro is to be set to the value supplied. Note that if a
conditional macro is referred to in a dependency list, the $ must be
delayed (use $$ instead). Also, target-list may contain a % pattern,
in which case the macro will be conditionally defined for all targets
encountered that match the pattern. A pattern replacement reference
can be used within the value.
whereas the GNU Make manual says it sets a "siimply expanded variable":
Simply expanded variables are defined by lines using `:=' (see section
Setting Variables). The value of a simply expanded variable is scanned
once and for all, expanding any references to other variables and
functions, when the variable is defined. The actual value of the simply
expanded variable is the result of expanding the text that you write. It
does not contain any references to other variables; it contains their
values as of the time this variable was defined. Therefore,
x := foo
y := $(x) bar
x := later
is equivalent to
y := foo bar
x := later
When a simply expanded variable is referenced, its value is substituted
verbatim.
Given that := isn't a standard make feature (and means different things
in different versions of make), we should avoid it - the version of
Makefile.in distributed in the source tarballs should *NOT* require GNU
make (automake attempts *NOT* to require GNU make in the version of
Makefile.in generated by "make dist", even though you *do* need GNU make
for the Makefile.in generated if you're building from SVN).