Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions issue.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"author":{"id":"MDQ6VXNlcjY5MDE2NjEw","is_bot":false,"login":"nirbheeksetia","name":""},"body":"**Description**\r\nI am trying to follow the official MoveIt installation tutorial from the website. (For further reference: https://moveit.picknik.ai/main/doc/tutorials/getting_started/getting_started.html ) While running the last command I get an error concerning the architecture of my system which seems to be related to kortex_api.\r\n\r\n**Environment**\r\n -ROS Distro: Jazzy \r\n -OS Version: Ubuntu 24.04 (WSL2)\r\n - CPU information:\r\n ![Image](https://github.com/user-attachments/assets/1795d795-b7a7-45e2-aae1-582d8f5ff745)\r\n\r\n**Steps to reproduce**\r\nAfter following through the whole tutorial, run the final command:\r\n```\r\ncd ~/ws_moveit\r\ncolcon build --mixin release\r\n```\r\n\r\n**Error/Output**\r\n![Image](https://github.com/user-attachments/assets/6a9f258c-f6c0-4188-9a8b-8275cd314075)\r\n\r\nIs there no aarch64 support yet for kortex_api? If no, how do I install MoveIt on my system?\r\n\r\nThank you in advanace for your help and answers!","labels":[],"number":254,"title":"aarch64 support","url":"https://github.com/Kinovarobotics/ros2_kortex/issues/254"}
34 changes: 15 additions & 19 deletions kortex_api/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,32 +1,28 @@
cmake_minimum_required(VERSION 3.14)
include(FetchContent)
#include(ExternalProject)
FetchContent_Declare(
kinova_binary_api
URL ${CMAKE_CURRENT_SOURCE_DIR}/linux_x86-64_x86_gcc.zip
URL_HASH MD5=64bd86e7ab8bda90ef1fc7d6a356e080
DOWNLOAD_EXTRACT_TIMESTAMP TRUE
)

FetchContent_MakeAvailable(kinova_binary_api)

project(kortex_api)

#Future:
# convert API_URL components from CMAKE_SYSTEM variables.
# The kinova artifactory server artifacts have slightly different expectations and they need some transformations
# Could build something like: (URL_OS)_(URL_PROCESSOR)_(?)_(URL_COMPILER).zip
# string(REPLACE "_" "-" URL_PROCESSOR ${CMAKE_SYSTEM_PROCESSOR}) # x86_64 -> x86-64
# string(TOLOWER ${CMAKE_SYSTEM_NAME} URL_OS) # Linux -> linux

#Current: only support Linux x86_64
if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
set(API_URL https://artifactory.kinovaapps.com:443/artifactory/generic-public/kortex/API/2.5.0/linux_x86-64_x86_gcc.zip)
FetchContent_Declare(
kinova_binary_api
URL ${CMAKE_CURRENT_SOURCE_DIR}/linux_x86-64_x86_gcc.zip
URL_HASH MD5=64bd86e7ab8bda90ef1fc7d6a356e080
DOWNLOAD_EXTRACT_TIMESTAMP TRUE
)
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
FetchContent_Declare(
kinova_binary_api
URL https://artifactory.kinovaapps.com:443/artifactory/generic-public/kortex/API/2.5.0/linux_aarch64_aarch64_gcc.zip
DOWNLOAD_EXTRACT_TIMESTAMP TRUE
)
else()
set(API_URL "")
message(FATAL_ERROR "Unsupported System: currently support is for Linux x68_64. Detected ${CMAKE_SYSTEM_NAME} and ${CMAKE_SYSTEM_PROCESSOR}")
message(FATAL_ERROR "Unsupported System: currently support is for Linux x86_64 and Linux aarch64. Detected ${CMAKE_SYSTEM_NAME} and ${CMAKE_SYSTEM_PROCESSOR}")
endif()

FetchContent_MakeAvailable(kinova_binary_api)

#ExternalProject_Add(kinova_binary_api
# URL ${API_URL}
# CONFIGURE_COMMAND ""
Expand Down
29 changes: 14 additions & 15 deletions kortex_driver/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,19 @@
cmake_minimum_required(VERSION 3.14)
include(FetchContent)
FetchContent_Declare(
kinova_binary_api
URL https://artifactory.kinovaapps.com:443/artifactory/generic-public/kortex/API/2.5.0/linux_x86-64_x86_gcc.zip
URL_HASH MD5=64bd86e7ab8bda90ef1fc7d6a356e080
)
if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
FetchContent_Declare(
kinova_binary_api
URL https://artifactory.kinovaapps.com:443/artifactory/generic-public/kortex/API/2.5.0/linux_x86-64_x86_gcc.zip
URL_HASH MD5=64bd86e7ab8bda90ef1fc7d6a356e080
)
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64")
FetchContent_Declare(
kinova_binary_api
URL https://artifactory.kinovaapps.com:443/artifactory/generic-public/kortex/API/2.5.0/linux_aarch64_aarch64_gcc.zip
)
else()
message(FATAL_ERROR "Unsupported System: currently support is for Linux x86_64 and Linux aarch64. Detected ${CMAKE_SYSTEM_NAME} and ${CMAKE_SYSTEM_PROCESSOR}")
endif()
FetchContent_MakeAvailable(kinova_binary_api)

project(kortex_driver)
Expand All @@ -28,16 +37,6 @@ find_package(pluginlib REQUIRED)
find_package(rclcpp REQUIRED)
find_package(kortex_api REQUIRED)

#Current: only support Linux x86_64
if(CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
set(API_URL https://artifactory.kinovaapps.com:443/artifactory/generic-public/kortex/API/2.5.0/linux_x86-64_x86_gcc.zip)
else()
# TODO(future) to support ARM or other builds logic could go here to fetch the precompiled libKortexApiCpp.a
# see notes in kortex_api CMakeList.txt
message(WARNING "Detected ${CMAKE_SYSTEM_NAME} and ${CMAKE_SYSTEM_PROCESSOR}")
message(FATAL_ERROR "Unsupported System: currently support is for Linux x68_64.")
endif()

# CMake does not allow IMPORTED libraries to be installed
# The package kortex_api will download and setup the include directories
add_library(KortexApiCpp STATIC IMPORTED)
Expand Down