
/usr/sbin/named: symbol lookup error: /usr/sbin/named: undefined symbol: dns_dispatch_hash
July 9, 2008up2date erased bind and bind-devel rpm and/ maybe also, removed user/group named
Note:- This was an issue on cpanel server, but same solution should work on other systems. ( on non cpanel systems, use up2date -i , instead of /scripts/ensurerpm
Logs:-
###############
ul 9 01:18:46 server userhelper[18586]: running ‘/usr/sbin/up2date –nox -i bind bind-devel bind-libs bind-utils bzip2 crontabs expect freetype freetype-devel gcc gcc-c++ gd gd-devel gd-progs gd-utils glibc-devel gnupg libgcc libgd1 libgd1-devel libmysqlclient10-dev libxml libxml-devel libstdc++ libstdc++-devel which lsof sysstat libxml2 libxml2-devel gamin gamin-devel lynx openssh openssh-clients openssh-server openssl openssl-devel openssl-misc perl-CPAN sharutils ucd-snmp ucd-snmp-devel ucd-snmp-utils wget XFree86-devel XFree86-libs vixie-cron’ with root privileges on behalf of ‘root’
Jul 9 01:19:14 server userdel[18593]: delete user `named’
Jul 9 01:19:14 server userdel[18593]: remove group `named’
The problem is similar: http://bugs.centos.org/print_bug_page.php?bug_id=2247
Reason:-
============
some binaries like dig,host,cpio etc have immutable attributes
Solution:-
###########
quick solution:-
========================
[root@server var]# cp /etc/named.conf /root/
[root@server var]# cp -apfr /var/named/ /root/
[root@server var]# /scripts/ensurerpm bind-*
Full steps I used to fix
======================
[root@server var]# cp /etc/named.conf /root/
[root@server var]# cp -apfr /var/named/ /root/
[root@server var]# /scripts/ensurerpm bind-*
Fetching Obsoletes list for channel: rhel-i386-es-4…
Fetching rpm headers…
########################################
Name Version Rel
———————————————————-
bind-chroot 9.2.4 28.0.1.el4 i386
bind-devel 9.2.4 28.0.1.el4 i386
bind-utils 9.2.4 28.0.1.el4 i386
Testing package set / solving RPM inter-dependencies…
########################################
bind-chroot-9.2.4-28.0.1.el ########################## Done.
bind-devel-9.2.4-28.0.1.el4 ########################## Done.
bind-utils-9.2.4-28.0.1.el4 ########################## Done.
bind-9.2.4-28.0.1.el4.i386. ########################## Done.
Preparing ########################################### [100%]
Installing…
1:bind-utils ########################################### [100%]
error: unpacking of archive failed on file /usr/bin/dig: cpio: rename
There was a fatal RPM install error. The message was:
There was a rpm unpack error installing the package: bind-utils-9.2.4-28.0.1.el4
Need to create rndc.conf
Creating rndc.conf
Creating /etc/rndc.key …
Adding controls clause …
[root@server var]# service named restart
Stopping named: [FAILED]
Starting named: /usr/sbin/named: symbol lookup error: /usr/sbin/named: undefined symbol: dns_dispatch_hash
[FAILED]
[root@server var]# rpm -e bind-chroot
error: package bind-chroot is not installed
[root@server var]# cd /var/named/
[root@server var]# rpm -qa | grep bind
bind-libs-9.2.4-28.0.1.el4
ypbind-1.17.2-13
[root@server var]# /scripts/ensurerpm bind
Fetching Obsoletes list for channel: rhel-i386-es-4…
Fetching rpm headers…
########################################
Name Version Rel
———————————————————-
bind 9.2.4 28.0.1.el4 i386
Testing package set / solving RPM inter-dependencies…
########################################
bind-9.2.4-28.0.1.el4.i386. ########################## Done.
bind-utils-9.2.4-28.0.1.el4 ########################## Done.
Preparing ########################################### [100%]
Installing…
1:bind-utils ########################################### [100%]
error: unpacking of archive failed on file /usr/bin/dig: cpio: rename
There was a fatal RPM install error. The message was:
There was a rpm unpack error installing the package: bind-utils-9.2.4-28.0.1.el4
[root@server var]# cd
[root@server var]# lsattr /usr/bin/dig
—-i——– /usr/bin/dig
[root@server var]# cd /usr/bin/
[root@server bin]# chattr -ai *
[root@server bin]# cd /usr/sbin/
[root@server sbin]# chattr -ai *
[root@server sbin]# cd /bin/
[root@server bin]# chattr -ai *
[root@server bin]# chattr -ai *
[root@server bin]# /scripts/ensurerpm bind bind-devel
Fetching Obsoletes list for channel: rhel-i386-es-4…
Fetching rpm headers…
########################################
Name Version Rel
———————————————————-
bind 9.2.4 28.0.1.el4 i386
bind-devel 9.2.4 28.0.1.el4 i386
Testing package set / solving RPM inter-dependencies…
########################################
bind-9.2.4-28.0.1.el4.i386. ########################## Done.
bind-devel-9.2.4-28.0.1.el4 ########################## Done.
bind-utils-9.2.4-28.0.1.el4 ########################## Done.
Preparing ########################################### [100%]
Installing…
1:bind-utils ########################################### [100%]
2:bind warning: /etc/logrotate.d/named created as /etc/logrotate.d/named.rpmnew
warning: /etc/rc.d/init.d/named saved as /etc/rc.d/init.d/named.rpmorig
warning: /etc/rndc.conf created as /etc/rndc.conf.rpmnew
warning: /etc/rndc.key created as /etc/rndc.key.rpmnew
warning: /etc/sysconfig/named created as /etc/sysconfig/named.rpmnew
########################################### [100%]
3:bind-devel ########################################### [100%]
The following packages were added to your selection to satisfy dependencies:
Name Version Release
————————————————————–
bind-utils 9.2.4 28.0.1.el4
[root@server bin]# service named restart
Stopping named: [ OK ]
Starting named: [ OK ]
[root@server bin]#
To prevent from auto-update, add “bind*” in /etc/sysconfig/rhn/up2date
[root@ns2 ~]# grep bind /etc/sysconfig/rhn/up2date
pkgSkipList= bind*;courier*;spamassassin*;httpd*;perl;mysql*;php*;mod_ssl*;kernel*;exim*;proftpd*;pure-ftpd*;squirrelmail*;dovecot*;nsd*;
[root@ns2 ~]#
[...] v1.29 http://www.docs.kr/133 – bookmarked by 3 members originally found by adambou on 2008-07-24 /usr/sbin/named: symbol lookup error: /usr/sbin/named: undefined [...]
Thanks for you.
Problemsiz çalısıyor.
Turkish;
Arkadaşlar googleden aratıp gelirseniz hoşgeldiniz diyelim
Eğer siz de named start esnasında şöyle bir hata alırsanız;
Starting named: /usr/sbin/named: symbol lookup error: /usr/sbin/named: undefined symbol: dns_dispatch_hash
Bu makaledeki adımları yerine getirin.
Başarılar.
For me, I did “yum install bind bind-chroot” and I ran into the above problem.
The issue here is that you also need to update “bind-libs”.
A simple “yum update bind-libs” should do the trick. If your server is not in a state to do domain lookups because of the named issue, then you might have to temporarily use other DNS server in /etc/resolve.conf . In this case add:
“nameserver 208.67.222.222″ in /etc/resolve.conf and repeat the “yum update bind-libs” command.
Hope this gets you up quickly.