BIND8, BIND9 static compilation problems
iiv at drenik.net
iiv at drenik.net
Thu Sep 25 14:35:44 UTC 2003
To: BIND (mlist) users
Subject: BIND8, BIND9 static compilation problems
Date: 25.Sep.2003 16:30 GMT+1
Hi to all,
I have question for all experienced BIND users. I have successfully
compiled and chrooted both BIND8 and BIND9, but dynamically linked to
libs. Now I like to add additional security by removing all libraries
from chroot environment because I don't like to have libc.so.X in
chroot. I tried to put -static to /bind-
source/src/port/linux/Makefile.set in CDEBUG line with no success.
This didn't help either: export LDFLAGS=-static
export CFLAGS="-static -static-libgcc".
Now I'm quite stuck here and I would appreciate any help with this. I
checked both google and m.list archives and find no answer, or just
more questions to same question ("How to compile bind statically"). I
saw few people doing lot of BIND source modifications to get BIND
statically compiled, but I don't like it and that diff patches where
created for old 8.2.x versions. I would like to hear developer opinions
about this too.
BIG thanks to all!
Ivan
Here is one of (common) compile errors that BIND8 gives:
-- snip --
gcc -D_GNU_SOURCE -I../../port/linux/include -I../../include -
D_PATH_HELPFIL
E=\"/var/named/lib/nslookup.help\" -O -g -static -static-libgcc -c
commands.c
gcc -D_GNU_SOURCE -O -g -static -static-libgcc -o nslookup main.o
getinfo.o debug.o send.o skip.o list.o subr.o commands.o \
../../lib/libbind.a -lfl
/usr/lib/gcc-lib/i386-slackware-linux/3.2.2/../../../libc.a(res_libc.o)
(.tex
t+0x10): In function `__res_init':
: multiple definition of `__res_init'
../../lib/libbind.a(res_data.o)
(.text+0x0):/usr/local/src/compile/bind/src/li
b/resolv/res_data.c:85: first defined here
/usr/lib/gcc-lib/i386-slackware-linux/3.2.2/../../../../i386-slackware-
linux
/bin/ld: Warning: size of symbol `__res_init' changed from 101 to 112 in
/usr/lib/gcc-lib/i386-slackware-linux/3.2.2/../../../libc.a(res_libc.o)
collect2: ld returned 1 exit status
make[2]: *** [nslookup] Error 1
make[2]: Leaving directory
`/usr/local/src/compile/bind/src/bin/nslookup'
make[1]: *** [all] Error 1
make[1]: Leaving directory `/usr/local/src/compile/bind/src/bin'
make: *** [all] Error 1
-- snap --
OS: Slackware 9
uname:
Linux xeon 2.4.22 #2 Wed Aug 6 14:05:00 CEST 2003 i686 unknown
gcc:
Thread model: posix
gcc version 3.2.2
glibc:
GNU C Library stable release version 2.3.1, by Roland McGrath et al.
Compiled by GNU CC version 3.2.2.
More information about the bind-users
mailing list