Ivan Serdyuk created MINIFICPP-1337:
---------------------------------------
Summary: no matching conversion for static_cast from 'const
org::apache::nifi::minifi::core::PropertyValue' to
'std::__1::chrono::duration<long long, std::__1::ratio<1, 1000> >'
Key: MINIFICPP-1337
URL: https://issues.apache.org/jira/browse/MINIFICPP-1337
Project: Apache NiFi MiNiFi C++
Issue Type: Bug
Affects Versions: 0.7.0, 1.0.0
Environment: $ cmake --version
cmake version 3.16.3
$ clang --version
clang version 10.0.0-4ubuntu1
Target: x86_64-pc-linux-gnu
Thread model: posix
Reporter: Ivan Serdyuk
Attachments: TailFile_build_error[1].log
I was compiling MiNiFi using Clang 10.0.0-4ubuntu1 release.
I did like this:
$ cmake -DENABLE_COAP=ON -DASAN_BUILD=ON -DSKIP_TESTS=ON -DUSE_SHARED_LIBS=ON
-DPORTABLE=ON -DBUILD_ROCKSDB=ON -DBUILD_IDENTIFIER=
-DCMAKE_BUILD_TYPE=MinSizeRel -DFAIL_ON_WARNINGS= -DCMAKE_C_COMPILER=clang
-DCMAKE_CXX_COMPILER=clang++ -DCMAKE_CXX_FLAGS="-stdlib=libc++" ..
And (eventually) got this:
[ 47%] Building CXX object
extensions/standard-processors/CMakeFiles/minifi-standard-processors.dir/processors/TailFile.cpp.o
In file included from
/home/ubuntu/minifi_cpp/extensions/standard-processors/processors/TailFile.cpp:40:
In file included from
/home/ubuntu/minifi_cpp/extensions/standard-processors/processors/TailFile.h:30:
In file included from
/home/ubuntu/minifi_cpp/extensions/standard-processors/../../libminifi/include/core/Processor.h:39:
/home/ubuntu/minifi_cpp/extensions/standard-processors/../../libminifi/include/core/ConfigurableComponent.h:230:13:
error: no matching conversion for static_cast from 'const
org::apache::nifi::minifi::core::PropertyValue' to
'std::__1::chrono::duration<long long, std::__1::ratio<1, 1000> >'
value = static_cast<T>(item.getValue());
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/ubuntu/minifi_cpp/extensions/standard-processors/../../libminifi/include/core/ProcessorNode.h:71:30:
note: in instantiation of function template specialization
'org::apache::nifi::minifi::core::ConfigurableComponent::getProperty<std::__1::chrono::duration<long
long, std::__1::ratio<1, 1000> > >' requested here
return processor_cast->getProperty<T>(name, value);
^
/home/ubuntu/minifi_cpp/extensions/standard-processors/../../libminifi/include/core/ProcessContext.h:329:29:
note: in instantiation of function template specialization
'org::apache::nifi::minifi::core::ProcessorNode::getProperty<std::__1::chrono::duration<long
long, std::__1::ratio<1, 1000> > >' requested here
return processor_node_->getProperty<typename std::common_type<T>::type>(name,
value);
^
/home/ubuntu/minifi_cpp/extensions/standard-processors/../../libminifi/include/core/ProcessContext.h:102:12:
note: in instantiation of function template specialization
'org::apache::nifi::minifi::core::ProcessContext::getPropertyImp<std::__1::chrono::duration<long
long, std::__1::ratio<1, 1000> > >' requested here
return getPropertyImp<typename std::common_type<T>::type>(name, value);
^
/home/ubuntu/minifi_cpp/extensions/standard-processors/processors/TailFile.cpp:367:14:
note: in instantiation of function template specialization
'org::apache::nifi::minifi::core::ProcessContext::getProperty<std::__1::chrono::duration<long
long, std::__1::ratio<1, 1000> > >' requested here
context->getProperty(LookupFrequency.getName(), lookup_frequency_);
^
/usr/lib/llvm-10/bin/../include/c++/v1/chrono:1021:28: note: candidate
constructor (the implicit copy constructor) not viable: no known conversion
from 'const org::apache::nifi::minifi::core::PropertyValue' to 'const
std::__1::chrono::duration<long long, std::__1::ratio<1, 1000> >' for 1st
argument
class _LIBCPP_TEMPLATE_VIS duration
^
/usr/lib/llvm-10/bin/../include/c++/v1/chrono:1021:28: note: candidate
constructor (the implicit move constructor) not viable: no known conversion
from 'const org::apache::nifi::minifi::core::PropertyValue' to
'std::__1::chrono::duration<long long, std::__1::ratio<1, 1000> >' for 1st
argument
/usr/lib/llvm-10/bin/../include/c++/v1/chrono:1073:18: note: candidate template
ignored: requirement
'is_convertible<org::apache::nifi::minifi::core::PropertyValue, long
long>::value' was not satisfied [with _Rep2 =
org::apache::nifi::minifi::core::PropertyValue]
explicit duration(const _Rep2& __r,
^
/usr/lib/llvm-10/bin/../include/c++/v1/chrono:1085:9: note: candidate template
ignored: could not match 'duration<type-parameter-0-0, type-parameter-0-1>'
against 'const org::apache::nifi::minifi::core::PropertyValue'
duration(const duration<_Rep2, _Period2>& __d,
^
/usr/lib/llvm-10/bin/../include/c++/v1/chrono:1066:9: note: candidate
constructor not viable: requires 0 arguments, but 1 was provided
duration() = default;
^
1 error generated.
make[2]: ***
[extensions/standard-processors/CMakeFiles/minifi-standard-processors.dir/build.make:245:
extensions/standard-processors/CMakeFiles/minifi-standard-processors.dir/processors/TailFile.cpp.o]
Error 1
make[1]: *** [CMakeFiles/Makefile2:1173:
extensions/standard-processors/CMakeFiles/minifi-standard-processors.dir/all]
Error 2
[https://drive.google.com/file/d/1bz8pj2EE9EhdAU3erAblzhz6JQKfdh0v/view?usp=sharing]
- my archived build folder.
Contains all generated files
[^TailFile_build_error[1].log]
--
This message was sent by Atlassian Jira
(v8.3.4#803005)