-
Notifications
You must be signed in to change notification settings - Fork 168
Open
Description
Issue template
- Hardware description: microblaze
- RTOS: FreeRTOS
- Installation type: micro_ros_setup
- Version or commit hash: humble
I am trying to compile a custom static library for the Microblaze processor using the command:
ros2 run micro_ros_setup create_firmware_ws.sh generate_lib
I am using the following cmake file:
set(CMAKE_SYSTEM_NAME Generic)
set(CMAKE_CROSSCOMPILING 1)
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
set(CMAKE_C_COMPILER mb-gcc)
set(CMAKE_CXX_COMPILER mb-g++)
set(CMAKE_C_COMPILER_WORKS 1 CACHE INTERNAL "")
set(CMAKE_CXX_COMPILER_WORKS 1 CACHE INTERNAL "")
set(INCLUDE_PATH_FREERTOS "/home/niko/vitis_ws/microblaze_freeRTOS/microblaze_0/freertos10_xilinx_domain/bsp/microblaze_0/include")
set(FLAGS "-O2 -ffunction-sections -fdata-sections -fno-exceptions -nostdlib --param max-inline-insns-single=500 -DF_CPU=100000000L -I'${INCLUDE_PATH_FREERTOS}' -D'RCUTILS_LOG_MIN_SEVERITY=RCUTILS_LOG_MIN_SEVERITY_NONE' -D'PLATFORM_NAME_FREERTOS'" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_INIT "-std=c11 ${FLAGS} -DCLOCK_MONOTONIC=0 -D'__attribute__(x)='" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_INIT "-std=c++11 ${FLAGS} -fno-rtti -DCLOCK_MONOTONIC=0 -D'__attribute__(x)='" CACHE STRING "" FORCE)
This is the .meta file:
{
"names": {
"tracetools": {
"cmake-args": [
"-DTRACETOOLS_DISABLED=ON",
"-DTRACETOOLS_STATUS_CHECKING_TOOL=OFF"
]
},
"rosidl_typesupport": {
"cmake-args": [
"-DROSIDL_TYPESUPPORT_SINGLE_TYPESUPPORT=ON"
]
},
"rcl": {
"cmake-args": [
"-DBUILD_TESTING=OFF",
"-DRCL_COMMAND_LINE_ENABLED=OFF",
"-DRCL_LOGGING_ENABLED=ON"
]
},
"rcutils": {
"cmake-args": [
"-DENABLE_TESTING=OFF",
"-DRCUTILS_NO_FILESYSTEM=ON",
"-DRCUTILS_NO_THREAD_SUPPORT=ON",
"-DRCUTILS_NO_64_ATOMIC=ON",
"-DRCUTILS_AVOID_DYNAMIC_ALLOCATION=ON"
]
},
"microxrcedds_client": {
"cmake-args": [
"-DUCLIENT_PIC=OFF",
"-DUCLIENT_PROFILE_UDP=OFF",
"-DUCLIENT_PROFILE_TCP=OFF",
"-DUCLIENT_PROFILE_DISCOVERY=OFF",
"-DUCLIENT_PROFILE_SERIAL=OFF",
"-UCLIENT_PROFILE_STREAM_FRAMING=ON",
"-DUCLIENT_PROFILE_CUSTOM_TRANSPORT=ON",
"-DUCLIENT_MAX_SESSION_CONNECTION_ATTEMPTS=10",
"-DUCLIENT_MIN_SESSION_CONNECTION_INTERVAL=1000000"
]
},
"rmw_microxrcedds": {
"cmake-args": [
"-DRMW_UXRCE_MAX_NODES=5",
"-DRMW_UXRCE_MAX_PUBLISHERS=5",
"-DRMW_UXRCE_MAX_SUBSCRIPTIONS=5",
"-DRMW_UXRCE_MAX_SERVICES=1",
"-DRMW_UXRCE_MAX_CLIENTS=1",
"-DRMW_UXRCE_MAX_HISTORY=4",
"-DRMW_UXRCE_TRANSPORT=custom"
]
}
}
}
However, when executing the command to build the firmware, I get the following error for the spdlog:
ros2 run micro_ros_setup build_firmware.sh $(pwd)/my_custom_toolchain.cmake $(pwd)/my_custom_colcon.meta
CMake Error at cmake/get_default_rcl_logging_implementation.cmake:43 (find_package):
By not providing "Findrcl_logging_spdlog.cmake" in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by
"rcl_logging_spdlog", but CMake did not find one.
Could not find a package configuration file provided by
"rcl_logging_spdlog" with any of the following names:
rcl_logging_spdlogConfig.cmake
rcl_logging_spdlog-config.cmake
Add the installation prefix of "rcl_logging_spdlog" to CMAKE_PREFIX_PATH or
set "rcl_logging_spdlog_DIR" to a directory containing one of the above
files. If "rcl_logging_spdlog" provides a separate development package or
SDK, be sure it has been installed.
Call Stack (most recent call first):
CMakeLists.txt:27 (get_default_rcl_logging_implementation)
I already checked the installation of the spdlog library.
Metadata
Metadata
Assignees
Labels
No labels