2008年3月24日

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= )

勢いだけで書いて損した感。。。

Comments

トラックバック

トラックバックURL: