http://bugs.ethereal.com/bugzilla/show_bug.cgi?id=377
[obnox/wireshark/wip.git] / INSTALL
1 NOTE: this document applies to the Ethereal source releases.  It also
2 applies to buildbot source tarballs, but it does not apply to source
3 code checked out directly from Subversion, as files such as the
4 configuration script are not checked into Subversion, but need to be
5 generated from the autoconf and automake files.
6
7 Installation
8 ============
9
10 These are installation instructions for Unix and Unix-like systems
11 that can run the "configure" script in this same directory. These
12 are not the installation instructions for Windows systems; see
13 README.win32 for those instructions.
14
15 0. This is beta software.  Beware.
16
17 1. If you wish to build Ethereal, make sure you have GTK+ and GLIB
18     installed. Try running 'gtk-config --version' and
19     'glib-config --version' to see if you have them installed.
20     Ethereal needs versions 1.2.0 or above of both these packages.
21     If you need to install or re-install GTK+ or GLIB, you can find
22     the packages at:
23
24         http://www.gtk.org
25
26     If you installed GTK+ from a binary package, you may have to
27     install a "development" package; there may be separate "user's"
28     and "developer's" packages, with the former not including
29     header files and the like.  For example, Red Hat users will
30     need to install a "gtk-devel" .rpm.
31
32     Note also that Ethereal configuration defaults to using GTK+ and
33     GLib 2.x; you need to configure with --disable-gtk2 to use GTK+
34     1.2[.x].
35
36 2. If you wish to build Tethereal, the line-mode version of Ethereal,
37     make sure you have GLIB installed.  See note #1 above for instructions
38     on checking if you have GLIB installed. You can download GLIB from
39     the same site as GTK.
40
41 3. If you want to capture packets, make sure you have libpcap
42     installed.  The latest "official" version can be found at
43
44     http://www.tcpdump.org .
45
46     If you've downloaded the 0.5.2 version, make sure you install
47     the headers ('make install-incl') when you install the library.
48     The CVS snapshots will install the headers if you do 'make
49     install', and have no 'install-incl' target.
50
51     If you installed libpcap from a binary package, you may have to
52     install a "development" package; for example, there's
53     apparently a "libpcap0" Debian package, but it just includes a
54     shared library, a copyright notice, changelog files, and a
55     README file - you also need to install a "libpcap-dev" package
56     to get header files, a non-shared library, and the man page.
57     Similarly, Red Hat 5.x users will need to install a "libpcap-devel"
58     .rpm to go along with the "libpcap" .rpm.
59
60 4. Run './configure' in the Ethereal distribution directory.
61     Running './configure --help' displays a list of options.
62     The file 'INSTALL.configure' contains general instructions for
63     using 'configure' and 'make'. Ethereal has some non-generic configure 
64     options:
65
66     --sysconfdir=DIR
67         Ethereal installs a support file (manuf) in ${PREFIX}/etc by
68         default, where ${PREFIX} comes from --prefix=DIR. If you do not
69         specify any --prefix option, ${PREFIX} is "/usr/local".
70         You can change the location of the manuf file with the --sysconfdir
71         option.
72
73     --disable-usr-local
74         By default 'configure' will look in /usr/local/{include,lib} for
75         additional header files and libraries. Using this switch keeps
76         'configure' from looking there
77
78     --disable-ethereal
79         By default, if 'configure' finds the GTK+ libraries, the Makefile
80         build Ethereal, the GUI packet analyzer. You can disable the
81         build of the GUI version of Ethereal with this switch.
82
83     --disable-gtk2
84         Build Glib/Gtk+ 1.2[.x]-based ethereal.
85
86     --disable-tethereal
87         By default the line-mode packet analyzer, Tethereal, is built.
88         Use this switch to avoid building it.
89
90     --disable-editcap
91         By default the capture-file editing program is built.
92         Use this switch to avoid building it.
93
94     --disable-mergecap
95         By default the capture-file merging program is built.
96         Use this switch to avoid building it.
97
98     --disable-text2pcap
99         By default the hex-dump-to-capture file conversion program
100         is built. Use this switch to avoid building it.
101
102     --disable-idl2eth
103         By default the IDL-to-ethereal-dissector-source-code converter
104         is built. Use this switch to avoid building it.
105
106     --enable-dftest
107         By default the display-filter-compiler test program is not built.
108         Use this switch to build it.
109
110     --enable-randpkt
111         By default the program which creates random packet-capture files
112         is not built. Use this switch to build it.
113
114     --without-pcap
115         If you choose to build a packet analyzer that can analyze
116         capture files but cannot capture packets on its own, but you
117         *do* have libpcap installed, or if you are trying to build
118         Ethereal on a system that doesn't have libpcap installed (in
119         which case you have no choice but to build a version that can
120         analyze capture files but cannot capture packets on its own),
121         use --without-pcap to avoid using libpcap.
122
123     --with-pcap=DIR
124         Use this to tell Ethereal where you have libpcap installed, if
125         it is installed in a non-standard location.
126
127     --without-zlib
128         By default, if 'configure' finds zlib (a.k.a, libz), the
129         wiretap library will be built so that it can read compressed
130         capture files. If you have zlib but do not wish to build
131         it into the wiretap library, used by Ethereal, Tethereal, and
132         the capture-file utilities that come in this package, use
133         this switch.
134
135     --with-zlib=DIR
136         Use this to tell Ethereal where you have zlib installed, if it
137         is installed in a non-standard location.
138
139     --disable-ipv6
140         If 'configure' finds support for IPv6 name resolution on
141         your system, the packet analyzers will make use of it.
142         To avoid using IPv6 name resolution if you have the support for it,
143         use this switch.
144
145     --enable-setuid-install
146         Use this switch to install the packet analyzers as setuid.
147         Installating Ethereal and Tethereal as setuid 'root' is
148         dangerous. Repeat: IT'S DANGEROUS. Don't do it.
149
150     --with-ssl=DIR
151         If your SNMP library needs the SSL library, and your
152         SSL library is installed in a non-standard location,
153         you can specify where your SSL library is with this switch.
154
155     --without-net-snmp
156         If 'configure' finds a supported version of the NET SNMP library
157         on your system,  the SNMP dissector will be enhanced to use
158         routines from that SNMP library. Use this switch to avoid
159         using the NET SNMP library even if you have it installed.
160
161     --with-net-snmp=PATH
162         Tell the 'configure' script where your net-snmp-config shell script 
163         that comes with the net-snmp package is located, if not in a standard 
164         location.
165
166     --without-ucd-snmp
167         If 'configure' finds a supported version of the UCD SNMP library
168         on your system,  the SNMP dissector will be enhanced to use
169         routines from that SNMP library. Use this switch to avoid
170         using the UCD SNMP library even if you have it installed.
171
172     --with-ucd-snmp=DIR
173         Tell the 'configure' script where your UCD SNMP library
174         is located, if not in a standard location.
175
176     --without-plugins
177         By default, if your system can support run-time loadable modules,
178         the packet analyzers are build with support for plugins.
179         Use this switcht to build packet analyzers without plugin support.
180
181     --with-plugins=DIR
182         By default, plugins are installed in
183         ${LIBDIR}/ethereal/plugins/${VERSION}
184
185         ${LIBDIR} can be set with --libdir, or defaults to ${EPREFIX/lib}
186         ${EPREFIX} can be set with --exec-prefix, or defaults to ${PREFIX}
187         ${VERSION} is the Etherael version.
188
189         Use this switch to change the location where plugins
190         are installed.
191
192 5. After running './configure', you will see a summary of some
193     of the options you chose. Ensure that the summary reflects
194     what you want. If it doesn't, re-run './configure' with new options.
195
196 6. Run 'make'.  Hopefully, you won't run into any problems.
197
198 7. Run './ethereal' or './tethereal', and make sure things are working.
199     You must have root privileges in order to capture live data.
200
201 8. Run 'make install'.  If you wish to install the man page, run
202     'make install-man'.  If you're running a system that supports
203     the Apt, RPM, or System V Release 4 packaging systems, you can
204     run one of
205
206     make debian-package # Builds a binary package using dpkg
207     make rpm-package    # Builds a binary package using rpm
208     make srpm-package   # Builds a source package using rpm
209     make svr4-package   # Builds a source package using pkgmk
210     make solaris-package        # Same as "make svr4-package"
211
212     to make an installable package for your system.
213
214 If you have trouble with the build or installation process, you can
215 find assistance on the ethereal-users and ethereal-dev mailing lists.
216 See http://www.ethereal.com/lists/ for details.
217