Fix platform 10 build with folly (#10708)

Summary:
Change the library order in PLATFORM_LDFLAGS to enable fbcode platform 10 build with folly. This PR also has a few fixes for platform 10 compiler errors.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/10708

Test Plan:
ROCKSDB_FBCODE_BUILD_WITH_PLATFORM010=1 USE_COROUTINES=1 make -j64 check
ROCKSDB_FBCODE_BUILD_WITH_PLATFORM010=1 USE_FOLLY=1 make -j64 check

Reviewed By: ajkr

Differential Revision: D39666590

Pulled By: anand1976

fbshipit-source-id: 256a1127ef561399cd6299a6a392ca29bd68ca44
main
anand76 2 years ago committed by Facebook GitHub Bot
parent 0f4978d34f
commit fb9a025892
  1. 2
      Makefile
  2. 8
      db/db_impl/db_impl.cc
  3. 2
      table/plain/plain_table_builder.cc

@ -509,7 +509,7 @@ ifneq ($(strip $(FOLLY_PATH)),)
# Add -ldl at the end as gcc resolves a symbol in a library by searching only in libraries specified later # Add -ldl at the end as gcc resolves a symbol in a library by searching only in libraries specified later
# in the command line # in the command line
PLATFORM_LDFLAGS += $(BOOST_PATH)/lib/libboost_context.a $(BOOST_PATH)/lib/libboost_filesystem.a $(BOOST_PATH)/lib/libboost_atomic.a $(BOOST_PATH)/lib/libboost_program_options.a $(BOOST_PATH)/lib/libboost_regex.a $(BOOST_PATH)/lib/libboost_system.a $(BOOST_PATH)/lib/libboost_thread.a $(DBL_CONV_PATH)/lib/libdouble-conversion.a $(FOLLY_PATH)/lib/libfolly.a $(FMT_LIB_PATH)/libfmt.a $(GLOG_LIB_PATH)/libglog.so $(GFLAGS_PATH)/lib/libgflags.so.2.2 -ldl PLATFORM_LDFLAGS += $(FOLLY_PATH)/lib/libfolly.a $(BOOST_PATH)/lib/libboost_context.a $(BOOST_PATH)/lib/libboost_filesystem.a $(BOOST_PATH)/lib/libboost_atomic.a $(BOOST_PATH)/lib/libboost_program_options.a $(BOOST_PATH)/lib/libboost_regex.a $(BOOST_PATH)/lib/libboost_system.a $(BOOST_PATH)/lib/libboost_thread.a $(DBL_CONV_PATH)/lib/libdouble-conversion.a $(FMT_LIB_PATH)/libfmt.a $(GLOG_LIB_PATH)/libglog.so $(GFLAGS_PATH)/lib/libgflags.so.2.2 $(LIBEVENT_PATH)/lib/libevent-2.1.so -ldl
PLATFORM_LDFLAGS += -Wl,-rpath=$(GFLAGS_PATH)/lib -Wl,-rpath=$(GLOG_LIB_PATH) -Wl,-rpath=$(LIBEVENT_PATH)/lib -Wl,-rpath=$(LIBSODIUM_PATH)/lib -Wl,-rpath=$(LIBEVENT_PATH)/lib PLATFORM_LDFLAGS += -Wl,-rpath=$(GFLAGS_PATH)/lib -Wl,-rpath=$(GLOG_LIB_PATH) -Wl,-rpath=$(LIBEVENT_PATH)/lib -Wl,-rpath=$(LIBSODIUM_PATH)/lib -Wl,-rpath=$(LIBEVENT_PATH)/lib
endif endif
PLATFORM_CCFLAGS += -DUSE_FOLLY -DFOLLY_NO_CONFIG PLATFORM_CCFLAGS += -DUSE_FOLLY -DFOLLY_NO_CONFIG

@ -1438,11 +1438,11 @@ Status DBImpl::FlushWAL(bool sync) {
// future writes // future writes
IOStatusCheck(io_s); IOStatusCheck(io_s);
// whether sync or not, we should abort the rest of function upon error // whether sync or not, we should abort the rest of function upon error
return std::move(io_s); return static_cast<Status>(io_s);
} }
if (!sync) { if (!sync) {
ROCKS_LOG_DEBUG(immutable_db_options_.info_log, "FlushWAL sync=false"); ROCKS_LOG_DEBUG(immutable_db_options_.info_log, "FlushWAL sync=false");
return std::move(io_s); return static_cast<Status>(io_s);
} }
} }
if (!sync) { if (!sync) {
@ -1551,7 +1551,7 @@ Status DBImpl::ApplyWALToManifest(VersionEdit* synced_wals) {
Status DBImpl::LockWAL() { Status DBImpl::LockWAL() {
log_write_mutex_.Lock(); log_write_mutex_.Lock();
auto cur_log_writer = logs_.back().writer; auto cur_log_writer = logs_.back().writer;
auto status = cur_log_writer->WriteBuffer(); IOStatus status = cur_log_writer->WriteBuffer();
if (!status.ok()) { if (!status.ok()) {
ROCKS_LOG_ERROR(immutable_db_options_.info_log, "WAL flush error %s", ROCKS_LOG_ERROR(immutable_db_options_.info_log, "WAL flush error %s",
status.ToString().c_str()); status.ToString().c_str());
@ -1559,7 +1559,7 @@ Status DBImpl::LockWAL() {
// future writes // future writes
WriteStatusCheck(status); WriteStatusCheck(status);
} }
return std::move(status); return static_cast<Status>(status);
} }
Status DBImpl::UnlockWAL() { Status DBImpl::UnlockWAL() {

@ -277,7 +277,7 @@ Status PlainTableBuilder::Finish() {
IOStatus s = WriteBlock(property_block_builder.Finish(), file_, &offset_, IOStatus s = WriteBlock(property_block_builder.Finish(), file_, &offset_,
&property_block_handle); &property_block_handle);
if (!s.ok()) { if (!s.ok()) {
return std::move(s); return static_cast<Status>(s);
} }
meta_index_builer.Add(kPropertiesBlockName, property_block_handle); meta_index_builer.Add(kPropertiesBlockName, property_block_handle);

Loading…
Cancel
Save