modsecurity2のコンパイルでエラー

configureをかけてmakeするとこんなエラーが。

gcc -DHAVE_CONFIG_H -I. -I../apache2  -DLINUX -D_REENTRANT -D_GNU_SOURCE -I../apache2  -I/usr/local/apache2/include/apr-1 -DWITH_CURL  -g -O2  -I/usr/local/apache2//include/apr-1  -MT mlogc-mlogc.o -MD -MP -MF .deps/mlogc-mlogc.Tpo -c -o mlogc-mlogc.o `test -f 'mlogc.c' || echo './'`mlogc.c
In file included from /usr/include/curl/curl.h:2220:0,
                 from mlogc.c:32:
mlogc.c: 関数 ‘logc_init’ 内:
mlogc.c:1281:53: エラー: ‘CURL_SSLVERSION_TLSv1_0’ が宣言されていません (この関数内での最初の使用)
          curl_easy_setopt(curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_0);
                                                     ^
mlogc.c:1281:53: 備考: 未宣言の識別子は出現した各関数内で一回のみ報告されます
mlogc.c:1284:53: エラー: ‘CURL_SSLVERSION_TLSv1_1’ が宣言されていません (この関数内での最初の使用)
          curl_easy_setopt(curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_1);

数台あるウェブサーバのうち、一台のみで現象が発生。
調べてみると、「ない」と言っている定義は本来なら /usr/include/curl/curl.h に有る模様。
エラーがでない、すなわちちゃんと定義があるファイルの当該部分はこんなの。

enum {
  CURL_SSLVERSION_DEFAULT,
  CURL_SSLVERSION_TLSv1, /* TLS 1.x */
  CURL_SSLVERSION_SSLv2,
  CURL_SSLVERSION_SSLv3,
  CURL_SSLVERSION_TLSv1_0,
  CURL_SSLVERSION_TLSv1_1,
  CURL_SSLVERSION_TLSv1_2,

  CURL_SSLVERSION_LAST /* never use, keep last */
};

で、エラーがでるファイルにはそれがない。うーんなんでだ。だいたい日付もサイズも違う。
yumリポジトリをチェックすると、エラーがでているほうのcurl,libcurlはhop5のリポジトリを参照している様子。本来はrhel-x86_64-server-6が正解。
うーむと暫く悩んで、、curl.hへ以下三行追加することに決定。

  CURL_SSLVERSION_TLSv1_0,
  CURL_SSLVERSION_TLSv1_1,
  CURL_SSLVERSION_TLSv1_2,

マジか(笑)。まぁenumの後ろに追加されたメンバだから問題ないだろう。