From f35b3206970c330164a82c71224d1a1bc670f955 Mon Sep 17 00:00:00 2001 From: Miguel Company Date: Mon, 6 Oct 2025 11:05:53 +0200 Subject: [PATCH 1/2] Set versions in repos file Signed-off-by: Miguel Company --- fastdds_python.repos | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/fastdds_python.repos b/fastdds_python.repos index 0fe5ff75..17dc4773 100644 --- a/fastdds_python.repos +++ b/fastdds_python.repos @@ -2,20 +2,20 @@ repositories: foonathan_memory_vendor: type: git url: https://github.com/eProsima/foonathan_memory_vendor.git - version: master + version: v1.3.1 fastcdr: type: git url: https://github.com/eProsima/Fast-CDR.git - version: master + version: v2.3.2 fastdds: type: git url: https://github.com/eProsima/Fast-DDS.git - version: master + version: v3.4.0 fastdds_python: type: git url: https://github.com/eProsima/Fast-DDS-python.git - version: main + version: v2.4.0 fastddsgen: type: git url: https://github.com/eProsima/Fast-DDS-Gen.git - version: master + version: v4.2.0 From 5dbfaf2eda5aebc3717e2ddaab1b063cdedab868 Mon Sep 17 00:00:00 2001 From: Tuguberk Date: Tue, 12 May 2026 13:32:32 +0300 Subject: [PATCH 2/2] Fix SWIGWORDSIZE64 incorrectly set on macOS, breaking arm64 builds On macOS (including Apple Silicon arm64), the system defines uint64_t as `unsigned long long` in . However, SWIG's stdint.i maps uint64_t to `unsigned long` when SWIGWORDSIZE64 is defined. The previous condition `UNIX AND CMAKE_SIZEOF_VOID_P EQUAL 8` evaluates to true on macOS because macOS is a POSIX-compliant 64-bit OS. This causes SWIG to define uint64_t as `unsigned long`, while the compiler sees it as `unsigned long long`, producing type mismatch errors in the generated fastddsPYTHON_wrap.cxx: error: cannot initialize return object of type 'std::vector *' with an rvalue of type 'std::vector *' The fix excludes Apple platforms from setting SWIGWORDSIZE64. On Linux x86_64 and aarch64, uint64_t is `unsigned long`, so SWIGWORDSIZE64 remains correct there. On macOS, SWIG's fallback (unsigned long long) matches the system definition. Tested on macOS 15 (Sequoia) with Apple Silicon (arm64), SWIG 4.4.1, Clang 17, FastDDS 3.4.0. Signed-off-by: Tuguberk --- fastdds_python/src/swig/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fastdds_python/src/swig/CMakeLists.txt b/fastdds_python/src/swig/CMakeLists.txt index e8dc028a..a4c7b062 100644 --- a/fastdds_python/src/swig/CMakeLists.txt +++ b/fastdds_python/src/swig/CMakeLists.txt @@ -52,7 +52,7 @@ swig_add_library(${PROJECT_NAME} ${${PROJECT_NAME}_FILE} ) -if(UNIX AND CMAKE_SIZEOF_VOID_P EQUAL 8) +if(UNIX AND NOT APPLE AND CMAKE_SIZEOF_VOID_P EQUAL 8) set_property(TARGET ${PROJECT_NAME} PROPERTY SWIG_COMPILE_DEFINITIONS SWIGWORDSIZE64 )