##環境
IPv6とSELinuxを無効にした最小インストール+yum groupinstall base
に、apr-1.6.5をソースでインストールしようとしたらtestsocketsエラーが出たときのメモです。
一時的にIPv6を有効な状態にすればエラーは出なくなりました。nmtuiのIPv6は「無視する/ignore」のままでよく、net.ipv6.conf.all.disable_ipv6
を0にします。
参考
CentOS7 IPv6の無効化設定(www.server-memo.net)
prefixのみ
testsocketsでエラーが出る。
./configure --prefix=/usr/local/apr-1.6.5 && \
make && make test
(中略)
testprocmutex : SUCCESS
testrand : SUCCESS
testsleep : SUCCESS
testshm : SUCCESS
testsock : SUCCESS
testsockets : /Line 131: Could not bind socket (99): Cannot assign requested address
-Line 189: Condition is false, but expected true
FAILED 1 of 7
testsockopt : SUCCESS
teststr : SUCCESS
teststrnatcmp : SUCCESS
testtable : SUCCESS
testtemp : SUCCESS
testthread : SUCCESS
testtime : SUCCESS
testud : SUCCESS
testuser : SUCCESS
testvsn : SUCCESS
testskiplist : SUCCESS
Failed Tests Total Fail Failed %
===================================================
testsockets 7 1 14.29%
検索していたら、SolarisでIPv6に対応していないとき--disable-ipv6
を付けると失敗するような記事が見つかる。
apr-bugs mailing list archives(mail-archives.apache.org)
--disable-ipv6を入れる
オプションを知らなかったのでとりあえず入れてみる。
今度はtestipsub
で違うエラーが出た。
IPv6の短縮表現のエラーのようだけれど後回し。
./configure --prefix=/usr/local/apr-1.6.5 \
--disable-ipv6 && \
make && make test
(中略)
testfile : SUCCESS
testfilecopy : SUCCESS
testfileinfo : SUCCESS
testflock : SUCCESS
testfmt : SUCCESS
testfnmatch : SUCCESS
testargs : SUCCESS
testhash : SUCCESS
testipsub : \Line 208: expected <::>, but saw <[::]>
FAILED 1 of 6
testlock : SUCCESS
testcond : SUCCESS
testlfs : |Line 349: LFS support a no-op in 64-bit builds
SUCCESS
testmmap : SUCCESS
testnames : SUCCESS
testoc : SUCCESS
testpath : SUCCESS
testpipe : SUCCESS
testpoll : SUCCESS
testpools : SUCCESS
testproc : SUCCESS
testprocmutex : SUCCESS
testrand : SUCCESS
testsleep : SUCCESS
testshm : SUCCESS
testsock : SUCCESS
testsockets : SUCCESS
testsockopt : SUCCESS
teststr : SUCCESS
teststrnatcmp : SUCCESS
testtable : SUCCESS
testtemp : SUCCESS
testthread : SUCCESS
testtime : SUCCESS
testud : SUCCESS
testuser : SUCCESS
testvsn : SUCCESS
testskiplist : SUCCESS
Failed Tests Total Fail Failed %
===================================================
testipsub 6 1 16.67%
ipv6を有効にする。
設定していた以下の設定を0に変える。
vim /etc/sysctl.d/?.conf
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
sysctl -p
でipv6が設定されているか確認。
make testが通る。
ひとまずはこれでOK。
make test
(中略)
testhash : SUCCESS
testipsub : SUCCESS
testlock : SUCCESS
testcond : SUCCESS
testlfs : |Line 349: LFS support a no-op in 64-bit builds
SUCCESS
testmmap : SUCCESS
testnames : SUCCESS
testoc : SUCCESS
testpath : SUCCESS
testpipe : SUCCESS
testpoll : SUCCESS
testpools : SUCCESS
testproc : SUCCESS
testprocmutex : SUCCESS
testrand : SUCCESS
testsleep : SUCCESS
testshm : SUCCESS
testsock : SUCCESS
testsockets : SUCCESS
testsockopt : SUCCESS
teststr : SUCCESS
teststrnatcmp : SUCCESS
testtable : SUCCESS
testtemp : SUCCESS
testthread : SUCCESS
testtime : SUCCESS
testud : SUCCESS
testuser : SUCCESS
testvsn : SUCCESS
testskiplist : SUCCESS
All tests passed.
ipv6を有効にして--disable-ipv6を付ける
正しい組み合わせのはずなのになぜか失敗。
IPv6はほんと難しい。
testargs : SUCCESS
testhash : SUCCESS
testipsub : \Line 208: expected <::>, but saw <[::]>
FAILED 1 of 6
testlock : SUCCESS
testcond : SUCCESS
testlfs : |Line 349: LFS support a no-op in 64-bit builds
SUCCESS
testmmap : SUCCESS
testnames : SUCCESS
testoc : SUCCESS
testpath : SUCCESS
testpipe : SUCCESS
testpoll : SUCCESS
testpools : SUCCESS
testproc : SUCCESS
testprocmutex : SUCCESS
testrand : SUCCESS
testsleep : SUCCESS
testshm : SUCCESS
testsock : SUCCESS
testsockets : SUCCESS
testsockopt : SUCCESS
teststr : SUCCESS
teststrnatcmp : SUCCESS
testtable : SUCCESS
testtemp : SUCCESS
testthread : SUCCESS
testtime : SUCCESS
testud : SUCCESS
testuser : SUCCESS
testvsn : SUCCESS
testskiplist : SUCCESS
Failed Tests Total Fail Failed %
===================================================
testipsub 6 1 16.67%