The rocksdb library in the ceph source tree fails to build with the default -03 optimizer flag on ppc64el.
(vivid-ppc64el)jamespage@kelsey01:~/build-area/ceph-0.87/src/rocksdb$ g++ -DHAVE_CONFIG_H -I. -D_FORTIFY_SOURCE=2 -Wall -Werror -std=c++11 -fPIC -I. -I./include -DOS_LINUX -DROCKSDB_PLATFORM_POSIX -fno-builtin-memcmp -DNDEBUG -DHAVE_JEMALLOC -Woverloaded-virtual -DROCKSDB_ATOMIC_PRESENT -DROCKSDB_FALLOCATE_PRESENT -DROCKSDB_ATOMIC_PRESENT -DROCKSDB_FALLOCATE_PRESENT -DSNAPPY -DZLIB -DBZIP2 -g -O3 -fstack-protector-strong -Wformat -Werror=format-security -std=c++11 -c table/plain_table_reader.cc -fPIE -o table/librocksdb_la-plain_table_reader.o
In file included from ./table/plain_table_reader.h:14:0,
from table/plain_table_reader.cc:6:
./db/dbformat.h: In member function 'virtual void rocksdb::PlainTableIterator::Next()':
./db/dbformat.h:266:67: error: 'parsed_key.rocksdb::ParsedInternalKey::sequence' may be used uninitialized in this function [-Werror=maybe-uninitialized]
EncodeFixed64(key_ + usize, PackSequenceAndType(s, value_type));
^
table/plain_table_reader.cc:737:23: note: 'parsed_key.rocksdb::ParsedInternalKey::sequence' was declared here
ParsedInternalKey parsed_key;
^
In file included from ./table/plain_table_reader.h:14:0,
from table/plain_table_reader.cc:6:
./db/dbformat.h:266:67: error: '*((void*)& parsed_key +24)' may be used uninitialized in this function [-Werror=maybe-uninitialized]
EncodeFixed64(key_ + usize, PackSequenceAndType(s, value_type));
^
table/plain_table_reader.cc:737:23: note: '*((void*)& parsed_key +24)' was declared here
ParsedInternalKey parsed_key;
^
cc1plus: all warnings being treated as errors
Works OK with -02
(vivid-ppc64el)jamespage@kelsey01:~/build-area/ceph-0.87/src/rocksdb$ g++ -DHAVE_CONFIG_H -I. -D_FORTIFY_SOURCE=2 -Wall -Werror -std=c++11 -fPIC -I. -I./include -DOS_LINUX -DROCKSDB_PLATFORM_POSIX -fno-builtin-memcmp -DNDEBUG -DHAVE_JEMALLOC -Woverloaded-virtual -DROCKSDB_ATOMIC_PRESENT -DROCKSDB_FALLOCATE_PRESENT -DROCKSDB_ATOMIC_PRESENT -DROCKSDB_FALLOCATE_PRESENT -DSNAPPY -DZLIB -DBZIP2 -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -std=c++11 -c table/plain_table_reader.cc -fPIE -o table/librocksdb_la-plain_table_reader.o
Full log:
https://launchpadlibrarian.net/191913939/buildlog_ubuntu-vivid-ppc64el.ceph_0.87-0ubuntu1_FAILEDTOBUILD.txt.gz
Current disabled for ppc64el due to this problem