【学習メモ】CentOS7にapr1.6.5を入れるときmake testでtestsocketsエラー

##環境
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)](https://www.server-memo.net/centos-settings/centos7/disable-ipv6.html)
### 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)](http://mail-archives.apache.org/mod_mbox/apr-bugs/201203.mbox/%3Cbug-45494-43213-FMfP0zZeZ3@https.issues.apache.org/bugzilla/%3E)


### --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%
```