secretflow / scql

SCQL (Secure Collaborative Query Language) is a system that allows multiple distrusting parties to run joint analysis without revealing their private data.
https://www.secretflow.org.cn/docs/scql/en/
Apache License 2.0
126 stars 46 forks source link

Compile Error #387

Closed jiushun closed 15 hours ago

jiushun commented 1 day ago

Issue Type

Install/Build

Have you searched for existing issues?

Yes

OS Platform and Distribution

Linux Ubuntu 22.04

SCQL Version

SCQL 0.9.1b1

What happend and What you expected to happen.

最新代码编译时报错
Compiling engine/operator/bucket.cc failed: (Exit 1): gcc failed: error executing command (from target //engine/operator:bucket) /usr/bin/gcc -U_FORTIFY_SOURCE -fstack-protector -Wall -Wunused-but-set-parameter -Wno-free-nonheap-object -fno-omit-frame-pointer '-std=c++14' -MD -MF ... (remaining 1006 arguments skipped)

Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
In file included from /usr/include/c++/11/bits/move.h:57,
                 from /usr/include/c++/11/bits/stl_pair.h:59,
                 from /usr/include/c++/11/bits/stl_algobase.h:64,
                 from /usr/include/c++/11/bits/char_traits.h:39,
                 from /usr/include/c++/11/string:40,
                 from ./engine/framework/operator.h:17,
                 from ./engine/operator/bucket.h:17,
                 from engine/operator/bucket.cc:15:
/usr/include/c++/11/type_traits: In instantiation of 'struct std::__is_constructible_impl<fmt::v10::formatter<spu::Index, char, void> >':
/usr/include/c++/11/type_traits:952:12:   required from 'struct std::is_constructible<fmt::v10::formatter<spu::Index, char, void> >'
bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/fmtlib/include/fmt/core.h:1465:66:   required from 'struct fmt::v10::detail::arg_mapper<fmt::v10::basic_format_context<fmt::v10::appender, char> >::formattable<const spu::Index, spu::Index>'
bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/fmtlib/include/fmt/core.h:1472:25:   required by substitution of 'template<class T, typename std::enable_if<(! fmt::v10::detail::arg_mapper<fmt::v10::basic_format_context<fmt::v10::appender, char> >::formattable<T, typename std::remove_const<_Tp>::type>::value), int>::type <anonymous> > constexpr fmt::v10::detail::unformattable fmt::v10::detail::arg_mapper<fmt::v10::basic_format_context<fmt::v10::appender, char> >::do_map<T, <anonymous> >(T&) [with T = const spu::Index; typename std::enable_if<(! fmt::v10::detail::arg_mapper<fmt::v10::basic_format_context<fmt::v10::appender, char> >::formattable<T, typename std::remove_const<_Tp>::type>::value), int>::type <anonymous> = <missing>]'
bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/fmtlib/include/fmt/core.h:1484:43:   required by substitution of 'template<class T, class U, typename std::enable_if<((((((std::is_class<U>::value || std::is_enum<_Tp2>::value) || std::is_union<U>::value) && (! fmt::v10::detail::is_string<U>::value)) && (! fmt::v10::is_char<U>::value)) && (! fmt::v10::detail::is_named_arg<T>::value)) && (! std::is_arithmetic<typename fmt::v10::detail::format_as_result<U>::type>::value)), int>::type <anonymous> > constexpr decltype (((fmt::v10::detail::arg_mapper<fmt::v10::basic_format_context<fmt::v10::appender, char> >*)this)->fmt::v10::detail::arg_mapper<fmt::v10::basic_format_context<fmt::v10::appender, char> >::do_map(val)) fmt::v10::detail::arg_mapper<fmt::v10::basic_format_context<fmt::v10::appender, char> >::map<T, U, <anonymous> >(T&) [with T = const spu::Index; U = spu::Index; typename std::enable_if<((((((std::is_class<U>::value || std::is_enum<_Tp2>::value) || std::is_union<U>::value) && (! fmt::v10::detail::is_string<U>::value)) && (! fmt::v10::is_char<U>::value)) && (! fmt::v10::detail::is_named_arg<T>::value)) && (! std::is_arithmetic<typename fmt::v10::detail::format_as_result<U>::type>::value)), int>::type <anonymous> = 0]'
bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/fmtlib/include/fmt/core.h:1500:53:   required by substitution of 'template<class T, class Context> using mapped_type_constant = fmt::v10::detail::type_constant<decltype (fmt::v10::detail::arg_mapper<Context>().map(declval<const T&>())), typename Context::char_type> [with T = spu::Index; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>]'
bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/fmtlib/include/fmt/core.h:1572:68:   required from 'constexpr long long unsigned int fmt::v10::detail::encode_types() [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Arg = spu::Index; Args = {}]'
bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/fmtlib/include/fmt/core.h:1829:58:   required from 'constexpr const long long unsigned int fmt::v10::format_arg_store<fmt::v10::basic_format_context<fmt::v10::appender, char>, spu::Index>::desc'
bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/fmtlib/include/fmt/core.h:1942:63:   required from 'constexpr fmt::v10::basic_format_args<Context>::basic_format_args(const fmt::v10::format_arg_store<Context, Args ...>&) [with Args = {spu::Index}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>]'
bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/fmtlib/include/fmt/core.h:2835:17:   required from 'std::string fmt::v10::format(fmt::v10::format_string<T ...>, T&& ...) [with T = {const spu::Index&}; std::string = std::__cxx11::basic_string<char>; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const spu::Index&>]'
external/spulib/libspu/core/ndarray_ref.h:266:25:   required from here
/usr/include/c++/11/type_traits:946:30: error: ambiguous template instantiation for 'struct fmt::v10::formatter<spu::Index, char, void>'
  946 |     : public __bool_constant<__is_constructible(_Tp, _Args...)>
      |                              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/fmtlib/include/fmt/core.h:2967,
                 from bazel-out/k8-fastbuild/bin/external/com_github_gabime_spdlog/spdlog/include/spdlog/fmt/fmt.h:28,
                 from bazel-out/k8-fastbuild/bin/external/com_github_gabime_spdlog/spdlog/include/spdlog/common.h:50,
                 from external/yacl/yacl/link/context.h:17,
                 from external/spulib/libspu/core/context.h:21,
                 from ./engine/framework/session.h:27,
                 from ./engine/framework/exec.h:19,
                 from ./engine/framework/operator.h:19,
                 from ./engine/operator/bucket.h:17,
                 from engine/operator/bucket.cc:15:
bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/fmtlib/include/fmt/format.h:4030:8: note: candidates are: 'template<class T, class Char> struct fmt::v10::formatter<T, Char, typename std::enable_if<fmt::v10::detail::has_format_as<T>::value, void>::type> [with T = spu::Index; Char = char]'
 4030 | struct formatter<T, Char, enable_if_t<detail::has_format_as<T>::value>>
      |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from external/psi/psi/utils/csv_header_analyzer.h:25,
                 from external/psi/psi/utils/batch_provider.h:26,
                 from external/psi/psi/ecdh/ecdh_oprf_psi.h:29,
                 from ./engine/util/psi_helper.h:26,
                 from engine/operator/bucket.cc:33:
bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/fmtlib/include/fmt/ranges.h:563:8: note:                 'template<class R, class Char> struct fmt::v10::formatter<R, Char, typename std::enable_if<fmt::v10::conjunction<std::integral_constant<bool, (fmt::v10::range_format_kind<R, Char, void>::value != fmt::v10::range_format::disabled)>, fmt::v10::detail::is_formattable_delayed<R, Char> >::value, void>::type> [with R = spu::Index; Char = char]'
  563 | struct formatter<
      |        ^~~~~~~~~~
  564 |     R, Char,
      |     ~~~~~~~~
  565 |     enable_if_t<conjunction<bool_constant<range_format_kind<R, Char>::value !=
      |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  566 |                                           range_format::disabled>
      |                                           ~~~~~~~~~~~~~~~~~~~~~~~
  567 | // Workaround a bug in MSVC 2015 and earlier.
      | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  568 | #if !FMT_MSC_VERSION || FMT_MSC_VERSION >= 1910
      | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  569 |                             ,
      |                             ~
  570 |                             detail::is_formattable_delayed<R, Char>
      |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  571 | #endif
      | ~~~~~~  
  572 |                             >::value>>
      |                             ~~~~~~~~~~
In file included from /usr/include/c++/11/bits/move.h:57,
                 from /usr/include/c++/11/bits/stl_pair.h:59,
                 from /usr/include/c++/11/bits/stl_algobase.h:64,
                 from /usr/include/c++/11/bits/char_traits.h:39,
                 from /usr/include/c++/11/string:40,
                 from ./engine/framework/operator.h:17,
                 from ./engine/operator/bucket.h:17,
                 from engine/operator/bucket.cc:15:
/usr/include/c++/11/type_traits: In instantiation of 'struct std::is_constructible<fmt::v10::formatter<spu::Index, char, void> >':
bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/fmtlib/include/fmt/core.h:1465:66:   required from 'struct fmt::v10::detail::arg_mapper<fmt::v10::basic_format_context<fmt::v10::appender, char> >::formattable<const spu::Index, spu::Index>'
bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/fmtlib/include/fmt/core.h:1472:25:   required by substitution of 'template<class T, typename std::enable_if<(! fmt::v10::detail::arg_mapper<fmt::v10::basic_format_context<fmt::v10::appender, char> >::formattable<T, typename std::remove_const<_Tp>::type>::value), int>::type <anonymous> > constexpr fmt::v10::detail::unformattable fmt::v10::detail::arg_mapper<fmt::v10::basic_format_context<fmt::v10::appender, char> >::do_map<T, <anonymous> >(T&) [with T = const spu::Index; typename std::enable_if<(! fmt::v10::detail::arg_mapper<fmt::v10::basic_format_context<fmt::v10::appender, char> >::formattable<T, typename std::remove_const<_Tp>::type>::value), int>::type <anonymous> = <missing>]'
bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/fmtlib/include/fmt/core.h:1484:43:   required by substitution of 'template<class T, class U, typename std::enable_if<((((((std::is_class<U>::value || std::is_enum<_Tp2>::value) || std::is_union<U>::value) && (! fmt::v10::detail::is_string<U>::value)) && (! fmt::v10::is_char<U>::value)) && (! fmt::v10::detail::is_named_arg<T>::value)) && (! std::is_arithmetic<typename fmt::v10::detail::format_as_result<U>::type>::value)), int>::type <anonymous> > constexpr decltype (((fmt::v10::detail::arg_mapper<fmt::v10::basic_format_context<fmt::v10::appender, char> >*)this)->fmt::v10::detail::arg_mapper<fmt::v10::basic_format_context<fmt::v10::appender, char> >::do_map(val)) fmt::v10::detail::arg_mapper<fmt::v10::basic_format_context<fmt::v10::appender, char> >::map<T, U, <anonymous> >(T&) [with T = const spu::Index; U = spu::Index; typename std::enable_if<((((((std::is_class<U>::value || std::is_enum<_Tp2>::value) || std::is_union<U>::value) && (! fmt::v10::detail::is_string<U>::value)) && (! fmt::v10::is_char<U>::value)) && (! fmt::v10::detail::is_named_arg<T>::value)) && (! std::is_arithmetic<typename fmt::v10::detail::format_as_result<U>::type>::value)), int>::type <anonymous> = 0]'
bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/fmtlib/include/fmt/core.h:1500:53:   required by substitution of 'template<class T, class Context> using mapped_type_constant = fmt::v10::detail::type_constant<decltype (fmt::v10::detail::arg_mapper<Context>().map(declval<const T&>())), typename Context::char_type> [with T = spu::Index; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>]'
bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/fmtlib/include/fmt/core.h:1572:68:   required from 'constexpr long long unsigned int fmt::v10::detail::encode_types() [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Arg = spu::Index; Args = {}]'
bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/fmtlib/include/fmt/core.h:1829:58:   required from 'constexpr const long long unsigned int fmt::v10::format_arg_store<fmt::v10::basic_format_context<fmt::v10::appender, char>, spu::Index>::desc'
bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/fmtlib/include/fmt/core.h:1942:63:   required from 'constexpr fmt::v10::basic_format_args<Context>::basic_format_args(const fmt::v10::format_arg_store<Context, Args ...>&) [with Args = {spu::Index}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>]'
bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/fmtlib/include/fmt/core.h:2835:17:   required from 'std::string fmt::v10::format(fmt::v10::format_string<T ...>, T&& ...) [with T = {const spu::Index&}; std::string = std::__cxx11::basic_string<char>; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const spu::Index&>]'
external/spulib/libspu/core/ndarray_ref.h:266:25:   required from here
/usr/include/c++/11/type_traits:955:52: error: static assertion failed: template argument must be a complete class or an unbounded array
  955 |       static_assert(std::__is_complete_or_unbounded(__type_identity<_Tp>{}),
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/11/type_traits:955:52: note: 'std::__is_complete_or_unbounded<std::__type_identity<fmt::v10::formatter<spu::Index, char, void> > >((std::__type_identity<fmt::v10::formatter<spu::Index, char, void> >{}, std::__type_identity<fmt::v10::formatter<spu::Index, char, void> >()))' evaluates to false
In file included from bazel-out/k8-fastbuild/bin/external/com_github_gabime_spdlog/spdlog/include/spdlog/fmt/fmt.h:28,
                 from bazel-out/k8-fastbuild/bin/external/com_github_gabime_spdlog/spdlog/include/spdlog/common.h:50,
                 from external/yacl/yacl/link/context.h:17,
                 from external/spulib/libspu/core/context.h:21,
                 from ./engine/framework/session.h:27,
                 from ./engine/framework/exec.h:19,
                 from ./engine/framework/operator.h:19,
                 from ./engine/operator/bucket.h:17,
                 from engine/operator/bucket.cc:15:
bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/fmtlib/include/fmt/core.h: In instantiation of 'constexpr fmt::v10::detail::value<Context> fmt::v10::detail::make_arg(T&) [with bool PACKED = true; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = const spu::Index; typename std::enable_if<C, int>::type <anonymous> = 0]':
bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/fmtlib/include/fmt/core.h:1842:51:   required from 'constexpr fmt::v10::format_arg_store<Context, Args>::format_arg_store(T& ...) [with T = {const spu::Index}; Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; Args = {spu::Index}]'
bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/fmtlib/include/fmt/core.h:1860:18:   required from 'constexpr fmt::v10::format_arg_store<Context, typename std::remove_cv<typename std::remove_reference<T>::type>::type ...> fmt::v10::make_format_args(T& ...) [with Context = fmt::v10::basic_format_context<fmt::v10::appender, char>; T = {const spu::Index}]'
bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/fmtlib/include/fmt/core.h:2835:44:   required from 'std::string fmt::v10::format(fmt::v10::format_string<T ...>, T&& ...) [with T = {const spu::Index&}; std::string = std::__cxx11::basic_string<char>; fmt::v10::format_string<T ...> = fmt::v10::basic_format_string<char, const spu::Index&>]'
external/spulib/libspu/core/ndarray_ref.h:266:25:   required from here
bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/fmtlib/include/fmt/core.h:1600:63: error: 'fmt::v10::detail::type_is_unformattable_for<const spu::Index, char> _' has incomplete type
 1600 |     type_is_unformattable_for<T, typename Context::char_type> _;
      |                                                               ^
bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/fmtlib/include/fmt/core.h:1604:7: error: static assertion failed: Cannot format an argument. To make type T formattable provide a formatter<T> specialization: https://fmt.dev/latest/api.html#udt
 1604 |       formattable,
      |       ^~~~~~~~~~~
bazel-out/k8-fastbuild/bin/external/com_github_fmtlib_fmt/fmtlib/include/fmt/core.h:1604:7: note: 'formattable' evaluates to false
Target //engine/exe:scqlengine failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 18.380s, Critical Path: 16.33s
INFO: 15 processes: 13 internal, 2 linux-sandbox.
FAILED: Build did NOT complete successfully

Configuration used to run SCQL.

正常配置

SCQL log output.

编译报错
tongke6 commented 18 hours ago

@jiushun 构建命令是什么?

jiushun commented 17 hours ago

@jiushun 构建命令是什么?

bazel build //engine/exe:scqlengine -c opt,按照 build and test 的那个说明用容器构建的

tongke6 commented 16 hours ago

都要带上 -c opt 哈,目前不带会报这个错误,我们接下来会 fix 这个问题。

jiushun commented 16 hours ago

都要带上 -c opt 哈,目前不带会报这个错误,我们接下来会 fix 这个问题。

好的谢谢,我再试试