Update for current reality, and give some more details.
[obnox/wireshark/wip.git] / README.macos
1 $Id$
2
3 This file tries to help building Wireshark for Mac OS X (Wireshark does
4 not work on earlier versions of Mac OS).
5
6 You must have the developer tools installed.  They should be available
7 on the install DVD.  [Insert details here.]
8
9 You must have X11 and the X11 developer headers and libraries installed;
10 otherwise, you will not be able to build or install GTK+, and will only
11 be able to build TShark.  The X11 and X11 SDK that come with Mac OS X
12 releases starting with Panther can be used to build and run Wireshark.
13
14 You must also have GLib and, if you want to build Wireshark as well as
15 TShark, GTK+.  See
16
17         https://nplab.fh-muenster.de/groups/wiki/wiki/fb7a4/Building_Wireshark_on_SnowLeopard.html
18
19 for information on how to install GLib, GTK+'s dependencies, GTK+, and
20 some additional optional support libraries from source.
21 from source
22
23 If you are building from a Subversion tree, rather than from a source
24 distribution tarball, run the autogen.sh script.  This should not be
25 necessary if you're building from a source distribution tarball, unless
26 you've added new source files to the Wireshark source.
27
28 Then run the configure script, and run make to build Wireshark.
29
30 If you upgrade the major release of Mac OS X on which you are building
31 Wireshark, we advise that, before you do any builds after the upgrade,
32 you do, in the build directory:
33
34     If you are building from a release tarball:
35         make distclean
36
37     If you are building from SVN:
38         make maintainer-clean
39         ./autogen.sh
40
41 Then re-run the configure script and rebuild from scratch.
42
43 On Snow Leopard, if you are building on a machine with a 64-bit
44 processor (with the exception of the early Intel Core Duo and Intel Core
45 Solo machines, all Apple machines with Intel processors have 64-bit
46 processors), the C/C++/Objective-C compiler will build 64-bit by
47 default.
48
49 This means that you will, by default, get a 64-bit version of Wireshark.
50
51 One consequence of this is that, if you built and installed any required
52 or optional libraries for Wireshark on an earlier release of Mac OS X,
53 those are probably 32-bit versions of the libraries, and you will need
54 to un-install them and rebuild them on Snow Leopard, to get 64-bit
55 versions.
56
57 Some required and optional libraries require special attention if you
58 install them by building from source code on Snow Leopard:
59
60 GLib - the GLib configuration script determines whether the system's
61 libiconv is GNU iconv or not by checking whether it has libiconv_open(),
62 and the compile will fail if that test doesn't correctly indicate
63 whether libiconv is GNU iconv.  In Mac OS X, libiconv is GNU iconv, but
64 the 64-bit version doesn't have libiconv_open(); a workaround for this
65 is to replace all occurrences of "libiconv_open" with "iconv_open" in
66 the configure script before running the script.
67
68 libgcrypt - the libgcrypt configuration script attempts to determine
69 which flavor of assembler-language routines to use based on the platform
70 type determined by standard autoconf code.  That code uses uname to
71 determine the processor type; however, in Mac OS X, uname always reports
72 "i386" as the processor type on Intel machines, even Intel machines with
73 64-bit processors, so it will attempt to assemble the 32-bit x86
74 assembler-language routines, which will fail.  The workaround for this
75 is to run the configure script with the --disable-asm argument, so that
76 the assembler-language routines are not used.
77
78 PortAudio - when compiling on Darwin (e.g., on Mac OS X), the configure
79 script for the pa_stable_v19_20071207 version of PortAudio will cause
80 certain platform-dependent build environment #defines to be set in the
81 Makefile rules, and to cause a universal build to be done; those
82 #defines will be incorrect for all but one of the architectures for
83 which the build is being done, and that will cause a compile-time error
84 on Snow Leopard.  The current snapshot version of PortAudio still
85 defines those values in the Makefile, but it appears to use them in ways
86 that don't cause build problems; its configure script also has a
87 "--disable-mac-universal" flag that can cause the build not to be done
88 universal.