djbdnsのインストール

投稿者:

今更ですがdjbdnsです。
普段使うのはBINDって人でも一度くらいはインストールするのがお奨めなDNSサーバですね。
DNSキャッシュサーバ機能とDNSコンテンツサーバ機能が別々に動くのでBINDだとごちゃまぜに理解してしまいそうですが、djbdnsをインストールするとその辺がスッキリ理解できます。

ただ、最近のLinuxではdjbdnsをインストールするとエラーが出ます。
10年位前(2002年頃)のLinux(RedHat7.3とか)だとエラーは出ません。

エラーは↓な感じです。
/usr/bin/ld: errno: TLS definition in /lib64/libc.so.6 section .tbss mismatches non-TLS reference in envdir.o
/lib64/libc.so.6: could not read symbols: Bad value
collect2: ld returned 1 exit status
make: *** [envdir] Error 1

対処方法は error.hを修正します。

以下の2行を追加して
#include <error.h>
#include <errno.h>

以下の行を削除します。
extern int errno;

実際はdjbdnsをインストールする前にdaemontoolsをインストールするんですがその時に既にエラーが出ます。
上記の方法でエラーが出なくなります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.