Closed vsbogd closed 4 years ago
Adding dependency of truthvalue
on execution
introduces cyclic dependency, see https://github.com/opencog/atomspace/issues/2689
Hmm. Odd. I does not fail for me. .. and it seems to work in circle-ci. So something about your system is different. Still ... the CMakefile says
TARGET_LINK_LIBRARIES(cogserver_cython
server
${ATOMSPACE_LIBRARIES}
${COGUTIL_LIBRARY}
${PYTHON_LIBRARIES}
)
where ${ATOMSPACE_LIBRARIES}
is defined in lib/AtomSpaceConfig.cmake.in
It seems unlikely, but what happens if you add
set_property(TARGET truthvalue
APPEND PROPERTY INTERFACE_LINK_LIBRARIES
execution
)
-- Configuring done
CMake Error: The inter-target dependency graph contains the following strongly connected component (cycle):
"atombase" of type SHARED_LIBRARY
depends on "execution" (weak)
depends on "clearbox" (weak)
depends on "atomcore" (weak)
depends on "atomflow" (weak)
"atomcore" of type SHARED_LIBRARY
depends on "atombase" (weak)
depends on "execution" (weak)
depends on "clearbox" (weak)
depends on "atomflow" (weak)
"atomflow" of type SHARED_LIBRARY
depends on "atomcore" (weak)
depends on "atombase" (weak)
depends on "execution" (weak)
depends on "clearbox" (weak)
"execution" of type SHARED_LIBRARY
depends on "clearbox" (weak)
depends on "atomcore" (weak)
depends on "atombase" (weak)
depends on "atomflow" (weak)
"clearbox" of type SHARED_LIBRARY
depends on "atomcore" (weak)
depends on "atombase" (weak)
depends on "execution" (weak)
depends on "atomflow" (weak)
At least one of these targets is not a STATIC_LIBRARY. Cyclic dependencies are allowed only among static libraries.
CMake Generate step failed. Build files cannot be regenerated correctly.
I understand what the circular dependencies look like. If you look for them you will find at least half a dozen of them, if not a dozen. They're all over the place, and they are very hard to get rid of. This problem is older than the github repo, its older than the bzr repo we used before that.
Best suggestion is to try the SET_PROPERTY
and see if that solves it.
Closing, because I think opencog/atomspace#2738 fixed the underlying issue
CythonServer
test fails becauselibtruthvalue.so
usesEvaluationLink::do_evaluation
method but doesn't depend onlibexecution.so
. See https://github.com/opencog/atomspace/commit/5b1642d8edb869c3d21182b40859f23a78035204