SVN::Coreについてくるsubversionが古い

ちょっと用事があって、PerlSVN::Coreをインストール。Buildを走らせるとこんなエラー。

_svn/util.c
subversion/mod_dav_svn/util.c: In function 'dav_svn__log_err':
subversion/mod_dav_svn/util.c:630: error: 'dav_error' has no member named 'save_errno'
subversion/mod_dav_svn/util.c:631: error: 'dav_error' has no member named 'save_errno'
make: *** [subversion/mod_dav_svn/util.lo] エラー 1
building subversion failed at inc/My/SVN/Builder.pm line 126.

構造体のメンバがないらしいです。
ソースを読んでみると、このdav_errorって構造体はapacheのmod_dav中のmod_dav.hで定義されています。
最新の2.4.6だとこんな。

typedef struct dav_error {
    int status;                 /* suggested HTTP status (0 for no error) */
    int error_id;               /* DAV-specific error ID */
    const char *desc;           /* DAV:responsedescription and error log */

    apr_status_t aprerr;        /* APR error if any, or 0/APR_SUCCESS */

    const char *namespace;      /* [optional] namespace of error */
    const char *tagname;        /* name of error-tag */

    struct dav_error *prev;     /* previous error (in stack) */

} dav_error;

確かに、save_errnoってメンバはいません。
2.2.25だとこんなのです。

typedef struct dav_error {
    int status;                 /* suggested HTTP status (0 for no error) */
    int error_id;               /* DAV-specific error ID */
    const char *desc;           /* DAV:responsedescription and error log */

    int save_errno;             /* copy of errno causing the error */

    const char *namespace;      /* [optional] namespace of error */
    const char *tagname;        /* name of error-tag */

    struct dav_error *prev;     /* previous error (in stack) */

} dav_error;

ありますね。save_errno。ふーむ、2.2って随分昔だぞ。
つまり、SVN::Coreに付属しているsubversionがちょっと古めだってことですね。
ということで Alien-SVN-v1.7.3.1/src/subversionAlien-SVN-v1.7.3.1/src/_subversionとリネーム*1した上で、subversionの最新版をダウンロードして、Alien-SVN-v1.7.3.1/src/subversionへ展開。その上で、Buildを実行して解決。

*1:まぁ消してもいいんですけど