Re: 1.2.11 release not resolving ip_vs.h:14:29: fatal error

Brian Menges <[email protected]>
Newsgroups gmane.linux.keepalived.devel
Message-ID <[email protected]>
>From the earlier e-mails:
----- find /usr/include/ -name "netlink.h"
$ find /usr/include/ -name "netlink.h"
/usr/include/linux/can/netlink.h
/usr/include/linux/netlink.h
/usr/include/libnl3/netlink/netlink.h

I can say that the -Idebian/include portion is from the debianized packaging where I downloaded the 1.2.9-1_debian.tar.gz and extracted to the source path to help make a Debian package.

Alex, it would appear that both SID and JESSIE have the same package, but there may be Debian package updates required for full libnl-3 detection.

Here's a full log of my attempt. I'm guessing that a revised patch or fix is required for the build to work properly:

$ md5sum keepalived_1.2.11.orig.tar.gz keepalived_1.2.9-1.debian.tar.gz
6a5cee0d9e0a6b84b251b044cd8f3523  keepalived_1.2.11.orig.tar.gz
c32f98640bda1699e668d58fc4d9ed95  keepalived_1.2.9-1.debian.tar.gz
$ tar -zxf keepalived_1.2.11.orig.tar.gz
$ tar -zxf keepalived_1.2.9-1.debian.tar.gz
$ mv debian/ keepalived-1.2.11/
$ cd keepalived-1.2.11/
/keepalived-1.2.11$ dch -i
[ made package update notations ]
/keepalived-1.2.11$ debuild -us -uc -b
 dpkg-buildpackage -rfakeroot -D -us -uc -b
dpkg-buildpackage: source package keepalived
dpkg-buildpackage: source version 1:1.2.11-1
dpkg-buildpackage: source distribution UNRELEASED
dpkg-buildpackage: source changed by Brian Menges <[email protected]>
 dpkg-source --before-build keepalived-1.2.11
dpkg-buildpackage: host architecture amd64
 fakeroot debian/rules clean
dh  clean --with autoreconf
   dh_testdir
   dh_auto_clean
   dh_autoreconf_clean
   dh_clean
 debian/rules build
dh  build --with autoreconf
   dh_testdir
   dh_autoreconf
aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'
   debian/rules override_dh_auto_configure
make[1]: Entering directory `/home/[REDACTED]/keepalived-1.2.11'
dh_auto_configure -- --with-kernel-dir=debian/  --enable-snmp --enable-sha1
configure: WARNING: unrecognized options: --disable-maintainer-mode, --disable-dependency-tracking
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for a BSD-compatible install... /usr/bin/install -c
checking for strip... strip
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/wait.h that is POSIX.1 compatible... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking syslog.h usability... yes
checking syslog.h presence... yes
checking for syslog.h... yes
checking for unistd.h... (cached) yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking openssl/ssl.h usability... yes
checking openssl/ssl.h presence... yes
checking for openssl/ssl.h... yes
checking openssl/md5.h usability... yes
checking openssl/md5.h presence... yes
checking for openssl/md5.h... yes
checking openssl/err.h usability... yes
checking openssl/err.h presence... yes
checking for openssl/err.h... yes
checking whether ETHERTYPE_IPV6 is declared... yes
checking for crypt in -lcrypt... yes
checking for MD5_Init in -lcrypto... yes
checking for SSL_CTX_new in -lssl... yes
checking for nl_socket_alloc in -lnl-3... yes
checking for genl_connect in -lnl-genl-3... yes
./configure: line 3977: pkg-config: command not found
./configure: line 3978: pkg-config: command not found
checking for kernel version... 3.12.6
checking for IPVS syncd support... yes
checking for kernel macvlan support... yes
checking for net-snmp-config... /usr/bin/net-snmp-config
checking whether C compiler supports flag "-Wl,-z,relro -Wl,-z,now -L/usr/lib/x86_64-linux-gnu -lnetsnmpmibs -lsensors -ldl -lnetsnmpagent -lwrap -Wl,-E -lnetsnmp -lcrypto -lm" from Net-SNMP... yes
checking for net-snmp/agent/util_funcs.h... yes
checking openssl/sha.h usability... yes
checking openssl/sha.h presence... yes
checking for openssl/sha.h... yes
checking for SHA1_Init in -lcrypto... yes
checking for an ANSI C-conforming const... yes
checking for pid_t... yes
checking whether time.h and sys/time.h may both be included... yes
checking whether gcc needs -traditional... no
checking for working memcmp... yes
checking return type of signal handlers... void
checking for gettimeofday... yes
checking for select... yes
checking for socket... yes
checking for strerror... yes
checking for strtol... yes
checking for uname... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating genhash/Makefile
config.status: creating keepalived/core/Makefile
config.status: creating lib/config.h
config.status: creating keepalived.spec
config.status: creating keepalived/Makefile
config.status: creating lib/Makefile
config.status: creating keepalived/vrrp/Makefile
config.status: creating keepalived/check/Makefile
config.status: creating keepalived/libipvs-2.6/Makefile
configure: WARNING: unrecognized options: --disable-maintainer-mode, --disable-dependency-tracking

Keepalived configuration
------------------------
Keepalived version       : 1.2.11
Compiler                 : gcc
Compiler flags           : -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1
Extra Lib                : -lcrypto -Wl,-z,relro -Wl,-z,now -L/usr/lib/x86_64-linux-gnu -lnetsnmpmibs -lsensors -ldl -lnetsnmpagent -lwrap -Wl,-E -lnetsnmp -lcrypto -lm -lssl -lcrypto -lcrypt
Use IPVS Framework       : Yes
IPVS sync daemon support : Yes
IPVS use libnl           : Yes
Use VRRP Framework       : Yes
Use VRRP VMAC            : Yes
SNMP support             : Yes
SHA1 support             : Yes
Use Debug flags          : No
make[1]: Leaving directory `/home/[REDACTED]/keepalived-1.2.11'
   dh_auto_build
