-
Notifications
You must be signed in to change notification settings - Fork 3.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't compile ZED anymore using Vendor - error: failed to run custom build command for `webrtc-sys v0.3.5 #23247
Comments
|
Os: OpenMandriva Cooker, but same problem is also on OpenSuse Tumbleweed.
And yes, trying to build it outside of internet (unfortunately this is the policy of many linux systems, where the build must be performed without access to the network, using only libraries from the repository or vendored rust crates). |
I believe that livekit's rust sdk is this way because it uses a patched libwebrtc. So it downloads a statically linked build of it to avoid needing to require all the build deps / build time of libwebrtc. I wrote some docs after figuring out how to build with a patched version of libwebrtc, should be exactly what you need to build offline / fully from source: https://github.com/livekit/rust-sdks/blob/main/webrtc-sys/libwebrtc/README.md It does seem pretty non-ideal to have a download of a precompiled binary as part of the build process. I'm not sure what a clean solution would look like (I don't yet know how vendoring C via crates works) I recommend you use Zed's patched version. For some inscrutable reason, for me port numbers were getting serialized to gibberish, and this patch fixed the issue?!?! : So Zed's fork of libwebrtc includes both LiveKit's patches and this patch. |
…rtAsString()` Justification for this change is that `std::to_string` should be avoided as it uses the user's locale and calls to it get serialized, which is bad for concurrency. My actual motivation for this is quite bizarre. Before this change, with Zed's use of the LiveKit Rust SDK, I was getting connection strings that were not valid utf-8, instead having a port of `3\u0000\u0000\u001c\u0000`. I have not figured out how that could happen or why this change fixes it.
Check for existing issues
Describe the bug / provide steps to reproduce it
The last version of ZED that I managed to compile using the vendored rust crates was 0.164.2. Later versions give an error on compilation that says: failed to run custom build command for `webrtc-sys v0.3.5
Here is the error on Zed version 0.170.0-pre
Full build log: https://file-store.openmandriva.org/api/v1/file_stores/772278ed0f9367f6cf2c32e5396f4c7d272f3b49.log?show=true
I don't know what is visible in the livekit-rust-sdks log, but it is most likely not automatically added to the list of vendored rust dependencies.
In the vendor directory after executing "cargo vendor" I see only livekit, livekit-api, livekit-protocol and livekit-runtime, but there is no livekit-rust-sdk there...
The said webrtc-sys was vendored correctly.
I will add that I do not fully understand this error.
Does anyone know how to solve this?
Also looks like similar problem stopped opensuse package to build: https://build.opensuse.org/package/live_build_log/editors/zed/15.6/x86_64
Zed Version and System Specs
Zed from 0.166.0 to 0.170-pre
If applicable, add screenshots or screencasts of the incorrect state / behavior
No response
If applicable, attach your Zed.log file to this issue.
Zed.log
The text was updated successfully, but these errors were encountered: