I ran into a problem today attempting to build the current version of bind, bind-9.5.0p1-20080709.src.rpm, on a SuSE Linux Enterprise 9 PL3 system with the following error:
/csrel25/bin/cc -I/csrel25/RPM/TMP/bind-9.5.0-P1 -I./include -I./../include -I/csrel25/RPM/TMP/bind-9.5.0-P1/lib/dns/include -I../../../lib/dns/include -I/csrel25/RPM/TMP/bind-9.5.0-P1/lib/isc/include -I../../../lib/isc -I../../../lib/isc/include -I../../../lib/isc/unix/include -I../../../lib/isc/nothreads/include -I../../../lib/isc/x86_32/include -fPIC -I/csrel25/include -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat -Wpointer-arith -fno-strict-aliasing -c os.c -o os.o os.c: In function 'linux_initialprivs': os.c:266: error: invalid operands to binary | make[3]: *** [os.lo] Error 1 make[2]: *** [subdirs] Error 1 make[1]: *** [subdirs] Error 1 make: *** [subdirs] Error 1 error: Bad exit status from .... This is in the line that is patched in bind.patch, and results when attempting to OR something into a structure, a practice that has been deprecated for decades (no wonder it' Buggy Internet Name Daemon :-). The package did build on a SuSE Linux Enterprise 10 system which has a different version of libcap the source of sys/capability.h. The SLES10 system has linux/capability.h but no sys/capability.h while SLES9SP3 has both. I got BIND to build by turning off linux capabilities in the configure, adding an option to the bind.spec file to allow turning this off. I don't know what one loses by disabling these functions, but I'm going out of town in the morning and don't have time to dig into this today. The attached patch to bind.spec enables this option. Bill -- INTERNET: [EMAIL PROTECTED] Bill Campbell; Celestial Software LLC URL: http://www.celestial.com/ PO Box 820; 6641 E. Mercer Way Voice: (206) 236-1676 Mercer Island, WA 98040-0820 Fax: (206) 232-9186 Most people, sometime in their lives, stumble across truth. Most jump up, brush themselves off, and hurry on about their business as if nothing had happened. - Sir Winston Churchill
--- bind.spec.orig 2008-07-24 16:36:48.614596725 -0700 +++ bind.spec 2008-07-24 16:24:15.000000000 -0700 @@ -36,7 +36,7 @@ Group: DNS License: ISC Version: %{V_opkg} -Release: 20080709 +Release: 20080724 # package options %option with_dnssec yes @@ -45,6 +45,7 @@ %option with_mysql no %option with_odbc no %option with_ldap no +%option with_linux_cap yes # list of sources Source0: ftp://ftp.isc.org/isc/bind9/%{V_dist}/bind-%{V_dist}.tar.gz @@ -147,6 +148,9 @@ --without-libxml2 \ --with-libtool \ --disable-shared \ +%if "%{with_linux_cap}" == "no" + --disable-linux-caps \ +%endif --disable-nls # build program