Skip to content

livekit: Use our build of libwebrtc.a#51433

Merged
kubkon merged 4 commits intomainfrom
kubkon/push-qukyoxlq
Mar 16, 2026
Merged

livekit: Use our build of libwebrtc.a#51433
kubkon merged 4 commits intomainfrom
kubkon/push-qukyoxlq

Conversation

@kubkon
Copy link
Copy Markdown
Member

@kubkon kubkon commented Mar 12, 2026

Closes #51339

This should address issues with too new libstdc++.so on older/more conservative distros such as RHEL9.

Release Notes:

  • Relaxed requirement for libstdc++.so available on Linux distros.

@cla-bot cla-bot Bot added the cla-signed The user has signed the Contributor License Agreement label Mar 12, 2026
@zed-community-bot zed-community-bot Bot added the staff Pull requests authored by a current member of Zed staff label Mar 12, 2026
@zed-codeowner-coordinator zed-codeowner-coordinator Bot requested a review from a team March 12, 2026 22:51
@kubkon kubkon added run-bundling Configures PR to run the bundle step run-nix Configures PR to run nix CI staff Pull requests authored by a current member of Zed staff and removed staff Pull requests authored by a current member of Zed staff run-bundling Configures PR to run the bundle step run-nix Configures PR to run nix CI labels Mar 12, 2026
@kubkon kubkon force-pushed the kubkon/push-qukyoxlq branch 2 times, most recently from 4c1d277 to 8de82d9 Compare March 12, 2026 23:23
@kubkon kubkon force-pushed the kubkon/push-qukyoxlq branch from 8de82d9 to 1ee1319 Compare March 13, 2026 06:13
@kubkon kubkon force-pushed the kubkon/push-qukyoxlq branch 7 times, most recently from c47c268 to 6b24880 Compare March 13, 2026 15:53
@kubkon kubkon merged commit be4d38a into main Mar 16, 2026
28 checks passed
@kubkon kubkon deleted the kubkon/push-qukyoxlq branch March 16, 2026 09:47
Comment thread script/bundle-linux
Comment on lines +77 to +85
# We need lld to link libwebrtc.a successfully on aarch64-linux.
# NOTE: Since RUSTFLAGS env var overrides all .cargo/config.toml rustflags
# (see https://github.com/rust-lang/cargo/issues/5376), the
# [target.aarch64-unknown-linux-gnu] section in config.toml has no effect here.
if [[ "$(uname -m)" == "aarch64" ]]; then
export RUSTFLAGS="${RUSTFLAGS:-} -C link-arg=-fuse-ld=lld -C link-args=-Wl,--disable-new-dtags,-rpath,\$ORIGIN/../lib"
else
export RUSTFLAGS="${RUSTFLAGS:-} -C link-args=-Wl,--disable-new-dtags,-rpath,\$ORIGIN/../lib"
fi
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kubkon did you try to run this binary on aarch64 linux?

I consistently segfault every time when I run libexec/zed-editor

from codex:

  What I found from the binaries:

  - The known-good artifact you gave me runs normally under qemu-aarch64.
  - The broken current nightly crashes in __libc_csu_init because 7 constructor pointers in .init_array stay null.
  - Good binary:
      - no .crel.* sections
      - .init_array has 1374 entries
      - all 1374 have normal R_AARCH64_RELATIVE coverage
  - Broken binary:
      - has new .crel.* sections, including .crel.init_array
      - .init_array has 1383 entries
      - only 1376 are covered by normal dynamic RELA relocations
      - the missing 7 line up with the .crel.init_array payload

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't but thanks for letting me know. I will take a look!

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@maan2003 I am working on a fix - it's pretty simple conceptually. Since CREL is an optimisation of sorts, let's disable it when building libwebrtc.a. I am halfway there - generating the static lib now, will then update our fork of livekit and Zed, and provide you with a link to test nightly build that I would very much appreciate if you could test on your end.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

awesome, I am happy to test. just ping me.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kubkon it works

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perfect, thanks for checking!

piper-of-dawn pushed a commit to piper-of-dawn/zed that referenced this pull request Apr 25, 2026
Closes zed-industries#51339

This should address issues with too new libstdc++.so on older/more
conservative distros such as RHEL9.

Release Notes:

- Relaxed requirement for libstdc++.so available on Linux distros.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed The user has signed the Contributor License Agreement run-bundling Configures PR to run the bundle step staff Pull requests authored by a current member of Zed staff

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Zed no longer launches starting with v0.227.1 on RHEL

2 participants