[CMake] Understanding constraint graph cycles

James Turner james.turner at kdab.com
Thu Aug 24 10:08:08 EDT 2017


Hi,

Since upgrading to a recent CMake, the FLightGear build system is now reporting this:

==========
	CMake Warning at utils/fgai/CMakeLists.txt:1 (add_executable):
  Cannot generate a safe runtime search path for target fgai because there is
  a cycle in the constraint graph:

    dir 0 is [/home/jenkins/workspace/FlightGear/dist/lib64]
      dir 1 must precede it due to runtime library [libosgText.so.130]
    dir 1 is [/home/jenkins/workspace/SimGear/dist/lib64]
      dir 0 must precede it due to runtime library [libosgText.so.130]

  Some of these libraries may not be found correctly.
==============


I can guess various dumb things I might have done to cause this, but can anyone give me some context? This is about rpath setting in the executables? 

SimGear is a helper library for FlightGear, build as static libs, and imported into FlightGear directly. SimGear and FlightGear both depend on OpenSceneGraph, and on our buiuld server (but not commonly in real life) Simgear and FlightGear are being configured with different install prefixes (that’s the /home/jenkins/workspace/<project>dist/lib64 part)

Again rather than making ad-hoc changes to fix this, I’d like a bit more understanding about what is intended here, if anyone can suggest it.

All this code is publicly visible on SourceForge BTW:

	https://sourceforge.net/p/flightgear/_list/git?source=navbar

Kind regards,
James


More information about the CMake mailing list