Blame INSTALL

Packit Service d1fe03
Installation instructions for iptables
Packit Service d1fe03
======================================
Packit Service d1fe03
Packit Service d1fe03
iptables uses the well-known configure(autotools) infrastructure.
Packit Service d1fe03
Packit Service d1fe03
	$ ./configure
Packit Service d1fe03
	$ make
Packit Service d1fe03
	# make install
Packit Service d1fe03
Packit Service d1fe03
Packit Service d1fe03
Prerequisites
Packit Service d1fe03
=============
Packit Service d1fe03
Packit Service d1fe03
	* no kernel-source required
Packit Service d1fe03
Packit Service d1fe03
	* but obviously a compiler, glibc-devel and linux-kernel-headers
Packit Service d1fe03
	  (/usr/include/linux)
Packit Service d1fe03
Packit Service d1fe03
Packit Service d1fe03
Configuring and compiling
Packit Service d1fe03
=========================
Packit Service d1fe03
Packit Service d1fe03
./configure [options]
Packit Service d1fe03
Packit Service d1fe03
--prefix=
Packit Service d1fe03
Packit Service d1fe03
	The prefix to put all installed files under. It defaults to
Packit Service d1fe03
	/usr/local, so the binaries will go into /usr/local/bin, sbin,
Packit Service d1fe03
	manpages into /usr/local/share/man, etc.
Packit Service d1fe03
Packit Service d1fe03
--with-xtlibdir=
Packit Service d1fe03
Packit Service d1fe03
	The path to where Xtables extensions should be installed to. It
Packit Service d1fe03
	defaults to ${libdir}/xtables.
Packit Service d1fe03
Packit Service d1fe03
--enable-devel (or --disable-devel)
Packit Service d1fe03
Packit Service d1fe03
	This option causes development files to be installed to
Packit Service d1fe03
	${includedir}, which is needed for building additional packages,
Packit Service d1fe03
	such as Xtables-addons or other 3rd-party extensions.
Packit Service d1fe03
Packit Service d1fe03
	It is enabled by default.
Packit Service d1fe03
Packit Service d1fe03
--enable-static
Packit Service d1fe03
Packit Service d1fe03
	Produce additional binaries, iptables-static/ip6tables-static,
Packit Service d1fe03
	which have all shipped extensions compiled in.
Packit Service d1fe03
Packit Service d1fe03
--disable-shared
Packit Service d1fe03
Packit Service d1fe03
	Produce binaries that have dynamic loading of extensions disabled.
Packit Service d1fe03
	This implies --enable-static.
Packit Service d1fe03
	(See some details below.)
Packit Service d1fe03
Packit Service d1fe03
--enable-libipq
Packit Service d1fe03
Packit Service d1fe03
	This option causes libipq to be installed into ${libdir} and
Packit Service d1fe03
	${includedir}.
Packit Service d1fe03
Packit Service d1fe03
--with-ksource=
Packit Service d1fe03
Packit Service d1fe03
	Xtables does not depend on kernel headers anymore, but you can
Packit Service d1fe03
	optionally specify a search path to include anyway. This is
Packit Service d1fe03
	probably only useful for development.
Packit Service d1fe03
Packit Service d1fe03
If you want to enable debugging, use
Packit Service d1fe03
Packit Service d1fe03
	./configure CFLAGS="-ggdb3 -O0"
Packit Service d1fe03
Packit Service d1fe03
(-O0 is used to turn off instruction reordering, which makes debugging
Packit Service d1fe03
much easier.)
Packit Service d1fe03
Packit Service d1fe03
To show debug traces you can add -DDEBUG to CFLAGS option
Packit Service d1fe03
Packit Service d1fe03
Packit Service d1fe03
Other notes
Packit Service d1fe03
===========
Packit Service d1fe03
Packit Service d1fe03
The make process will automatically build multipurpose binaries.
Packit Service d1fe03
These have the core (iptables), -save, -restore and -xml code
Packit Service d1fe03
compiled into one binary, but extensions remain as modules.
Packit Service d1fe03
Packit Service d1fe03
Packit Service d1fe03
Static and shared
Packit Service d1fe03
=================
Packit Service d1fe03
Packit Service d1fe03
Basically there are three configuration modes defined:
Packit Service d1fe03
Packit Service d1fe03
 --disable-static --enable-shared (this is the default)
Packit Service d1fe03
Packit Service d1fe03
	Build a binary that relies upon dynamic loading of extensions.
Packit Service d1fe03
Packit Service d1fe03
 --enable-static --enable-shared
Packit Service d1fe03
Packit Service d1fe03
	Build a binary that has the shipped extensions built-in, but
Packit Service d1fe03
	is still capable of loading additional extensions.
Packit Service d1fe03
Packit Service d1fe03
 --enable-static --disable-shared
Packit Service d1fe03
Packit Service d1fe03
	Shipped extensions are built-in, and dynamic loading is
Packit Service d1fe03
	deactivated.