glusterfs3.5.2をコンパイルしてみる | no news.

glusterfs3.5.2をコンパイルしてみる

programming-583923_1280

configure実行時に足りないと言われるパッケージを先にインストールしておきましょう。

別ページにまとめました。→glusterfsをソースからインストールする方法 試行錯誤を見たい方は続きを読むをどうぞ。

flex

# apt-get install flex
略
flex (2.5.35-10.1) を設定しています ...
#

bison

# apt-get install bison
略
bison (1:2.5.dfsg-2.1) を設定しています ...
update-alternatives: /usr/bin/yacc (yacc) を提供するために 自動モード で /usr/bin/bison.yacc を使います
#

2014年10月10日追記

どうもmakeなどのログを見てみると他にもいろいろ足りなかったみたい。最終的に

  • flex
  • bison
  • libssl-dev
  • libxml2-dev
  • python-dev

をインストールしました。追記ここまで

更に追記。私の環境だとすでにaptでインストールしていたglusterfs 3.2が悪さしてる?いや悪気はないんだろうけど3.5.2を入れた後に動作がおかしかったりしたので、事前に削除するようにしました。

apt-get purge glusterfs-common glusterfs-client glusterfs-server

特に残すデータ・設定などなかったのでpurgeで消しました。設定を残したい場合はapt-get removeで。でもバージョンがかなり違うので残さないほうがいいと思う。追記終わり。

では準備が整ったのでconfigure。

# ./configure | tee /tmp/glusterfs-3.5.2-configure.log
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p

略

checking whether program_invocation_short_name is declared... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands

GlusterFS configure summary
===========================
FUSE client          : yes
Infiniband verbs     : no
epoll IO multiplex   : yes
argp-standalone      : no
fusermount           : yes
readline             : no
georeplication       : yes
Linux-AIO            : no
Enable Debug         : no
systemtap            : no
Block Device xlator  : no
glupy                : no
Use syslog           : yes
XML output           : yes
QEMU Block formats   : no
Encryption xlator    : yes

# 

これでいいかな。。。?ではmake。

# time make
make --no-print-directory --quiet all-recursive
Making all in argp-standalone
Making all in .

略

Making all in src
  CC     gsyncd.o
  CC     procdiggy.o
  CCLD   gsyncd

real    61m58.284s
user    58m36.820s
sys     1m35.640s
# 

いやー時間かかった。これは他のマシンにはコンパイル済みのバイナリ配布したほうがいいね。debのパッケージ作る方法がなかったっけ。。。

2014年10月10日追記。コンパイル済みのバイナリ配布は諦めました。普通に各サーバでコンパイルしたほうが早い。自分のスキルでは無理でした・・・orz 追記終わり

ではインストール。

# time make install
Making install in argp-standalone
Making install in .
Making install in libglusterfs
Making install in src
 /bin/bash ../../libtool   --mode=install /usr/bin/install -c   libglusterfs.la '/usr/local/lib'

略

Making install in src
  /bin/bash ../../libtool   --mode=install /usr/bin/install -c gsyncd '/usr/local/libexec/glusterfs'
libtool: install: /usr/bin/install -c .libs/gsyncd /usr/local/libexec/glusterfs/gsyncd
 /usr/bin/install -c gverify.sh peer_add_secret_pub peer_gsec_create '/usr/local/libexec/glusterfs'
 /usr/bin/install -c -m 644 glusterfs-api.pc libgfchangelog.pc '/usr/local/lib/pkgconfig'

real    3m44.820s
user    2m50.930s
sys     0m26.370s
# 

意外にかかるねこれも。ではバージョン確認。

# gluster --version
gluster: symbol lookup error: gluster: undefined symbol: glusterfs_ctx_new
# 

Oh。。。どうもエラーメッセージで検索するとこのMLのスレッドが出てきます。次のスレッドにlibglusterfsがどうのとあるので、そんなファイルあるのかと探してみるとありました。が/usr/local/lib/。共有ライブラリのパスとして認識されてない?と思いパスを設定したところエラーが出なくなりました!とりあえず今日はここまで。

# export LD_LIBRARY_PATH=/usr/local/lib
# echo $LD_LIBRARY_PATH
/usr/local/lib
# gluster --version
glusterfs 3.5.2 built on Sep 21 2014 16:19:56
Repository revision: git://git.gluster.com/glusterfs.git
Copyright (c) 2006-2011 Gluster Inc. <http://www.gluster.com>
GlusterFS comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of GlusterFS under the terms of the GNU General Public License.
#

続きはこちらで。

スポンサーリンク
レクタングル大

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク
レクタングル大