joynr
joynr copied to clipboard
cmake configure fail in joynr
i have use command:
cmake -DCMAKE_C_COMPILER=/usr/bin/gcc -DCMAKE_CXX_COMPILER=/usr/bin/g++ -DUSE_PLATFORM_MOSQUITTO=ON -DENABLE_GCOV=OFF -DENABLE_DOXYGEN=OFF -DUSE_PLATFORM_SPDLOG=OFF -DUSE_PLATFORM_MUESLI=OFF -DUSE_PLATFORM_WEBSOCKETPP=OFF -DENABLE_CLANG_FORMATTER=OFF -DBUILD_TESTS=OFF -DJOYNR_SERVER_HOST=localhost -DJOYNR_SERVER_MQTT_PORT=1883 -DCMAKE_BUILD_TYPE=Debug ../cpp
in joynr, after struggling in missing dependency library, at last i meet a problem:
-- variable JOYNR_DEFAULT_GBID=joynrdefaultgbid -- variable JOYNR_SERVER_HOST=localhost -- variable JOYNR_SERVER_MQTT_PORT=1883 -- variable JOYNR_SERVER_MQTT_TLS_PORT=8883 CMake Deprecation Warning at CMake/OutofdirTargetSources.cmake:16 (cmake_policy): The OLD behavior for policy CMP0076 will be removed from a future version of CMake.
The cmake-policies(7) manual explains that the OLD behaviors of all policies are deprecated and that a policy should be set to OLD only under specific short-term circumstances. Projects should be ported to the NEW behavior and not rely on setting a policy to OLD. Call Stack (most recent call first): runtimes/libjoynr-runtime/websocket/CMakeLists.txt:1 (outofdir_target_sources)
CMake Deprecation Warning at CMake/OutofdirTargetSources.cmake:16 (cmake_policy): The OLD behavior for policy CMP0076 will be removed from a future version of CMake.
The cmake-policies(7) manual explains that the OLD behaviors of all policies are deprecated and that a policy should be set to OLD only under specific short-term circumstances. Projects should be ported to the NEW behavior and not rely on setting a policy to OLD. Call Stack (most recent call first): runtimes/libjoynr-runtime/uds/CMakeLists.txt:1 (outofdir_target_sources)
CMake Deprecation Warning at CMake/OutofdirTargetSources.cmake:16 (cmake_policy): The OLD behavior for policy CMP0076 will be removed from a future version of CMake.
The cmake-policies(7) manual explains that the OLD behaviors of all policies are deprecated and that a policy should be set to OLD only under specific short-term circumstances. Projects should be ported to the NEW behavior and not rely on setting a policy to OLD. Call Stack (most recent call first): runtimes/cluster-controller-runtime/signal-handler/CMakeLists.txt:1 (outofdir_target_sources)
-- Configuring done CMake Error at libjoynr/basemodel/generated/CMakeLists.txt:18 (add_library): No SOURCES given to target: BaseModelGenerated
CMake Generate step failed. Build files cannot be regenerated correctly.
can anybody give some advice ? thanks a lot
by copy some cpp file and include files to generated folder, the configure is ok. but In file included from /home/ecarx/joynr/joynr/cpp/libjoynr/in-process/InProcessMessagingAddress.cpp:19: /home/ecarx/joynr/joynr/cpp/libjoynr/joynr-messaging/include/joynr/InProcessMessagingAddress.h:28:10: fatal error: joynr/system/RoutingTypes/Address.h: No such file or directory 28 | #include "joynr/system/RoutingTypes/Address.h" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. In file included from /home/ecarx/joynr/joynr/cpp/libjoynr/capabilities/CapabilitiesRegistrar.cpp:19: /home/ecarx/joynr/joynr/cpp/libjoynr/capabilities/include/joynr/CapabilitiesRegistrar.h:42:10: fatal error: joynr/system/IDiscovery.h: No such file or directory 42 | #include "joynr/system/IDiscovery.h" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [libjoynr/in-process/CMakeFiles/InProcessMessaging.dir/build.make:76: libjoynr/in-process/CMakeFiles/InProcessMessaging.dir/InProcessMessagingAddress.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:898: libjoynr/in-process/CMakeFiles/InProcessMessaging.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... make[2]: *** [libjoynr/capabilities/CMakeFiles/Capabilities.dir/build.make:76: libjoynr/capabilities/CMakeFiles/Capabilities.dir/CapabilitiesRegistrar.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:846: libjoynr/capabilities/CMakeFiles/Capabilities.dir/all] Error 2 [ 8%] Building CXX object libjoynr/websocket/CMakeFiles/WebSocket.dir/WebSocketMessagingStubFactory.cpp.o [ 9%] Building CXX object libjoynr/basemodel/CMakeFiles/BaseModel.dir/communication-model/datatypes/infrastructure/DacTypes/Role.cpp.o In file included from /home/ecarx/joynr/joynr/cpp/libjoynr/joynr-messaging/include/joynr/LibJoynrDirectories.h:25, from /home/ecarx/joynr/joynr/cpp/libjoynr/joynr-messaging/include/joynr/Dispatcher.h:29, from /home/ecarx/joynr/joynr/cpp/libjoynr/joynr-messaging/dispatcher/Dispatcher.cpp:19: /home/ecarx/joynr/joynr/cpp/libjoynr/basemodel/include/joynr/RequestCaller.h:26:10: fatal error: joynr/types/Version.h: No such file or directory 26 | #include "joynr/types/Version.h" | ^~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [libjoynr/joynr-messaging/CMakeFiles/Messaging.dir/build.make:76: libjoynr/joynr-messaging/CMakeFiles/Messaging.dir/dispatcher/Dispatcher.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:872: libjoynr/joynr-messaging/CMakeFiles/Messaging.dir/all] Error 2 [ 10%] Building CXX object libjoynr/basemodel/CMakeFiles/BaseModel.dir/exceptions/JoynrExceptionUtil.cpp.o In file included from /home/ecarx/joynr/joynr/cpp/libjoynr/websocket/WebSocketMessagingStubFactory.cpp:19: /home/ecarx/joynr/joynr/cpp/libjoynr/websocket/WebSocketMessagingStubFactory.h:29:10: fatal error: joynr/system/RoutingTypes/WebSocketAddress.h: No such file or directory 29 | #include "joynr/system/RoutingTypes/WebSocketAddress.h" | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [libjoynr/websocket/CMakeFiles/WebSocket.dir/build.make:104: libjoynr/websocket/CMakeFiles/WebSocket.dir/WebSocketMessagingStubFactory.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... [ 11%] Building CXX object libjoynr/util/CMakeFiles/Util.dir/ObjectWithDecayTime.cpp.o In file included from /home/ecarx/joynr/joynr/cpp/libjoynr/basemodel/include/joynr/exceptions/JoynrExceptionUtil.h:25, from /home/ecarx/joynr/joynr/cpp/libjoynr/basemodel/exceptions/JoynrExceptionUtil.cpp:19: /home/ecarx/joynr/joynr/cpp/libjoynr/basemodel/include/joynr/exceptions/MethodInvocationException.h:27:10: fatal error: joynr/types/Version.h: No such file or directory 27 | #include "joynr/types/Version.h" | ^~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [libjoynr/basemodel/CMakeFiles/BaseModel.dir/build.make:104: libjoynr/basemodel/CMakeFiles/BaseModel.dir/exceptions/JoynrExceptionUtil.cpp.o] Error 1
i have not found WebSocketAddress.h and Version.h in total joynr
joynr C++ can be build out of the box using the specified docker containers and scripts, see https://github.com/bmwcarit/joynr/blob/master/wiki/cpp_building_joynr.md. For local environment you would have establish same environment as described in the Dockerfile.