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