make[1]: Entering directory `/home/[REDACTED]/keepalived-1.2.11'
make -C lib || exit 1;
make[2]: Entering directory `/home/[REDACTED]/keepalived-1.2.11/lib'
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -I. -Wall -Wunused -Wstrict-prototypes -D_WITH_SNMP_ -c memory.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -I. -Wall -Wunused -Wstrict-prototypes -D_WITH_SNMP_ -c utils.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -I. -Wall -Wunused -Wstrict-prototypes -D_WITH_SNMP_ -c notify.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -I. -Wall -Wunused -Wstrict-prototypes -D_WITH_SNMP_ -c timer.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -I. -Wall -Wunused -Wstrict-prototypes -D_WITH_SNMP_ -c scheduler.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -I. -Wall -Wunused -Wstrict-prototypes -D_WITH_SNMP_ -c vector.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -I. -Wall -Wunused -Wstrict-prototypes -D_WITH_SNMP_ -c list.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -I. -Wall -Wunused -Wstrict-prototypes -D_WITH_SNMP_ -c html.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -I. -Wall -Wunused -Wstrict-prototypes -D_WITH_SNMP_ -c parser.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -I. -Wall -Wunused -Wstrict-prototypes -D_WITH_SNMP_ -c signals.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -I. -Wall -Wunused -Wstrict-prototypes -D_WITH_SNMP_ -c logger.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -I. -Wall -Wunused -Wstrict-prototypes -D_WITH_SNMP_ -c list_head.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -I. -Wall -Wunused -Wstrict-prototypes -D_WITH_SNMP_ -c buffer.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -I. -Wall -Wunused -Wstrict-prototypes -D_WITH_SNMP_ -c command.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -I. -Wall -Wunused -Wstrict-prototypes -D_WITH_SNMP_ -c vty.c
make[2]: Leaving directory `/home/[REDACTED]/keepalived-1.2.11/lib'
make -C keepalived
make[2]: Entering directory `/home/[REDACTED]/keepalived-1.2.11/keepalived'
make[3]: Entering directory `/home/[REDACTED]/keepalived-1.2.11/keepalived/core'
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_WITH_VRRP_ -D_WITH_SNMP_  -c main.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_WITH_VRRP_ -D_WITH_SNMP_  -c daemon.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_WITH_VRRP_ -D_WITH_SNMP_  -c pidfile.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_WITH_VRRP_ -D_WITH_SNMP_  -c layer4.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_WITH_VRRP_ -D_WITH_SNMP_  -c smtp.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_WITH_VRRP_ -D_WITH_SNMP_  -c global_data.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_WITH_VRRP_ -D_WITH_SNMP_  -c global_parser.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_WITH_VRRP_ -D_WITH_SNMP_  -c snmp.c
make[3]: Leaving directory `/home/[REDACTED]/keepalived-1.2.11/keepalived/core'
make[3]: Entering directory `/home/[REDACTED]/keepalived-1.2.11/keepalived/check'
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_WITH_VRRP_ -D_WITH_SNMP_  -c check_daemon.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_WITH_VRRP_ -D_WITH_SNMP_  -c check_data.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_WITH_VRRP_ -D_WITH_SNMP_  -c check_parser.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_WITH_VRRP_ -D_WITH_SNMP_  -c check_api.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_WITH_VRRP_ -D_WITH_SNMP_  -c check_tcp.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_WITH_VRRP_ -D_WITH_SNMP_  -c check_http.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_WITH_VRRP_ -D_WITH_SNMP_  -c check_ssl.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_WITH_VRRP_ -D_WITH_SNMP_  -c check_smtp.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_WITH_VRRP_ -D_WITH_SNMP_  -c check_misc.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_WITH_VRRP_ -D_WITH_SNMP_  -c ipwrapper.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_WITH_VRRP_ -D_WITH_SNMP_  -c ipvswrapper.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_WITH_VRRP_ -D_WITH_SNMP_  -c check_snmp.c
make[3]: Leaving directory `/home/[REDACTED]/keepalived-1.2.11/keepalived/check'
make[3]: Entering directory `/home/[REDACTED]/keepalived-1.2.11/keepalived/vrrp'
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_HAVE_VRRP_VMAC_ -D_WITH_SNMP_  -c vrrp_daemon.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_HAVE_VRRP_VMAC_ -D_WITH_SNMP_  -c vrrp_data.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_HAVE_VRRP_VMAC_ -D_WITH_SNMP_  -c vrrp_parser.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_HAVE_VRRP_VMAC_ -D_WITH_SNMP_  -c vrrp.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_HAVE_VRRP_VMAC_ -D_WITH_SNMP_  -c vrrp_notify.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_HAVE_VRRP_VMAC_ -D_WITH_SNMP_  -c vrrp_scheduler.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_HAVE_VRRP_VMAC_ -D_WITH_SNMP_  -c vrrp_sync.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_HAVE_VRRP_VMAC_ -D_WITH_SNMP_  -c vrrp_index.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_HAVE_VRRP_VMAC_ -D_WITH_SNMP_  -c vrrp_netlink.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_HAVE_VRRP_VMAC_ -D_WITH_SNMP_  -c vrrp_arp.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_HAVE_VRRP_VMAC_ -D_WITH_SNMP_  -c vrrp_if.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_HAVE_VRRP_VMAC_ -D_WITH_SNMP_  -c vrrp_track.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_HAVE_VRRP_VMAC_ -D_WITH_SNMP_  -c vrrp_ipaddress.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_HAVE_VRRP_VMAC_ -D_WITH_SNMP_  -c vrrp_iproute.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_HAVE_VRRP_VMAC_ -D_WITH_SNMP_  -c vrrp_ipsecah.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_HAVE_VRRP_VMAC_ -D_WITH_SNMP_  -c vrrp_ndisc.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_HAVE_VRRP_VMAC_ -D_WITH_SNMP_  -c vrrp_vmac.c
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -I../include -I../../lib -Wall -Wunused -Wstrict-prototypes -D_KRNL_2_6_ -D_WITH_LVS_ -D_HAVE_IPVS_SYNCD_ -D_HAVE_VRRP_VMAC_ -D_WITH_SNMP_  -c vrrp_snmp.c
make[3]: Leaving directory `/home/[REDACTED]/keepalived-1.2.11/keepalived/vrrp'
make[3]: Entering directory `/home/[REDACTED]/keepalived-1.2.11/keepalived/libipvs-2.6'
gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -DLIBIPVS_USE_NL -Wall -Wunused -c -o libipvs.o libipvs.c
In file included from libipvs.h:13:0,
                 from libipvs.c:23:
ip_vs.h:14:29: fatal error: netlink/netlink.h: No such file or directory
 #include <netlink/netlink.h>
                             ^
compilation terminated.
make[3]: *** [libipvs.o] Error 1
make[3]: Leaving directory `/home/[REDACTED]/keepalived-1.2.11/keepalived/libipvs-2.6'
make[2]: *** [all] Error 1
make[2]: Leaving directory `/home/[REDACTED]/keepalived-1.2.11/keepalived'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/[REDACTED]/keepalived-1.2.11'
dh_auto_build: make -j1 returned exit code 2
make: *** [build] Error 2
dpkg-buildpackage: error: debian/rules build gave error exit status 2
debuild: fatal error at line 1364:
dpkg-buildpackage -rfakeroot -D -us -uc -b failed

It does look like it isn't referencing the include path for:
/usr/include/libnl3/netlink/netlink.h

Instead it is referencing the local package Debian include path.

/keepalived-1.2.11$ ls debian/patches/
99_linux_2.6_compat  fix_manpage_errors  libnl3.patch  series
/keepalived-1.2.11$ cat debian/patches/libnl3.patch
Description: Support libnl version 2.0 and higher
Author: Marc - A. Dahlhaus <[email protected]>
Forwarded: http://article.gmane.org/gmane.linux.keepalived.devel/3522
Last-Update: 2011-12-21

--- a/configure.in
+++ b/configure.in
@@ -61,9 +61,16 @@
     USE_NL="LIBIPVS_USE_NL"
     LIBS="$LIBS -lnl"
   ],
-  [
-    USE_NL="LIBIPVS_DONTUSE_NL"
-    AC_MSG_WARN([keepalived will be built without libnl support.])
+  [AC_CHECK_LIB(nl-3, nl_socket_alloc,
+    [
+      USE_NL="LIBIPVS_USE_NL"
+      CFLAGS="$CFLAGS -I/usr/include/libnl3 -DLIBNL2"
+      LIBS="$LIBS -lnl-3 -lnl-genl-3"
+    ],
+    [
+      USE_NL="LIBIPVS_DONTUSE_NL"
+      AC_MSG_WARN([keepalived will be built without libnl support.])
+    ])
   ])

 dnl ----[ Kernel version check ]----
--- a/keepalived/libipvs-2.6/libipvs.c
+++ b/keepalived/libipvs-2.6/libipvs.c
@@ -34,6 +34,11 @@
 struct ip_vs_getinfo ipvs_info;

 #ifdef LIBIPVS_USE_NL
+# ifdef LIBNL2
+#  define nl_handle nl_sock
+#  define nl_handle_alloc nl_socket_alloc
+#  define nl_handle_destroy nl_socket_free
+# endif
 struct nl_handle *sock = NULL;
 int family, try_nl = 1;
 #endif

Is that the correct patch? Or is something else going on that I'm not familiar with the deb packaging?

Generally when working with sources I've been able to patch/update, run dch -I, then debuild.

- Brian Menges
Principal Engineer, DevOps
GoGrid | ServePath | ColoServe | UpStream Networks

-----Original Message-----
From: Lennart Sorensen [mailto:[email protected]]
Sent: Wednesday, January 29, 2014 07:07
To: Ryan O'Hara
Cc: Brian Menges; [email protected]
Subject: Re: [Keepalived-devel] 1.2.11 release not resolving ip_vs.h:14:29: fatal error

On Tue, Jan 28, 2014 at 04:46:54PM -0600, Ryan O'Hara wrote:
> On Tue, Jan 28, 2014 at 10:35:08PM +0000, Brian Menges wrote:
> > I was attempting to refresh a Debian package using 1.2.10 and then now 1.2.11 so that we can get a gratuitous ARP fix committed in 1.2.10, however after downloading the 1.2.10 and 1.2.11 sources, the packages won't build despite me thinking the dependencies have been satisified.
> >
> > My current build system is Debian Jessie (testing). The error is as follows:
> > -----
> > In file included from libipvs.h:13:0,
> >                  from libipvs.c:23:
> > ip_vs.h:14:29: fatal error: netlink/netlink.h: No such file or directory
> > #include <netlink/netlink.h>
> >                              ^
> > make[3]: Entering directory `/home/[REDACTED]/keepalived-1.2.11/keepalived/libipvs-2.6'
> > gcc -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security  -DFEAT_SHA1 -D_FORTIFY_SOURCE=2 -Idebian//include -Idebian//include -DLIBIPVS_USE_NL -Wall -Wunused -c -o libipvs.o libipvs.c
>
> Your include paths (-Idebian//include) look strange. Are those
> correct? Where does netlink.h exist on your system? Perhaps try:
>
> find /usr/include/ -name "netlink.h"
>
> I'd guess that you'll find it at /usr/include/netlink/netlink.h in
> which case your include path should be "-I/usr/include/".

Usually using the output of 'pkg-config --cflags libnl-route-3.0 libnl-genl-3'
in CFLAGS is helpful.

--
Len Sorensen

________________________________

The information contained in this message, and any attachments, may contain confidential and legally privileged material. It is solely for the use of the person or entity to which it is addressed. Any review, retransmission, dissemination, or action taken in reliance upon this information by persons or entities other than the intended recipient is prohibited. If you receive this in error, please contact the sender and delete the material from any computer.

------------------------------------------------------------------------------
WatchGuard Dimension instantly turns raw network data into actionable 
security intelligence. It gives you real-time visual feedback on key
security issues and trends.  Skip the complicated setup - simply import
a virtual appliance and go from zero to informed in seconds.
http://pubads.g.doubleclick.net/gampad/clk?id=123612991&iu=/4140/ostg.clktrk
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.