static compiling bind 8.2.2 P5 on linux

Jan Stifter j.stifter-no-spam at medres.ch
Tue Mar 28 08:48:28 UTC 2000


hello,
i would like to compile bind 8.2.2 patchlevel 5 on linux _statically_.
if you wonder why, take a look at:
Securing DNS (Linux)
http://www.psionic.com/papers/dns/dns-linux/


in directory  /src/port/linux i changed the line
'CDEBUG= -O -g'  

To:  

'CDEBUG= -O -static'  

and after a 
caramel:/usr/local/src/bind/src # make clean depend all

i get the following errors during linking of named:
-----------------------------------
[sniped]
gcc -D_GNU_SOURCE -O -static   -o named db_dump.o db_load.o
db_lookup.o db_save.o db_update.o db_glue.o db_ixfr.o db_sec.o
db_tsig.o ns_parser.o ns_lexer.o ns_parseutil.o ns_ctl.o ns_forw.o
ns_init.o ns_main.o ns_maint.o ns_req.o ns_resp.o
ns_stats.o ns_ncache.o ns_xfr.o ns_glue.o ns_udp.o ns_config.o
ns_update.o ns_ixfr.o ns_signal.o ns_sort.o ns_notify.o \
        tmp_version.o ../../lib/libbind.a -lfl
/usr/lib/libc.a(res_comp.o): In function `dn_skipname':
res_comp.o(.text+0x3dc): multiple definition of `__dn_skipname'
../../lib/libbind.a(res_comp.o)(.text+0x5c): first defined here
/usr/bin/ld: Warning: size of symbol `__dn_skipname' changed from 44
to 82 in res_comp.o
/usr/lib/libc.a(res_comp.o): In function `_getlong':
res_comp.o(.text+0x6b0): multiple definition of `_getlong'
../../lib/libbind.a(res_comp.o)(.text+0x1e0): first defined here
/usr/bin/ld: Warning: size of symbol `_getlong' changed from 16 to 41
in res_comp.o
/usr/lib/libc.a(res_comp.o): In function `__putlong':
res_comp.o(.text+0x6f8): multiple definition of `__putlong'
../../lib/libbind.a(res_comp.o)(.text+0x1b4): first defined here
/usr/bin/ld: Warning: size of symbol `__putlong' changed from 20 to 39
in res_comp.o
/usr/lib/libc.a(res_comp.o): In function `_getshort':
res_comp.o(.text+0x694): multiple definition of `_getshort'
../../lib/libbind.a(res_comp.o)(.text+0x1f0): first defined here
/usr/bin/ld: Warning: size of symbol `_getshort' changed from 21 to 27
in res_comp.o
/usr/lib/libc.a(res_comp.o): In function `putshort':
res_comp.o(.text+0x6dc): multiple definition of `__putshort'
../../lib/libbind.a(res_comp.o)(.text+0x1c8): first defined here
/usr/bin/ld: Warning: size of symbol `__putshort' changed from 23 to
25 in res_comp.o
/usr/lib/libc.a(res_query.o): In function `__hostalias':
res_query.o(.text+0x4e8): multiple definition of `__hostalias'
../../lib/libbind.a(res_data.o)(.text+0x35c): first defined here
/usr/bin/ld: Warning: size of symbol `__hostalias' changed from 31 to
421 in res_query.o
/usr/lib/libc.a(res_send.o): In function `res_send_setrhook':
res_send.o(.text+0xbc): multiple definition of `res_send_setrhook'
../../lib/libbind.a(res_data.o)(.text+0x1d0): first defined here
/usr/lib/libc.a(res_send.o): In function `res_send_setqhook':
res_send.o(.text+0xac): multiple definition of `res_send_setqhook'
../../lib/libbind.a(res_data.o)(.text+0x1c0): first defined here
collect2: ld returned 1 exit status
make[2]: *** [named] Error 1
make[2]: Leaving directory `/usr/local/src/bind/src/bin/named'
make[1]: *** [named] Error 2
make[1]: Leaving directory `/usr/local/src/bind/src/bin'
make: *** [all] Error 2
caramel:/usr/local/src/bind/src #
-----------------------------------

i tried it on two systems (suse linux 5.3 and suse linux 6.2) with the
same result.

can anybody help me?
any hints are greatly appreciated
jan stifter
j.stifter at medres.ch




More information about the bind-users mailing list