This message was deleted.
# sdk-rust
s
This message was deleted.
e
I guess it should be cross-compiled?
FileNotFoundError: [Errno 2] No such file or directory: 'xcodebuild'
nope, seems to expect to run on a mac
AFAICT things changed on the macos sdk since 13+
I'm afraid the solution is "build using macos < 13"
are you using a more recent macos?
b
Hey, I’m using MacOS 13.4 so it should work, but
build_macos.sh
is not intended to work with
LK_CUSTOM_WEBRTC
. When developing it is just easier to build webrtc yourself without the script. This part is not documented, I’m going to make a PR
Oh you’re using an older version of MacOS?
e
nope, latest version, but it doesn't build 😢
b
You can try to remove this line, I remember having the same issue
e
would you mind sharing some notes on how you are doing to compile
libwebrtc
in this workflow (I'm developing inside the
client-sdk-rust
)?
👍 1
uhhh will give it a try!
b
Yes, I’ll do that inside the webrtc-sys readme
🙌 1
e
awesome! thank you!
I'm currently doing everything on linux because I managed to get it building there
btw: is there any resource you recommend to use to learn these libwebrtc api's / architecture / inner workings?
b
There is this doc but unfortunately, I don’t think there is a detailed documentation, I think the best way to understand things is to read the code.
👍 1
e
awesome, thank you theo!
🙏 1
out of curiosity: for how long have you been working with this codebase? you kick butt!
😀 1
well... managed to compile libwebrtc on mac, but then it fails to link to the
wgpu_room
example
linker error I'm getting when attempting to compile `wgpu_room`:
Copy code
...
  = note: Undefined symbols for architecture arm64:
            "rtc::TaskQueue::PostTask(std::__1::unique_ptr<webrtc::QueuedTask, std::__1::default_delete<webrtc::QueuedTask>>)", referenced from:
                void rtc::TaskQueue::PostTask<livekit::AudioDevice::Terminate()::$_2, (void*)0>(livekit::AudioDevice::Terminate()::$_2&&) in libwebrtc_sys-d1e5496f9c87a1b6.rlib(audio_device.o)
            "rtc::TaskQueue::TaskQueue(std::__1::unique_ptr<webrtc::TaskQueueBase, webrtc::TaskQueueDeleter>)", referenced from:
                std::__1::__unique_if<rtc::TaskQueue>::__unique_single std::__1::make_unique[abi:v15006]<rtc::TaskQueue, std::__1::unique_ptr<webrtc::TaskQueueBase, webrtc::TaskQueueDeleter>>(std::__1::unique_ptr<webrtc::TaskQueueBase, webrtc::TaskQueueDeleter>&&) in libwebrtc_sys-d1e5496f9c87a1b6.rlib(audio_device.o)
            "webrtc::CreateIceCandidate(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, int, cricket::Candidate const&)", referenced from:
                livekit::NativePeerConnectionObserver::OnIceCandidate(webrtc::IceCandidateInterface const*) in libwebrtc_sys-d1e5496f9c87a1b6.rlib(peer_connection.o)
            "webrtc::CreateIceCandidate(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, webrtc::SdpParseError*)", referenced from:
                livekit::create_ice_candidate(rust::cxxbridge1::String, int, rust::cxxbridge1::String) in libwebrtc_sys-d1e5496f9c87a1b6.rlib(jsep.o)
            "webrtc::CreateSessionDescription(webrtc::SdpType, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&, webrtc::SdpParseError*)", referenced from:
                livekit::create_session_description(livekit::SdpType, rust::cxxbridge1::String) in libwebrtc_sys-d1e5496f9c87a1b6.rlib(jsep.o)
          ld: symbol(s) not found for architecture arm64
          clang: error: linker command failed with exit code 1 (use -v to see invocation)