From 8a8a01c642c513cae9a058d7286db971d49044e0 Mon Sep 17 00:00:00 2001 From: Jay Zhuang Date: Tue, 8 Sep 2020 12:08:05 -0700 Subject: [PATCH] Fix compile error for old gcc-4.8 (#7358) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Summary: gcc-4.8 returns error when using the constructor. Not sure if it's a compiler bug/limitation or code issue: ``` table/block_based/block_based_table_reader.cc:3183:67: error: use of deleted function ‘rocksdb::WritableFileStringStreamAdapter::WritableFileStringStreamAdapter(rocksdb::WritableFileStringStreamAdapter&&)’ ``` Pull Request resolved: https://github.com/facebook/rocksdb/pull/7358 Reviewed By: pdillinger Differential Revision: D23577651 Pulled By: jay-zhuang fbshipit-source-id: b0197e3d3538da61a6f3866410d88d2047fb9695 --- .circleci/config.yml | 13 +++++++++++++ table/block_based/block_based_table_reader.cc | 2 +- tools/sst_dump_test.cc | 4 ++-- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 412f6ef70..d656a1961 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -165,6 +165,16 @@ jobs: - run: apt-get update -y && apt-get install -y libgflags-dev - run: TEST_TMPDIR=/dev/shm && make V=1 -j16 unity_test | .circleci/cat_ignore_eagain + build-linux-gcc-4-8: + machine: + image: ubuntu-1604:201903-01 + resource_class: large + steps: + - checkout + - run: pyenv global 3.5.2 + - run: sudo apt-get update -y && sudo apt-get install gcc-4.8 g++-4.8 libgflags-dev + - run: CC=gcc-4.8 CXX=g++-4.8 V=1 SKIP_LINK=1 make -j4 all | .circleci/cat_ignore_eagain # Linking broken because libgflags compiled with newer ABI + build-windows: executor: windows-2xlarge parameters: @@ -360,3 +370,6 @@ workflows: - build-linux-non-shm: start_test: "compact_on_deletion_collector_test" # make sure unique in src.mk end_test: "" + build-linux-gcc-4-8: + jobs: + - build-linux-gcc-4-8 diff --git a/table/block_based/block_based_table_reader.cc b/table/block_based/block_based_table_reader.cc index ad9a6229f..fbc701d5e 100644 --- a/table/block_based/block_based_table_reader.cc +++ b/table/block_based/block_based_table_reader.cc @@ -3180,7 +3180,7 @@ Status BlockBasedTable::GetKVPairsFromDataBlocks( } Status BlockBasedTable::DumpTable(WritableFile* out_file) { - auto out_file_wrapper = WritableFileStringStreamAdapter(out_file); + WritableFileStringStreamAdapter out_file_wrapper(out_file); std::ostream out_stream(&out_file_wrapper); // Output Footer out_stream << "Footer Details:\n" diff --git a/tools/sst_dump_test.cc b/tools/sst_dump_test.cc index 0a75e64d2..3b963ad36 100644 --- a/tools/sst_dump_test.cc +++ b/tools/sst_dump_test.cc @@ -93,7 +93,7 @@ class SSTDumpToolTest : public testing::Test { } void createSST(const Options& opts, const std::string& file_name) { - Env* env = opts.env; + Env* test_env = opts.env; EnvOptions env_options(opts); ReadOptions read_options; const ImmutableCFOptions imoptions(opts); @@ -102,7 +102,7 @@ class SSTDumpToolTest : public testing::Test { std::unique_ptr tb; std::unique_ptr file; - ASSERT_OK(env->NewWritableFile(file_name, &file, env_options)); + ASSERT_OK(test_env->NewWritableFile(file_name, &file, env_options)); std::vector > int_tbl_prop_collector_factories;