aboutsummaryrefslogtreecommitdiffstats
path: root/README.macos
blob: 0c069b8c10c9145e95d5171c52bfbe8f14e09f5b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
$Id: README.macos,v 1.3 2004/03/21 19:04:44 jmayer Exp $

This file tries to help building Ethereal for Mac OS X (Ethereal does
not work on earlier versions of Mac OS).

The changes to enable libwiretap and libethereal being built as shared
libraries have broken shared gtk1 builds on Mac OS X.  The GLib 1.x and
GTK+ 1.x release tarballs were built with an older version of libtool
that didn't support shared libraries on Mac OS X, so you can't build and
install them as shared libraries, but the shared-library build of
Ethereal requires GLib and GTK+, on Mac OS X, to be shared libraries. 
The alternative to build Ethereal as one big statically linked binary
isn't working either (and may never have worked on this OS).

The way out of this situation is to use gtk2 and associated libraries
which is known to work in this constellation:

        GLib 2.2.3
        Pango 1.2.5
        GTK+ 2.2.3
        ATK 1.2.4

and the corresponding dependencies. In case you also have gtk1 installed,
you will need to run configure with the "--enable-gtk2" argument.

Another problem are compile errors in the wiretap directory like the
following:
pcap-util.c: In function `get_interface_list_findalldevs':
pcap-util.c:195: error: `pcap_if_t' undeclared (first use in this function)

On first sight, it seems that Mac OS X 10.3.2 ships with a weird version of
libpcap that includes pcap_findalldevs, but no definition for pcap_if_t.
As it turns out, this isn't true. 10.3.2 ships with an 0.6[.x]-derived
libpcap that doesn't include "pcap_findalldevs()". The problem is caused
by a Security Update - it updates the libpcap dylib to 0.8.1, but doesn't
update the header files (or the man page - and also doesn't update the
tcpdump man page to 3.8.1). As a workaround, install pcap.h, pcap-bpf.h
and pcap-stdinc.h from libpcap 0.8.1 in "/usr/include".