やっぱり、Cetos7 なので苦労しているのですが、
そもそも C++17 なのでコンパイラが新しくないとだめ
leveldb の version が合わない
みたいなのがあって、yum で入れても 1.0.7 かなんかで古すぎる。
rpm も stdc++ のversion が合わなくて、そんなものあげたら、いろいろ動かなくなる恐れが。
なのであんまり Linux っぽくないのだが、leveldbb も source から build することに。
で、だいたい動いたんですが...
../lib/libkv.a(LevelDBStore.cc.o):(.data.rel.ro._ZTI17CephLevelDBLogger[_ZTI17CephLevelDBLogger]+0x10): undefined reference to `typeinfo for leveldb::Logger'
collect2: error: ld returned 1 exit status
なにこれ。どうも C++ の RTTI の関係らしい。Runtime type information ですか。leveldb 側が no-rtti で Ceph 側が rtti 。どうする?
あと、
[ 41%] Linking CXX shared library ../../lib/librados.so
collect2: fatal error: ld terminated with signal 11 [Segmentation fault]
SegV はひどいでしょ。
% /usr/bin/ld.bfd --version
GNU ld version 2.27-34.base.el7
Copyright (C) 2016 Free Software Foundation, Inc.
なにそれ。それは古すぎる。とはいえ、落ちるか普通。
というわけで、まだ、しばらく楽しめそうです。来週、読み会なはずです。
No comments:
Post a Comment