Hi, so I would like to compile foundationdb without docker, debug through it, look through the code etc. Hands on basically. But I’m not the biggest expert in c++ template programming.
What does this error mean?
13:14:20: Running steps for project fdb2…
13:14:20: Starting: “/usr/bin/make” all
Checking hgVersion.h
Compiling flow/ActorCollection.actor.g.cpp
In file included from flow/actorcompiler.h:39:0,
from flow/ActorCollection.actor.cpp:39:
flow/flow.h: In member function ‘bool ErrorOr::operator==(const ErrorOr&) const’:
flow/flow.h:254:22: error: no match for ‘operator==’ (operand types are ‘const Error’ and ‘const Error’)
return error == o.error && (!present() || get() == o.get());
~~~^
In file included from flow/Arena.h:26:0,
from flow/serialize.h:28,
from flow/flow.h:43,
from flow/actorcompiler.h:39,
from flow/ActorCollection.actor.cpp:39:
flow/FastRef.h:163:6: note: candidate: template bool operator==(const Reference
&, const Reference
&)
bool operator==( const Reference
& lhs, const Reference
& rhs ) {
^~~~~~~~
flow/FastRef.h:163:6: note: template argument deduction/substitution failed:
In file included from flow/actorcompiler.h:39:0,
from flow/ActorCollection.actor.cpp:39:
flow/flow.h:254:27: note: ‘const Error’ is not derived from ‘const Reference
’
return error == o.error && (!present() || get() == o.get());
^~~~~
In file included from flow/serialize.h:28:0,
from flow/flow.h:43,
from flow/actorcompiler.h:39,
from flow/ActorCollection.actor.cpp:39:
flow/Arena.h:526:13: note: candidate: bool operator==(const StringRef&, const StringRef&)
inline bool operator == (const StringRef& lhs, const StringRef& rhs ) {
^~~~~~~~
flow/Arena.h:526:13: note: no known conversion for argument 1 from ‘const Error’ to ‘const StringRef&’
In file included from flow/actorcompiler.h:39:0,
from flow/ActorCollection.actor.cpp:39:
flow/flow.h: In member function ‘bool ErrorOr::operator<(const ErrorOr&) const’:
flow/flow.h:261:37: error: no match for ‘operator<’ (operand types are ‘const Error’ and ‘const Error’)
if (error != o.error) error < o.error;
~~^
In file included from flow/serialize.h:28:0,
from flow/flow.h:43,
from flow/actorcompiler.h:39,
from flow/ActorCollection.actor.cpp:39:
flow/Arena.h:529:13: note: candidate: bool operator<(const StringRef&, const StringRef&)
inline bool operator < ( const StringRef& lhs, const StringRef& rhs ) {
^~~~~~~~
flow/Arena.h:529:13: note: no known conversion for argument 1 from ‘const Error’ to ‘const StringRef&’
flow/generated.mk:71: recipe for target ‘.objs/flow/ActorCollection.actor.g.cpp.o’ failed
make: *** [.objs/flow/ActorCollection.actor.g.cpp.o] Error 1
13:14:22: The process “/usr/bin/make” exited with code 2.
Error while building/deploying project fdb2 (kit: Desktop)
When executing step “Make”
13:14:22: Elapsed time: 00:02.