パスワードを忘れた? アカウント作成
10645890 journal
日記

y_waiwaiの日記: さくらサーバで subversion 1.8.5 でビルドエラー 2

日記 by y_waiwai

ある日あるとき、さくらサーバの SVN がアクセスできなくなった。
ああ、そういえばメールでなんか言ってたなあ、とメールを漁るとありました。
http://www.sakura.ad.jp/news/sakurainfo/newsentry.php?id=769
かなり前から告知のメールが来てたんだが、やっとこっちに順番が回ってきたもよう。容量が増えるのは大歓迎だが、問題なのが、サーバのリニューアル(?)で、OSも
      OS : FreeBSD 7.1 32bit → FreeBSD 9.1 64bit
と変わったもよう。
まあ、これじゃあ動かなくなるわなあ、ってことで、ビルドしなおすことになりました。
で、せっかくだから最新版にしよう、とスケベ心を発揮したところからはなしがおかしくなります。
現時点での最新の subversion 1.8.5 を落としてきてビルドするが、これがまさかのビルドエラー。。

$HOME/local/lib/libaprutil-1.so: could not read symbols: File in wrong format
*** [subversion/libsvn_subr/libsvn_subr-1.la] Error code 1

いまいちワケワカランエラーメッセージ。。
ぐぐる先生に聞いてみても、あんまし情報がない。。
さんざすったもんだしたが、1.7 系でも同じエラーでビルドに失敗。最初に入れていた 1.6.15 はビルドが成功するようなので、当面これで行くこととしてこの日は就寝。

さて、日を改めまして、腰を落ち着けてビルドエラーの原因を探ろう、といってもFreeBSDなんかめったに触らないので、ぐぐる先生に聞きながらコマンドを調べます。
まあ、まずはエラーの原因である libaprutil-1.so を探っていくことにします。

% find . -name 'libaprutil*'
./local/lib/libaprutil-1.so
./local/lib/libaprutil-1.so.3
./local/lib/libaprutil-1.a
./local/lib/libaprutil-1.la
./local/src/svn/subversion-1.6.15/apr-util/.libs/libaprutil-1.so.3
./local/src/svn/subversion-1.6.15/apr-util/.libs/libaprutil-1.so
./local/src/svn/subversion-1.6.15/apr-util/.libs/libaprutil-1.a
./local/src/svn/subversion-1.6.15/apr-util/.libs/libaprutil-1.lai
./local/src/svn/subversion-1.6.15/apr-util/.libs/libaprutil-1.la
./local/src/svn/subversion-1.6.15/apr-util/.libs/libaprutil-1.so.3T
./local/src/svn/subversion-1.6.15/apr-util/libaprutil-1.la
./local/src/svn/subversion-1.6.15/apr-util/libaprutil.dsp
./local/src/svn/subversion-1.6.15/apr-util/libaprutil.rc

え?あれ?あるぢゃん、って、1.8.5 のソースも入れてるはずだけど、そっちに引っかからないのはなぜ??
と、謎が謎を呼ぶ展開に。。
もしかして、1.8.5 にはこいつのソースがなくて .so が生成されずにエラーになった? もしかしてもしかして、1.6.15 の環境そのままにして 1.8.5 をビルドしたらいけるんじゃ??
ということで、あえて make clean せずにそのまま 1.8.5 のビルドを行う、と、これが大成功!
って、上書きでホンマにちゃんとなってんのかい。。

% svnserve --version
svnserve, version 1.8.5 (r1542147)
      compiled Feb 8 2014, 11:25:39 on x86_64-unknown-freebsd9.1

Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people;
see the NOTICE file for more information.
Subversion is open source software, see http://subversion.apache.org/

The following repository back-end (FS) modules are available:

* fs_fs : Module for working with a plain file (FSFS) repository.

おお、ちゃんと1.8.5になってる。。

ということで、なんかウラワザっぽいビルド法だけど、今んトコちゃんと使えております。
はたしてこれでよかったのか、識者のツッコミをいただけるとありがたい。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • とりあえず、tar玉展開したルートに出てくるINSTALLくらい読めよ。
    libaprとlibapr-util、それにSQLiteとlibzは、Subversionのビルドに必須だろ?
    躓く場所のあまりの低レベルっぷりに開いた口が塞がらんわ……

    言うまでもないことだけど、svn://経由でなくhttp://経由で使うならSerfも要るし、https://も使うならOpenSSLも要る。
    --enable-nlsでビルドするならgettextも必須だし、RybyやPython、Javaなんかのバインディングも要るなら、それらの言語の他にswigも要る。
    そういった諸々の諸注意が書いてあるのがINSTALLだろ。configureする前にちゃんと読めよ。

    そもそもFreeBSDだからどうとか全く関係ないじゃねえかよ……
    つーか、それはもはやFreeBSDを普段使うとか使わないとかいう以前の問題。話にならない。
    おまえの馬鹿さ加減故の問題をOSになすりつけるな。

    • おお、鋭いツッコミ、ありがとうございます。

      この件(さくらサーバのSVN)に関してはぐぐる先生頼みでお手軽にやって来たもので、厳しいお言葉、身に染み入ります。

      さっそくINSTALL読んでみました。なんとなくわかりそーなきもします。(気もする程度かよ!)

      これからもご指導よろしくおねがいいたしますです。

      #自鯖のWindowsはVisualSVNでお手軽だったしなあ。。

      ぐぐる頼みでお手軽にやって来た

      親コメント
typodupeerror

アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家

読み込み中...