CentOS 4.4 (古い…) に daemontools (0.76) をインストールしようとしてエラった。
http://cr.yp.to/daemontools/install.html の手順どおりにすすむと、
% package/install
で、
./load envdir unix.a byte.a
envdir.o(.text+0xce): In function `main':
: undefined reference to `errno'
envdir.o(.text+0x1b4): In function `main':
: undefined reference to `errno'
envdir.o(.text+0x1ce): In function `main':
: undefined reference to `errno'
unix.a(openreadclose.o)(.text+0x3b): In function `openreadclose':
: undefined reference to `errno'
unix.a(pathexec_run.o)(.text+0xef): In function `pathexec_run':
: undefined reference to `errno'
unix.a(pathexec_run.o)(.text+0x167): more undefined references to `errno' follow
collect2: ld returned 1 exit status
make: *** [envdir] Error 1
Copying commands into ./command...
cp: cannot stat `compile/svscan': No such file or directory
errono がなさげ。それっぽいところにパッチあてる。
% diff -u src/error.h{.org,}
--- src/error.h.org 2008-03-24 17:24:44.000000000 +0900
+++ src/error.h 2008-03-24 17:19:12.000000000 +0900
@@ -3,6 +3,8 @@
#ifndef ERROR_H
#define ERROR_H
+#include <errno.h>
+
extern int errno;
extern int error_intr;
これで無事成功した。
追記: あー、これは有名な話なのか。(http://www.google.com/search?hl=en&q=daemontools+errno&btnG=Search&lr= )
勢いだけで書いて損した感。。。