Joris Van den Bossche created ARROW-15997:
---------------------------------------------

             Summary: [CI] Nightly turbodbc build is failing (C++ compilation 
error)
                 Key: ARROW-15997
                 URL: https://issues.apache.org/jira/browse/ARROW-15997
             Project: Apache Arrow
          Issue Type: Bug
          Components: Continuous Integration
            Reporter: Joris Van den Bossche


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]

{code}
 [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.
{code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to