Git Product home page Git Product logo

fastddsprebuild's Introduction

FastDDSPrebuild

Prebuilt Eprosima Fast-DDS (formerly FastRTPS) library for Apple platforms.

Supported platforms and architectures

Platform Architectures
macOS x86_64 arm64
iOS arm64
iOS Simulator x86_64 arm64
Mac Catalyst x86_64 arm64
xrOS arm64
xrOS Simulator arm64

Usage

Add line to you package.swift dependencies:

.package(url: "https://github.com/DimaRU/FastDDSPrebuild.git", from: "2.0.0")

Right now used with the FastRTPSSwift library: https://github.com/DimaRU/FastRTPSSwift

Xcode 12 bug note!

Xcode 12 now has a bug that causes static library .a files to be copied into the app bundle. Add Run Script to your Xcode project with this commands:

# Remove static libs
ls -1 ${CODESIGNING_FOLDER_PATH}/Contents/Frameworks/*.a
rm -f ${CODESIGNING_FOLDER_PATH}/Contents/Frameworks/*.a

Build your own repo from source

Requirements

  • Xcode 15
  • cmake 3.28
  • github cli. GitHub’s official command line tool.
  • xczip. Create xcframework zip archive for Swift binary package.

Steps for build

  1. Install gh: brew install gh
  2. Install xczip: brew install DimaRU/formulae/xczip
  3. Authorize gh: gh auth
  4. Clone this repo
  5. Checkout script branch git switch script
  6. Make your own repo
  7. Run ./script/fastrtps_build_xctframework.sh repo_path v2.6.7 commit

fastddsprebuild's People

Contributors

dimaru avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

fastddsprebuild's Issues

it's supported for 2.6.0 ?

Hello,
I want to use Fast-DDS,I choose the version is 2.6.0,But this project can't build Fast-DDS For iOS.
So,it's supported for 2.6.0 ?

If not supported,can you help me How to change

Build with FastDDS 2.6.1 failed on macOS Sonoma 14.2.1

Hi DimaRU, thank you for sharing this amazing work!

I am trying to run the recommended command to build the binaries on macOS Sonoma 14.2.1, with

  • clang 15.0.0 (Apple clang version 15.0.0 (clang-1500.0.40.1))
  • boost 1.83 (installed by brew automatically, not by myself issuing the brew install command)
  • make 2.24.4
  • swift 5.9 (swift-driver version: 1.87.1 Apple Swift version 5.9 (swiftlang-5.9.0.128.108 clang-1500.0.40.1))

I created a fork and clone my fork to the local machine. Then I execute the following command

./script/fastrtps_build_xctframework.sh 2.6.1 commit

The build fails when compiling Fast-DDS/src/cpp/rtps/transport/shared_mem/test_SharedMemTransport.cpp with a boost-related error. The following is the block of printout

=== Beginning of printout. ===

CompileC /Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/temp/Fast-DDS/src/cpp/fastrtps.build/Release/fastrtps.build/Objects-normal/x86_64/test_SharedMemTransport.o /Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/src/Fast-DDS/src/cpp/rtps/transport/shared_mem/test_SharedMemTransport.cpp normal x86_64 c++ com.apple.compilers.llvm.clang.1_0.compiler (in target 'fastrtps' from project 'fastrtps')
    cd /Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/src/Fast-DDS
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -ivfsstatcache /var/folders/kr/jlkm0ww154q3947bc6fp82bh0000gn/C/com.apple.DeveloperTools/15.0.1-15A507/Xcode/SDKStatCaches.noindex/macosx14.0-23A334-4a76ee93ef69e462914ffe9883de22b8.sdkstatcache -target x86_64-apple-macos10.10 -fmessage-length\=245 -fdiagnostics-show-note-include-stack -fmacro-backtrace-limit\=0 -fcolor-diagnostics -Wno-trigraphs -fpascal-strings -O3 -Wno-missing-field-initializers -Wno-missing-prototypes -Wno-return-type -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wno-unused-variable -Wunused-value -Wno-empty-body -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wno-constant-conversion -Wno-int-conversion -Wno-bool-conversion -Wno-enum-conversion -Wno-float-conversion -Wno-non-literal-null-conversion -Wno-objc-literal-conversion -Wshorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -Wno-implicit-fallthrough -DCMAKE_INTDIR\=\"Release\" -DFASTRTPS_SOURCE -DBOOST_ASIO_STANDALONE -DASIO_STANDALONE -DASIO_DISABLE_VISIBILITY -DSQLITE_WIN32_GETVERSIONEX\=0 -DFOONATHAN_MEMORY\=1 -DFOONATHAN_MEMORY_VERSION_MAJOR\=0 -DFOONATHAN_MEMORY_VERSION_MINOR\=7 -DFOONATHAN_MEMORY_VERSION_PATCH\=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -Wno-sign-conversion -Wno-infinite-recursion -Wno-move -Wno-comma -Wno-block-capture-autoreleasing -Wno-strict-prototypes -Wno-range-loop-analysis -Wno-semicolon-before-method-body -I/Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/temp/Fast-DDS/src/cpp/Release/include -I/Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/src/Fast-DDS/thirdparty/nlohmann-json -I/Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/src/Fast-DDS/thirdparty/filewatch -I/Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/src/Fast-DDS/include -I/Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/temp/Fast-DDS/include -I/Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/temp/Fast-DDS/include/fastrtps -I/Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/src/Fast-DDS/src/cpp -I/opt/homebrew/include -I/Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/src/Fast-DDS/thirdparty/boost/include -I/Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/src/Fast-DDS/thirdparty/taocpp-pegtl -I/Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/src/Fast-DDS/thirdparty/fastcdr/include -I/Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/temp/Fast-DDS/thirdparty/fastcdr/include -isystem /Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/macosx/include/foonathan_memory -isystem /opt/homebrew/opt/openssl@3/include -I/Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/temp/Fast-DDS/src/cpp/fastrtps.build/Release/fastrtps.build/DerivedSources-normal/x86_64 -I/Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/temp/Fast-DDS/src/cpp/fastrtps.build/Release/fastrtps.build/DerivedSources/x86_64 -I/Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/temp/Fast-DDS/src/cpp/fastrtps.build/Release/fastrtps.build/DerivedSources -F/Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/temp/Fast-DDS/src/cpp/Release -Wall -pedantic -Wextra -Wno-unknown-pragmas -Wno-error\=deprecated-declarations -DNDEBUG -std\=c++11 -std\=gnu++11 -MMD -MT dependencies -MF /Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/temp/Fast-DDS/src/cpp/fastrtps.build/Release/fastrtps.build/Objects-normal/x86_64/test_SharedMemTransport.d --serialize-diagnostics /Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/temp/Fast-DDS/src/cpp/fastrtps.build/Release/fastrtps.build/Objects-normal/x86_64/test_SharedMemTransport.dia -c /Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/src/Fast-DDS/src/cpp/rtps/transport/shared_mem/test_SharedMemTransport.cpp -o /Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/temp/Fast-DDS/src/cpp/fastrtps.build/Release/fastrtps.build/Objects-normal/x86_64/test_SharedMemTransport.o
In file included from /Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/src/Fast-DDS/src/cpp/rtps/transport/shared_mem/test_SharedMemTransport.cpp:15:
In file included from /Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/src/Fast-DDS/src/cpp/rtps/transport/shared_mem/test_SharedMemTransport.h:18:
In file included from /Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/src/Fast-DDS/src/cpp/rtps/transport/shared_mem/SharedMemTransport.h:21:
In file included from /Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/src/Fast-DDS/src/cpp/rtps/transport/shared_mem/SharedMemManager.hpp:22:
In file included from /Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/src/Fast-DDS/src/cpp/rtps/transport/shared_mem/SharedMemGlobal.hpp:23:
In file included from /Users/yaoyuh/Projects_iOS/FastDDSPrebuild-huyaoyu/build/src/Fast-DDS/src/cpp/utils/shared_memory/SharedMemSegment.hpp:28:
In file included from /opt/homebrew/include/boost/interprocess/managed_shared_memory.hpp:33:
In file included from /opt/homebrew/include/boost/interprocess/sync/mutex_family.hpp:25:
In file included from /opt/homebrew/include/boost/interprocess/sync/interprocess_mutex.hpp:32:
/opt/homebrew/include/boost/interprocess/sync/detail/common_algorithms.hpp:49:13: error: implicit instantiation of undefined template 'boost::interprocess::ipcdetail::microsec_clock<boost::date_time::special_values>'
      while(microsec_clock<TimePoint>::universal_time() < abs_time){
            ^

=== End of printout. ===
And I also attached the full build log.

build.log

Seems like some C++ version and boost version issue. Could you help me on resolving this?

Thank you!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.