Ethereal-users: [Ethereal-users] Some problems building the latest nightly on Solaris 9

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

From: Stefan Puiu <stefan.puiu@xxxxxxxxx>
Date: Mon, 15 Nov 2004 17:15:44 +0200
Hello, 

I've tried compiling the latest Ethereal nightly build
(ethereal-2004-11-15) on Solaris 9 (SPARC) using Forte Developer 6
Update 2 and had some trouble with it. First I ran:

./configure --disable-ipv6 --with-glib-prefix=/opt/csw/
--with-gtk-prefix=/opt/csw/

For some strange reason, even if flex and bison weren't installed, the
script didn't fail and produce some error message as expected, but
ended successfully - the error would come up when trying to compile
and $(LEX) would expand to nothing, resulting in the Solaris make
complaining about missing 'Pascend: command not found', even though it
was actually a flex command line option.

After installing flex and bison, I've ran 'make clean' but that didn't
clean up files generated by flex and bison (in wiretap/), so I'd get
some strange error about a variable 'ascendval' that was not defined.

I didn't have the patience to check what I needed to delete and
re-create, so I removed the old source tree, de-archived a new, clean
one, and ./configure ... worked, but make failed in 'dissectors'
because of an unsuccessful python command line. This seems related to
the fact that Solaris 'make' doesn't support some GNU make variables
(like $<, which expands to a void string). The INSTALL file doesn't
mention that you need GNU make in order to build ethereal (it just
mentions 'make', but at least both Solaris and HP-UX have their own
'makes').

I realize this isn't a stable build, but the above pointers might be
helpful for others trying to compile on Solaris.

Then, the build ran for a loooot of time (it's Slowlaris, right?), and
finally failed, this being its final words (no idea  what etherealS.c
is, so I can't be more specific):

rm -f .libs/ethereal.nm .libs/ethereal.nmS .libs/ethereal.nmT
creating .libs/etherealS.c
(cd .libs && cc -c "etherealS.c")
rm -f .libs/etherealS.c .libs/ethereal.nm .libs/ethereal.nmS .libs/ethereal.nmT
cc -D_U_= -g -I/usr/local/include -D_REENTRANT
-I/opt/csw/include/gtk-2.0 -I/opt/csw/lib/gtk-2.0/include
-I/opt/csw/include/atk-1.0 -I/opt/csw/include/pango-1.0
-I/opt/csw/include -I/opt/csw/include/freetype2
-I/opt/csw/include/glib-2.0 -I/opt/csw/lib/glib-2.0/include -o
.libs/ethereal pcap-util-unix.o capture_stop_conditions.o cfile.o
clopts_common.o conditions.o disabled_protos.o packet-range.o
pcap-util.o print.o ps.o ringbuffer.o timestats.o util.o
version_info.o alert_box.o capture.o capture_sync.o capture_loop.o
capture_combo_utils.o color_filters.o file.o filters.o g711.o merge.o
proto_hier_stats.o summary.o .libs/etherealS.o  -L/usr/local/lib
gtk/libui.a wiretap/.libs/libwiretap.so -L/opt/csw/lib
epan/.libs/libethereal.so /opt/csw/lib/libpcre.so -lpcap
/opt/csw/lib/libgtk-x11-2.0.so /opt/csw/lib/libgdk-x11-2.0.so
/opt/csw/lib/libatk-1.0.so /opt/csw/lib/libgdk_pixbuf-2.0.so -lm
/opt/csw/lib/libpangoxft-1.0.so /opt/csw/lib/libpangox-1.0.so
/opt/csw/lib/libpango-1.0.so /opt/csw/lib/libgobject-2.0.so
/opt/csw/lib/libgmodule-2.0.so -ldl /opt/csw/lib/libgthread-2.0.so
/opt/csw/lib/libglib-2.0.so /opt/csw/lib/libintl.so -lc
/opt/csw/lib/libiconv.so -lnsl -lz -R/usr/local/lib -R/opt/csw/lib
ild: (undefined symbol) wtap_process_pcap_packet -- referenced in the
text segment of capture_loop.o
gmake[2]: *** [ethereal] Error 5
gmake[2]: Leaving directory `/mnt/d2/src/ethereal-2004-11-15'
gmake[1]: *** [all-recursive] Error 1
gmake[1]: Leaving directory `/mnt/d2/src/ethereal-2004-11-15'
gmake: *** [all] Error 2

What could be causing that? The funny thins is
wiretap/.libs/libwiretap.so doesn't seem to include the specified
symbol (at first I thought it was a problem with the order in which
libraries were being fed to the linker, and tried recompiling with "-z
rescan"). I've also ran 'gmake clean' and then 'gmake' again, but I
got the same error. I don't have time to experiment much, since it
takes 50 minutes just to get to this error message (well, the sparc
box isn't exactly new either). I have more compiler output if needed,
the config.log file, etc.