![Guy Harris](/assets/img/avatar_default.png)
"macos", to fix some bugs, to use "sudo" if necessary when installing, to make the library version numbers variables, and to download the optional libraries, by default, as well. Also add his patches to make GLib build and work. Update README.macos to reflect that. svn path=/trunk/; revision=38053
95 lines
4.3 KiB
Text
95 lines
4.3 KiB
Text
$Id$
|
|
|
|
This file tries to help building Wireshark for Mac OS X (Wireshark does
|
|
not work on earlier versions of Mac OS).
|
|
|
|
You must have the developer tools (called Xcode) installed. Xcode 3 should
|
|
be available on the install DVD. See
|
|
|
|
http://guide.macports.org/chunked/installing.xcode.html
|
|
|
|
for details.
|
|
|
|
You must have X11 and the X11 developer headers and libraries installed;
|
|
otherwise, you will not be able to build or install GTK+, and will only
|
|
be able to build TShark. The X11 and X11 SDK that come with Mac OS X
|
|
releases starting with Panther can be used to build and run Wireshark.
|
|
|
|
You must also have GLib and, if you want to build Wireshark as well as
|
|
TShark, GTK+. The macosx-setup.sh script can be used to download, patch
|
|
as necessary, build, and install those libraries and the libraries on
|
|
which they depend; it will, by default, also install other libraries
|
|
that can be used by Wireshark and TShark. The versions of libraries to
|
|
download are specified by variables set early in the script; you can
|
|
comment out the settings of optional libraries if you don't want them
|
|
downloaded and installed.
|
|
|
|
After you have installed those libraries:
|
|
|
|
If you are building from a Subversion tree, rather than from a source
|
|
distribution tarball, run the autogen.sh script. This should not be
|
|
necessary if you're building from a source distribution tarball, unless
|
|
you've added new source files to the Wireshark source.
|
|
|
|
Then run the configure script, and run make to build Wireshark.
|
|
|
|
If you upgrade the major release of Mac OS X on which you are building
|
|
Wireshark, we advise that, before you do any builds after the upgrade,
|
|
you do, in the build directory:
|
|
|
|
If you are building from a release tarball:
|
|
make distclean
|
|
|
|
If you are building from SVN:
|
|
make maintainer-clean
|
|
./autogen.sh
|
|
|
|
Then re-run the configure script and rebuild from scratch.
|
|
|
|
On Snow Leopard (10.6), if you are building on a machine with a 64-bit
|
|
processor (with the exception of the early Intel Core Duo and Intel Core
|
|
Solo machines, all Apple machines with Intel processors have 64-bit
|
|
processors), the C/C++/Objective-C compiler will build 64-bit by
|
|
default.
|
|
|
|
This means that you will, by default, get a 64-bit version of Wireshark.
|
|
|
|
One consequence of this is that, if you built and installed any required
|
|
or optional libraries for Wireshark on an earlier release of Mac OS X,
|
|
those are probably 32-bit versions of the libraries, and you will need
|
|
to un-install them and rebuild them on Snow Leopard (10.6), to get 64-bit
|
|
versions.
|
|
|
|
Some required and optional libraries require special attention if you
|
|
install them by building from source code on Snow Leopard; the
|
|
macosx-setup.sh script will handle that for you.
|
|
|
|
GLib - the GLib configuration script determines whether the system's
|
|
libiconv is GNU iconv or not by checking whether it has libiconv_open(),
|
|
and the compile will fail if that test doesn't correctly indicate
|
|
whether libiconv is GNU iconv. In Mac OS X, libiconv is GNU iconv, but
|
|
the 64-bit version doesn't have libiconv_open(); a workaround for this
|
|
is to replace all occurrences of "libiconv_open" with "iconv_open" in
|
|
the configure script before running the script. The macosx-setup.sh
|
|
setup script will patch GLib to work around this.
|
|
|
|
libgcrypt - the libgcrypt configuration script attempts to determine
|
|
which flavor of assembler-language routines to use based on the platform
|
|
type determined by standard autoconf code. That code uses uname to
|
|
determine the processor type; however, in Mac OS X, uname always reports
|
|
"i386" as the processor type on Intel machines, even Intel machines with
|
|
64-bit processors, so it will attempt to assemble the 32-bit x86
|
|
assembler-language routines, which will fail. The workaround for this
|
|
is to run the configure script with the --disable-asm argument, so that
|
|
the assembler-language routines are not used. The macosx-setup.sh will
|
|
configure libgcrypt with that option.
|
|
|
|
PortAudio - when compiling on Mac OS X, the configure script for the
|
|
pa_stable_v19_20071207 version of PortAudio will cause certain
|
|
platform-dependent build environment #defines to be set in the
|
|
Makefile rules, and to cause a universal build to be done; those
|
|
#defines will be incorrect for all but one of the architectures for
|
|
which the build is being done, and that will cause a compile-time error
|
|
on Snow Leopard. Newer versions don't have this problem; the
|
|
macosx-setup.sh script downloads a newer version.
|