Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-4958

[C++] Purely static linking broken

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 0.12.1
    • Fix Version/s: 0.13.0
    • Component/s: C++

      Description

      On the current master, 816c10d030842a1a0da4d00f95a5e3749c86a74f (#3965), running

       

      docker-compose build cpp
      docker-compose run cpp-static-only

      yields

      [357/382] Linking CXX executable debug/parquet-encoding-benchmark
      
      FAILED: debug/parquet-encoding-benchmark
      
      : && /opt/conda/bin/ccache /usr/bin/g++  -Wno-noexcept-type  -fdiagnostics-color=always -ggdb -O0  -Wall -Wno-conversion -Wno-sign-conversion -Werror -msse4.2  -g  -rdynamic src/parquet/CMakeFiles/parquet-encoding-benchmark.dir/encoding-benchmark.cc.o  -o debug/parquet-encoding-benchmark  -Wl,-rpath,/opt/conda/lib /opt/conda/lib/libbenchmark_main.a debug/libparquet.a /opt/conda/lib/libbenchmark.a debug/libarrow.a /opt/conda/lib/libdouble-conversion.a /opt/conda/lib/libbrotlienc.so /opt/conda/lib/libbrotlidec.so /opt/conda/lib/libbrotlicommon.so /opt/conda/lib/libbz2.so /opt/conda/lib/liblz4.so /opt/conda/lib/libsnappy.so.1.1.7 /opt/conda/lib/libz.so /opt/conda/lib/libzstd.so orc_ep-install/lib/liborc.a /opt/conda/lib/libprotobuf.so /opt/conda/lib/libglog.so /opt/conda/lib/libboost_system.so /opt/conda/lib/libboost_filesystem.so jemalloc_ep-prefix/src/jemalloc_ep/dist//lib/libjemalloc_pic.a -pthread -lrt /opt/conda/lib/libboost_regex.so /opt/conda/lib/libthrift.so && :
      
      src/parquet/CMakeFiles/parquet-encoding-benchmark.dir/encoding-benchmark.cc.o: In function `testing::AssertionResult::AppendMessage(testing::Message const&)':
      
      /opt/conda/include/gtest/gtest.h:352: undefined reference to `testing::Message::GetString[abi:cxx11]() const'
      
      src/parquet/CMakeFiles/parquet-encoding-benchmark.dir/encoding-benchmark.cc.o: In function `parquet::BenchmarkDecodeArrow::InitDataInputs()':
      
      /arrow/cpp/src/parquet/encoding-benchmark.cc:201: undefined reference to `arrow::random::RandomArrayGenerator::StringWithRepeats(long, long, int, int, double)'
      
      src/parquet/CMakeFiles/parquet-encoding-benchmark.dir/encoding-benchmark.cc.o: In function `parquet::BM_DictDecodingByteArray::DoEncodeData()':
      
      /arrow/cpp/src/parquet/encoding-benchmark.cc:317: undefined reference to `testing::internal::AlwaysTrue()'
      
      /arrow/cpp/src/parquet/encoding-benchmark.cc:317: undefined reference to `testing::internal::AlwaysTrue()'
      
      /arrow/cpp/src/parquet/encoding-benchmark.cc:317: undefined reference to `testing::Message::Message()'
      
      /arrow/cpp/src/parquet/encoding-benchmark.cc:317: undefined reference to `testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)'
      
      /arrow/cpp/src/parquet/encoding-benchmark.cc:317: undefined reference to `testing::internal::AssertHelper::operator=(testing::Message const&) const'
      
      /arrow/cpp/src/parquet/encoding-benchmark.cc:317: undefined reference to `testing::internal::AssertHelper::~AssertHelper()'
      
      /arrow/cpp/src/parquet/encoding-benchmark.cc:321: undefined reference to `testing::Message::Message()'
      
      /arrow/cpp/src/parquet/encoding-benchmark.cc:321: undefined reference to `testing::internal::AssertHelper::AssertHelper(testing::TestPartResult::Type, char const*, int, char const*)'
      
      /arrow/cpp/src/parquet/encoding-benchmark.cc:321: undefined reference to `testing::internal::AssertHelper::operator=(testing::Message const&) const'
      
      /arrow/cpp/src/parquet/encoding-benchmark.cc:321: undefined reference to `testing::internal::AssertHelper::~AssertHelper()'
      
      /arrow/cpp/src/parquet/encoding-benchmark.cc:317: undefined reference to `testing::internal::AssertHelper::~AssertHelper()'
      
      /arrow/cpp/src/parquet/encoding-benchmark.cc:321: undefined reference to `testing::internal::AssertHelper::~AssertHelper()'
      
      src/parquet/CMakeFiles/parquet-encoding-benchmark.dir/encoding-benchmark.cc.o: In function `testing::internal::scoped_ptr<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >::reset(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*)':
      
      /opt/conda/include/gtest/internal/gtest-port.h:1215: undefined reference to `testing::internal::IsTrue(bool)'
      
      src/parquet/CMakeFiles/parquet-encoding-benchmark.dir/encoding-benchmark.cc.o: In function `testing::AssertionResult testing::internal::CmpHelperNE<parquet::DictEncoder<parquet::DataType<(parquet::Type::type)6> >*, decltype(nullptr)>(char const*, char const*, parquet::DictEncoder<parquet::DataType<(parquet::Type::type)6> >* const&, decltype(nullptr) const&)':
      
      /opt/conda/include/gtest/gtest.h:1573: undefined reference to `testing::AssertionSuccess()'
      
      src/parquet/CMakeFiles/parquet-encoding-benchmark.dir/encoding-benchmark.cc.o: In function `testing::internal::scoped_ptr<std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> > >::reset(std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >*)':
      
      /opt/conda/include/gtest/internal/gtest-port.h:1215: undefined reference to `testing::internal::IsTrue(bool)'
      
      src/parquet/CMakeFiles/parquet-encoding-benchmark.dir/encoding-benchmark.cc.o: In function `testing::AssertionResult testing::internal::CmpHelperOpFailure<parquet::DictEncoder<parquet::DataType<(parquet::Type::type)6> >*, decltype(nullptr)>(char const*, char const*, parquet::DictEncoder<parquet::DataType<(parquet::Type::type)6> >* const&, decltype(nullptr) const&, char const*)':
      
      /opt/conda/include/gtest/gtest.h:1541: undefined reference to `testing::AssertionFailure()'
      
      /opt/conda/include/gtest/gtest.h:1543: undefined reference to `testing::AssertionResult::AssertionResult(testing::AssertionResult const&)'
      
      src/parquet/CMakeFiles/parquet-encoding-benchmark.dir/encoding-benchmark.cc.o: In function `testing::AssertionResult& testing::AssertionResult::operator<< <char [12]>(char const (&) [12])':
      
      /opt/conda/include/gtest/gtest.h:335: undefined reference to `testing::Message::Message()'
      
      src/parquet/CMakeFiles/parquet-encoding-benchmark.dir/encoding-benchmark.cc.o: In function `testing::AssertionResult& testing::AssertionResult::operator<< <char const*>(char const* const&)':
      
      /opt/conda/include/gtest/gtest.h:335: undefined reference to `testing::Message::Message()'
      
      src/parquet/CMakeFiles/parquet-encoding-benchmark.dir/encoding-benchmark.cc.o: In function `testing::AssertionResult& testing::AssertionResult::operator<< <char [3]>(char const (&) [3])':
      
      /opt/conda/include/gtest/gtest.h:335: undefined reference to `testing::Message::Message()'
      
      src/parquet/CMakeFiles/parquet-encoding-benchmark.dir/encoding-benchmark.cc.o: In function `testing::AssertionResult& testing::AssertionResult::operator<< <std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)':
      
      /opt/conda/include/gtest/gtest.h:335: undefined reference to `testing::Message::Message()'
      
      src/parquet/CMakeFiles/parquet-encoding-benchmark.dir/encoding-benchmark.cc.o: In function `testing::AssertionResult& testing::AssertionResult::operator<< <char [5]>(char const (&) [5])':
      
      /opt/conda/include/gtest/gtest.h:335: undefined reference to `testing::Message::Message()'
      
      collect2: error: ld returned 1 exit status
      
      [366/382] Linking CXX executable debug/parquet-column_writer-test
      
      ninja: build stopped: subcommand failed.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                uwe Uwe Korn
                Reporter:
                pcmoritz Philipp Moritz
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 20m
                  20m