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

[CI] Nightly turbodbc build is failing (C++ compilation error)

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • None
    • None
    • Continuous Integration
    • None

    Description

      See eg https://github.com/ursacomputing/crossbow/runs/5637809188?check_suite_focus=true

      The error seems related to boost (and not Arrow), and happens in the C++ code of turbodbc. But it is strange that it happens in both the latest and master turbodbc build (so it's not caused by a change on turbodbc's side). And I also didn't see a change in the boost version compared to the last successful build.

      cc uwe

       [102/156] Building CXX object cpp/turbodbc/Test/CMakeFiles/turbodbc_test.dir/tests/field_translator_test.cpp.o
      FAILED: cpp/turbodbc/Test/CMakeFiles/turbodbc_test.dir/tests/field_translator_test.cpp.o 
      /opt/conda/envs/arrow/bin/x86_64-conda-linux-gnu-c++  -I/turbodbc/cpp/turbodbc/Library -I/turbodbc/cpp/turbodbc/../cpp_odbc/Library -I/turbodbc/cpp/turbodbc/Test -fvisibility-inlines-hidden -std=c++17 -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem /opt/conda/envs/arrow/include -Wall -Wextra -g -O0 -pedantic   -std=c++11 -MD -MT cpp/turbodbc/Test/CMakeFiles/turbodbc_test.dir/tests/field_translator_test.cpp.o -MF cpp/turbodbc/Test/CMakeFiles/turbodbc_test.dir/tests/field_translator_test.cpp.o.d -o cpp/turbodbc/Test/CMakeFiles/turbodbc_test.dir/tests/field_translator_test.cpp.o -c /turbodbc/cpp/turbodbc/Test/tests/field_translator_test.cpp
      In file included from /opt/conda/envs/arrow/include/boost/type_index/stl_type_index.hpp:32,
                       from /opt/conda/envs/arrow/include/boost/type_index.hpp:29,
                       from /opt/conda/envs/arrow/include/boost/variant/variant.hpp:21,
                       from /turbodbc/cpp/turbodbc/Library/turbodbc/field.h:3,
                       from /turbodbc/cpp/turbodbc/Library/turbodbc/field_translator.h:3,
                       from /turbodbc/cpp/turbodbc/Test/tests/field_translator_test.cpp:1:
      /opt/conda/envs/arrow/include/boost/optional/optional.hpp: In instantiation of 'std::basic_ostream<_CharT, _Traits>& boost::operator<<(std::basic_ostream<_CharT, _Traits>&, const boost::optional_detail::optional_tag&) [with CharType = char; CharTrait = std::char_traits<char>]':
      /opt/conda/envs/arrow/include/gtest/gtest-printers.h:215:9:   required from 'static void testing::internal::internal_stream_operator_without_lexical_name_lookup::StreamPrinter::PrintValue(const T&, std::ostream*) [with T = boost::optional<boost::variant<long int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, double, boost::gregorian::date, boost::posix_time::ptime> >; <template-parameter-1-2> = void; <template-parameter-1-3> = std::basic_ostream<char>&; std::ostream = std::basic_ostream<char>]'
      /opt/conda/envs/arrow/include/gtest/gtest-printers.h:312:22:   required from 'void testing::internal::PrintWithFallback(const T&, std::ostream*) [with T = boost::optional<boost::variant<long int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, double, boost::gregorian::date, boost::posix_time::ptime> >; std::ostream = std::basic_ostream<char>]'
      /opt/conda/envs/arrow/include/gtest/gtest-printers.h:441:30:   required from 'void testing::internal::PrintTo(const T&, std::ostream*) [with T = boost::optional<boost::variant<long int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, double, boost::gregorian::date, boost::posix_time::ptime> >; std::ostream = std::basic_ostream<char>]'
      /opt/conda/envs/arrow/include/gtest/gtest-printers.h:691:12:   required from 'static void testing::internal::UniversalPrinter<T>::Print(const T&, std::ostream*) [with T = boost::optional<boost::variant<long int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, double, boost::gregorian::date, boost::posix_time::ptime> >; std::ostream = std::basic_ostream<char>]'
      /opt/conda/envs/arrow/include/gtest/gtest-printers.h:980:30:   required from 'void testing::internal::UniversalPrint(const T&, std::ostream*) [with T = boost::optional<boost::variant<long int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, double, boost::gregorian::date, boost::posix_time::ptime> >; std::ostream = std::basic_ostream<char>]'
      /opt/conda/envs/arrow/include/gtest/gtest-printers.h:865:19:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
      /opt/conda/envs/arrow/include/gtest/gtest-printers.h:334:36:   required from 'static std::string testing::internal::FormatForComparison<ToPrint, OtherOperand>::Format(const ToPrint&) [with ToPrint = boost::optional<boost::variant<long int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, double, boost::gregorian::date, boost::posix_time::ptime> >; OtherOperand = boost::optional<boost::variant<long int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, double, boost::gregorian::date, boost::posix_time::ptime> >; std::string = std::__cxx11::basic_string<char>]'
      /opt/conda/envs/arrow/include/gtest/gtest-printers.h:415:45:   required from 'std::string testing::internal::FormatForComparisonFailureMessage(const T1&, const T2&) [with T1 = boost::optional<boost::variant<long int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, double, boost::gregorian::date, boost::posix_time::ptime> >; T2 = boost::optional<boost::variant<long int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, double, boost::gregorian::date, boost::posix_time::ptime> >; std::string = std::__cxx11::basic_string<char>]'
      /opt/conda/envs/arrow/include/gtest/gtest.h:1527:53:   required from 'testing::AssertionResult testing::internal::CmpHelperEQFailure(const char*, const char*, const T1&, const T2&) [with T1 = boost::optional<boost::variant<long int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, double, boost::gregorian::date, boost::posix_time::ptime> >; T2 = boost::optional<boost::variant<long int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, double, boost::gregorian::date, boost::posix_time::ptime> >]'
      /opt/conda/envs/arrow/include/gtest/gtest.h:1549:28:   required from 'testing::AssertionResult testing::internal::CmpHelperEQ(const char*, const char*, const T1&, const T2&) [with T1 = boost::optional<boost::variant<long int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, double, boost::gregorian::date, boost::posix_time::ptime> >; T2 = boost::optional<boost::variant<long int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, double, boost::gregorian::date, boost::posix_time::ptime> >]'
      /opt/conda/envs/arrow/include/gtest/gtest.h:1564:23:   required from 'static testing::AssertionResult testing::internal::EqHelper::Compare(const char*, const char*, const T1&, const T2&) [with T1 = boost::optional<boost::variant<long int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, double, boost::gregorian::date, boost::posix_time::ptime> >; T2 = boost::optional<boost::variant<long int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, double, boost::gregorian::date, boost::posix_time::ptime> >; typename std::enable_if<((! std::is_integral<_Tp>::value) || (! std::is_pointer<_Dp>::value))>::type* <anonymous> = 0]'
      /turbodbc/cpp/turbodbc/Test/tests/field_translator_test.cpp:31:2:   required from here
      /opt/conda/envs/arrow/include/boost/optional/optional.hpp:1596:3: error: static assertion failed: If you want to output boost::optional, include header <boost/optional/optional_io.hpp>
       1596 |   BOOST_STATIC_ASSERT_MSG(sizeof(CharType) == 0, "If you want to output boost::optional, include header <boost/optional/optional_io.hpp>");
            |   ^~~~~~~~~~~~~~~~~~~~~~~
      [103/156] Building CXX object cpp/turbodbc/Test/CMakeFiles/turbodbc_test.dir/tests/field_translators/boolean_translator_test.cpp.o
      [104/156] Building CXX object cpp/turbodbc/Test/CMakeFiles/turbodbc_test.dir/tests/field_translators/date_translator_test.cpp.o
      ninja: build stopped: subcommand failed.
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            jorisvandenbossche Joris Van den Bossche
            Votes:
            0 Vote for this issue
            Watchers:
            5 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 - 50m
                50m