Packetwatch.net

Compiling Firewalk 5.0 for OpenBSD


libdnet error

Before trying to configure Firewalk make sure that you have the following libraries installed:
  • libpcap (preferrably newest version)
  • libnet 1.1.0
  • libdnet (preferrably newest version)
There is a compiling error that some people run into when compiling Firewalk for OpenBSD. Here is what happens:

$ ./configure
beginning autoconfiguration process for firewalk-5.0...
checking build system type... i386-unknown-openbsd3.3
checking host system type... i386-unknown-openbsd3.3
checking target system type... i386-unknown-openbsd3.3
checking for a BSD compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... yes
checking for working aclocal... missing
checking for working autoconf... missing
checking for working automake... missing
checking for working autoheader... missing
checking for working makeinfo... found
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for executable suffix...
checking for object suffix... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking how to run the C preprocessor... gcc -E
checking whether gcc needs -traditional... no
checking for libnet_build_ipv4 in -lnet... yes
checking for pcap_open_live in -lpcap... yes
checking for arp_get in -ldnet... no
configure: error: No libdnet?  http://libdnet.sourceforge.net.
$

The error happens because Firewalk looks for libdnet in /usr/lib and /usr/include when it's actually located in /usr/local/lib and /usr/local/include. This compilation error can be fixed by creating three symbolic links.

# cd /usr/lib
# ln -s /usr/local/lib/libdnet.a libdnet.a
# cd /usr/include
# ln -s /usr/local/include/dnet.h dnet.h
# ln -s /usr/local/include/dnet/ dnet

Now you will be able to compile and make Firewalk.

$ ./configure
beginning autoconfiguration process for firewalk-5.0...
checking build system type... i386-unknown-openbsd3.3
checking host system type... i386-unknown-openbsd3.3
checking target system type... i386-unknown-openbsd3.3
checking for a BSD compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking whether make sets ${MAKE}... yes
checking for working aclocal... missing
checking for working autoconf... missing
checking for working automake... missing
checking for working autoheader... missing
checking for working makeinfo... found
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for executable suffix...
checking for object suffix... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking how to run the C preprocessor... gcc -E
checking whether gcc needs -traditional... no
checking for libnet_build_ipv4 in -lnet... yes
checking for pcap_open_live in -lpcap... yes
checking for arp_get in -ldnet... yes
checking for ANSI C header files... yes
checking for gcc option to accept ANSI C... none needed
checking for an ANSI C-conforming const... yes
checking for strerror... yes
checking for bpf... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating version.h
config.status: creating include/config.h
$

Last modified: Thu Jan 1 00:00:00 1970 UTC
Packetwatch Research 2002-2017.