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)