Ethereal-dev: [Ethereal-dev] Getting ethereal 0.10.7 to build on Solaris

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: David Eisner <deisner@xxxxxxxxx>
Date: Tue, 26 Oct 2004 13:28:48 -0400
I think I have figured out how to get ethereal to build on Solaris. 
I'm using Solaris 9 (SPARC)  and gcc 3.4.1.  It's ultimately a libtool
problem.  Below are two messages I sent to James Waldon, who reported
the problem on this list last week (and once before).

Message 1:
--------------
Like you, I'm trying to build ethereal on Solaris (Solaris 9 sparc).

http://marc.theaimsgroup.com/?l=ethereal-dev&m=109701748203573&w=2
http://marc.theaimsgroup.com/?l=ethereal-dev&m=109701748203573&w=2

Did you ever get this working?

By comparing a successful Linux build to my unsuccessful Solaris
build, I've been able to figure out this much,focusing on the first
unfound symbol, RegistrationRejectReason_vals: the symbol  is supposed
to be included in epan/.libs/libethereal.so when that library is built
from, among other things, epan/dissectors/.libs/libdissectors.al.  For
some reason, the Solaris link doesn't pick it up,
and so the final link of the ethereal executable fails.

-David


Message 2:
-----------
I think I have figured it out (I'll post it to the dev list later today).

It's a libtool problem, specifically this one:

http://lists.gnu.org/archive/html/libtool/2004-07/msg00060.html

So libtool is using the wrong switches when calling gcc (v 3.4.1 in
my case) to link the libetheral library.  I went back and deleted
epan/libethreal.la, did a make, then copied and pasted the gcc link
command, replacing "-z allextract" with "-Wl,-z -Wl,allextract" and
similarly for the "-z defaultextract" switch.  This generated a
libethereal with the missing symbols.

Then I got further in the final ethereal link, but there's another
problem: for some reason -lsocket is not included in the LIBS macro in
the Makefile.  So I added that in the Makefile, and I was able to
build ethereal.

-David