[ 
https://issues.apache.org/jira/browse/MINIFICPP-2945?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Gábor Gyimesi updated MINIFICPP-2945:
-------------------------------------
    Resolution: Fixed
        Status: Resolved  (was: Patch Available)

> Provenance build fails on Windows with fmt lib from source
> ----------------------------------------------------------
>
>                 Key: MINIFICPP-2945
>                 URL: https://issues.apache.org/jira/browse/MINIFICPP-2945
>             Project: Apache NiFi MiNiFi C++
>          Issue Type: Bug
>            Reporter: Gábor Gyimesi
>            Assignee: Gábor Gyimesi
>            Priority: Major
>             Fix For: 1.2.0
>
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
>  
> {code:java}
> FAILED: 
> libminifi/CMakeFiles/core-minifi.dir/src/provenance/Provenance.cpp.obj 
> C:\PROGRA~1\MICROS~2\2022\COMMUN~1\VC\Tools\MSVC\1444~1.352\bin\Hostx64\x64\cl.exe
>   /nologo /TP -DCURL_STATICLIB -DLIBMINIFI=1 
> -DMINIFI_EXTENSION_GROUP_NAME=org.apache.nifi.minifi 
> -DMINIFI_REGISTER_EXTENSION_FN=MinifiRegisterCppExtension_bx2AiD0THtValfvyhVUCMevv
>  -DMINIFI_VERSION_STR=\"2.27.02\" -DNOMINMAX 
> -DRANGES_CXX_THREAD_LOCAL=201103L -DRAPIDJSON_HAS_STDSTRING 
> -DRPM_CONFIG_DIR=\"/etc/nifi-minifi-cpp\" 
> -DRPM_LIB_DIR=\"/usr/lib/nifi-minifi-cpp\" 
> -DRPM_LOG_DIR=\"/var/log/nifi-minifi-cpp\" 
> -DRPM_WORK_DIR=\"/var/lib/nifi-minifi-cpp\" -DSODIUM_STATIC=1 
> -DSPDLOG_COMPILED_LIB -DSPDLOG_FMT_EXTERNAL -DUSE_OS_TZDB=0 
> -DWIN32_LEAN_AND_MEAN -DYAML_CPP_STATIC_DEFINE -D_CRT_SECURE_NO_WARNINGS 
> -Dcore_minifi_EXPORTS -Dgsl_CONFIG_CONTRACT_VIOLATION_THROWS 
> -Dgsl_CONFIG_DEFAULTS_VERSION=1 -ID:\w\nifi-build-new1\libminifi\include 
> -ID:\w\nifi-build-new1\bx64\_deps\winflexbison-src\flex\src 
> -ID:\w\nifi-build-new1\bx64\libminifi\include 
> -ID:\w\nifi-build-new1\core-framework\include 
> -ID:\w\nifi-build-new1\minifi-api\include 
> -ID:\w\nifi-build-new1\minifi-api\common\include 
> -ID:\w\nifi-build-new1\core-framework\common\include 
> -external:ID:\w\nifi-build-new1\bx64\el-generated 
> -external:ID:\w\nifi-build-new1\bx64\_deps\gsl-lite-src\include 
> -external:ID:\w\nifi-build-new1\bx64\_deps\zlib-src 
> -external:ID:\w\nifi-build-new1\thirdparty\concurrentqueue 
> -external:ID:\w\nifi-build-new1\thirdparty\rapidjson-48fbd8cd202ca54031fe799db2ad44ffa8e77c13\include
>  -external:ID:\w\nifi-build-new1\bx64\_deps\spdlog-src\include 
> -external:ID:\w\nifi-build-new1\bx64\_deps\fmt-src\include 
> -external:ID:\w\nifi-build-new1\bx64\thirdparty\libsodium-install\include 
> -external:ID:\w\nifi-build-new1\bx64\_deps\range-v3_src-src\include 
> -external:ID:\w\nifi-build-new1\bx64\_deps\date_src-src\include 
> -external:ID:\w\nifi-build-new1\bx64\_deps\asio-src\include 
> -external:ID:\w\nifi-build-new1\bx64\thirdparty\openssl-install\include 
> -external:ID:\w\nifi-build-new1\bx64\_deps\magic_enum-src\include 
> -external:ID:\w\nifi-build-new1\bx64\_deps\curl-src\include 
> -external:ID:\w\nifi-build-new1\bx64\_deps\yaml-cpp-src\include -external:W0 
> /DWIN32 /D_WINDOWS /EHsc /O2 /Ob1 /DNDEBUG -std:c++latest -MD -Zi /W3 /utf-8 
> /bigobj /MP /diagnostics:caret /MD /GS /fp:precise /Zc:wchar_t /Zc:forScope 
> /Zc:inline /std:c++latest /permissive- /showIncludes 
> /Folibminifi\CMakeFiles\core-minifi.dir\src\provenance\Provenance.cpp.obj 
> /Fdlibminifi\CMakeFiles\core-minifi.dir\ /FS -c 
> D:\w\nifi-build-new1\libminifi\src\provenance\Provenance.cpp
> D:\w\nifi-build-new1\bx64\_deps\fmt-src\include\fmt\base.h(2673,45): error 
> C2079: '_' uses undefined struct 
> 'fmt::v11::detail::type_is_unformattable_for<std::expected<void,std::string>,fmt::v11::detail::parse_format_specs::char_type>'
>     type_is_unformattable_for<T, char_type> _;
>                                             ^
> D:\w\nifi-build-new1\bx64\_deps\fmt-src\include\fmt\base.h(2756,20): note: 
> while evaluating constexpr function 
> 'fmt::v11::detail::format_string_checker<char,std::expected<void,std::string>>::on_format_specs'
>     on_format_specs(id, begin, begin);  // Call parse() on empty specs.
>                    ^
> D:\w\nifi-build-new1\bx64\_deps\fmt-src\include\fmt\base.h(2581,33): note: 
> while evaluating constexpr function 
> 'fmt::v11::detail::format_string_checker<char,std::expected<void,std::string>>::on_replacement_field'
>     handler.on_replacement_field(handler.on_arg_id(), begin);
>                                 ^
> D:\w\nifi-build-new1\bx64\_deps\fmt-src\include\fmt\base.h(2647,36): note: 
> while evaluating constexpr function 
> 'fmt::v11::detail::parse_replacement_field'
>     begin = parse_replacement_field(p, end, handler);
>                                    ^
> D:\w\nifi-build-new1\bx64\_deps\fmt-src\include\fmt\base.h(2884,40): note: 
> while evaluating constexpr function 'fmt::v11::detail::parse_format_string'
>       detail::parse_format_string<true>(str_, checker(s));
>                                        ^
> D:\w\nifi-build-new1\bx64\_deps\fmt-src\include\fmt\base.h(2673,45): note: 
> the template instantiation context (the oldest one first) is
>     type_is_unformattable_for<T, char_type> _;
>                                             ^
> D:\w\nifi-build-new1\libminifi\src\provenance\Provenance.cpp(445,24): note: 
> see reference to function template instantiation 
> 'fmt::v11::basic_format_string<char,std::expected<void,std::string>>::basic_format_string<char[39],0>(const
>  S (&))' being compiled
>         with
>         [
>             S=char [39]
>         ]
>     logger_->log_error("Failed to append provenance events: {}", 
> append_result);
>                        ^
> D:\w\nifi-build-new1\bx64\_deps\fmt-src\include\fmt\base.h(2884,54): note: 
> see reference to class template instantiation 
> 'fmt::v11::detail::format_string_checker<char,std::expected<void,std::string>>'
>  being compiled
>       detail::parse_format_string<true>(str_, checker(s));
>                                                      ^
> D:\w\nifi-build-new1\bx64\_deps\fmt-src\include\fmt\base.h(2732,3): note: 
> while compiling class template member function 
> 'fmt::v11::detail::format_string_checker<char,std::expected<void,std::string>>::format_string_checker(fmt::v11::basic_string_view<char>)'
>   explicit FMT_CONSTEXPR format_string_checker(basic_string_view<Char> fmt)
>   ^
> D:\w\nifi-build-new1\bx64\_deps\fmt-src\include\fmt\base.h(2884,54): note: 
> see the first reference to 
> 'fmt::v11::detail::format_string_checker<char,std::expected<void,std::string>>::format_string_checker'
>  in 'org::apache::nifi::minifi::provenance::ProvenanceReporterImpl::commit'
>       detail::parse_format_string<true>(str_, checker(s));
>                                                      ^
> D:\w\nifi-build-new1\bx64\_deps\fmt-src\include\fmt\base.h(2735,23): note: 
> see reference to function template instantiation 'const Char 
> *fmt::v11::detail::parse_format_specs<std::expected<void,std::string>,fmt::v11::detail::compile_parse_context<Char>>(ParseContext
>  &)' being compiled
>         with
>         [
>             Char=char,
>             ParseContext=fmt::v11::detail::compile_parse_context<char>
>         ]
>         parse_funcs_{&parse_format_specs<Args, parse_context_type>...} {}
>                       ^
> {code}
>  



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

Reply via email to