-NOTE: this document applies to the Wireshark source releases. It also
-applies to buildbot source tarballs, but it does not apply to source
-code checked out directly from Subversion, as files such as the
-configuration script are not checked into Subversion, but need to be
-generated from the autoconf and automake files.
+$Id$
+
+NOTE: this document applies to the Wireshark source releases and
+buildbot source tarballs. It does not apply to source code checked
+out directly from Subversion, as files such as the configuration
+script are not checked into Subversion, but need to be generated
+from the autoconf and automake files.
+See http://wiki.wireshark.org/Development if you would like to build
+the source code checked out directly from Subversion.
Installation
============
These are installation instructions for Unix and Unix-like systems
that can run the "configure" script in this same directory. These
are not the installation instructions for Windows systems; see
-README.win32 for those instructions.
+README.windows for those instructions.
-0. This is beta software. Beware.
+0. This is software. Beware.
1. If you wish to build Wireshark, make sure you have GTK+ and GLib
installed. Try running 'pkg-config glib-2.0 --modversion' to see if
you have GLib 2.x installed and, if that fails, try running
- 'glib-config --version' to see if you have GLib 1.2[.x] installed.
+ 'glib-config --version' to see if you have GLib 1.2[.x] installed.
Then try running 'pkg-config gtk+-2.0 --modversion' to see if you
have GTK+ 2.x installed and, if that fails, try running
'gtk-config --version' to see if you have GTK+ 1.2[.x] installed.
GLib 2.x; you need to configure with --disable-gtk2 to use GTK+
1.2[.x].
+ Please also note that GTK+ 1.2[.x] is only supported up to
+ Wireshark 1.0.x. From Wireshark 1.1.x onwards only GTK+ 2.x
+ is supported.
+
2. If you wish to build TShark, the line-mode version of Wireshark,
make sure you have GLIB installed. See note #1 above for instructions
on checking if you have GLIB installed. You can download GLIB from
Similarly, Red Hat 5.x users will need to install a "libpcap-devel"
.rpm to go along with the "libpcap" .rpm.
-4. Run './configure' in the Wireshark distribution directory.
- Running './configure --help' displays a list of options.
+4. Building Wireshark requires Perl (specifically the pod2man program)
+ so that the documentation can be built.
+
+5. Run './configure' in the Wireshark distribution directory.
+ Running './configure --help' displays a complete list of options.
The file 'INSTALL.configure' contains general instructions for
- using 'configure' and 'make'. Wireshark has some non-generic configure
- options:
+ using 'configure' and 'make'. Some of the Wireshark non-generic
+ configure options are as follows:
--sysconfdir=DIR
Wireshark installs a support file (manuf) in ${PREFIX}/etc by
--disable-wireshark
By default, if 'configure' finds the GTK+ libraries, the Makefile
- build Wireshark, the GUI packet analyzer. You can disable the
+ builds Wireshark, the GUI packet analyzer. You can disable the
build of the GUI version of Wireshark with this switch.
--disable-gtk2
Build Glib/Gtk+ 1.2[.x]-based wireshark.
+ Note: not supported from Wireshark 1.1.x onwards
--disable-tshark
By default the line-mode packet analyzer, TShark, is built.
By default the capture-file editing program is built.
Use this switch to avoid building it.
+ --disable-capinfos
+ By default the capture-file statistics reporting pogram
+ is built. Use this switch to avoid building it.
+
--disable-mergecap
By default the capture-file merging program is built.
Use this switch to avoid building it.
By default the hex-dump-to-capture file conversion program
is built. Use this switch to avoid building it.
- --disable-idl2wrs
- By default the IDL-to-wireshark-dissector-source-code converter
+ --disable-dftest
+ By default the display-filter-compiler test program is built.
+ Use this switch to avoid building it.
+
+ --disable-randpkt
+ By default the program which creates random packet-capture files
is built. Use this switch to avoid building it.
- --enable-dftest
- By default the display-filter-compiler test program is not built.
- Use this switch to build it.
+ --disable-dumpcap
+ By default the network traffic capture program is built.
+ Use this switch to avoid building it.
- --enable-randpkt
- By default the program which creates random packet-capture files
- is not built. Use this switch to build it.
+ --disable-rawshark
+ By default the program used to dump and analyze raw libpcap data
+ is built. Use this switch to avoid building it.
+
+ --disable-ipv6
+ If 'configure' finds support for IPv6 name resolution on
+ your system, the packet analyzers will make use of it.
+ To avoid using IPv6 name resolution if you have the support for it,
+ use this switch.
+
+ --enable-setuid-install
+ Wireshark and TShark rely on dumpcap for packet capture. Setting this
+ flag installs dumpcap with setuid root permissions, which lets any user
+ on the system capture live traffic. If this is not desired, you can
+ restrict dumpcap's permissions so that only a single user or group can
+ run it. This can be used in conjunction with --with-libcap described
+ below.
+
+ Running Wireshark or TShark as root is not recommended.
+
+ --without-libcap
+ By default, if 'configure' finds libcap (the POSIX capabilities
+ library) dumpcap will be built so that if it is installed setuid
+ root, it will attempt to retain CAP_NET_RAW and CAP_NET_ADMIN
+ before dropping root privileges. Use this option to disable this
+ behavior.
+
+ --with-libcap=DIR
+ Use this option to tell 'configure' where libcap is installed,
+ if it is installed in a non-standard location. Note that libcap
+ (the POSIX capabilities library, sans "p") and libpcap (the
+ packet capture library, avec "p") are two very different things.
--without-pcap
If you choose to build a packet analyzer that can analyze
Use this to tell Wireshark where you have zlib installed, if it
is installed in a non-standard location.
- --disable-ipv6
- If 'configure' finds support for IPv6 name resolution on
- your system, the packet analyzers will make use of it.
- To avoid using IPv6 name resolution if you have the support for it,
- use this switch.
-
- --enable-setuid-install
- Use this switch to install the packet analyzers as setuid.
- Installating Wireshark and TShark as setuid 'root' is
- dangerous. Repeat: IT'S DANGEROUS. Don't do it.
-
- --with-ssl=DIR
- If your SNMP library needs the SSL library, and your
- SSL library is installed in a non-standard location,
- you can specify where your SSL library is with this switch.
-
- --without-net-snmp
- If 'configure' finds a supported version of the NET SNMP library
- on your system, the SNMP dissector will be enhanced to use
- routines from that SNMP library. Use this switch to avoid
- using the NET SNMP library even if you have it installed.
-
- --with-net-snmp=PATH
- Tell the 'configure' script where your net-snmp-config shell script
- that comes with the net-snmp package is located, if not in a standard
- location.
-
- --without-ucd-snmp
- If 'configure' finds a supported version of the UCD SNMP library
- on your system, the SNMP dissector will be enhanced to use
- routines from that SNMP library. Use this switch to avoid
- using the UCD SNMP library even if you have it installed.
-
- --with-ucd-snmp=DIR
- Tell the 'configure' script where your UCD SNMP library
- is located, if not in a standard location.
-
--without-plugins
By default, if your system can support run-time loadable modules,
the packet analyzers are build with support for plugins.
- Use this switcht to build packet analyzers without plugin support.
+ Use this switch to build packet analyzers without plugin support.
--with-plugins=DIR
By default, plugins are installed in
${LIBDIR} can be set with --libdir, or defaults to ${EPREFIX/lib}
${EPREFIX} can be set with --exec-prefix, or defaults to ${PREFIX}
- ${VERSION} is the Etherael version.
+ ${VERSION} is the Wireshark version.
Use this switch to change the location where plugins
are installed.
-5. After running './configure', you will see a summary of some
+6. After running './configure', you will see a summary of some
of the options you chose. Ensure that the summary reflects
what you want. If it doesn't, re-run './configure' with new options.
-6. Run 'make'. Hopefully, you won't run into any problems.
+7. Run 'make'. Hopefully, you won't run into any problems.
-7. Run './wireshark' or './tshark', and make sure things are working.
- You must have root privileges in order to capture live data.
+8. Run './wireshark' or './tshark' or ./dumpcap, and make sure things are
+ working. You must have root privileges in order to capture live data.
-8. Run 'make install'. If you wish to install the man page, run
- 'make install-man'. If you're running a system that supports
- the Apt, RPM, or System V Release 4 packaging systems, you can
+9. Run 'make install'. If you're running a system that supports
+ the Apt, RPM, OSX, or System V Release 4 packaging systems, you can
run one of
make debian-package # Builds a binary package using dpkg
make rpm-package # Builds a binary package using rpm
make srpm-package # Builds a source package using rpm
- make svr4-package # Builds a source package using pkgmk
+ make svr4-package # Builds a binary package using pkgmk
make solaris-package # Same as "make svr4-package"
+ make osx-package # Builds a binary package for OSX
to make an installable package for your system.