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