Skip to content

Commit 1147f06

Browse files
committed
Use system liblzma but bundled libunwind on Ubuntu
D66446570 disabled using the system liblzma, libunwind and glog packages on Ubuntu due to them causing watchman's tests to hang when run in GitHub Actions, and D86604386 confirmed this still happens with Ubuntu Noble. The original investigation noted that Fedora 40 didn't exhibit this behavior. The main difference I see is that Fedora 40 packages libunwind 1.8.0 while Ubuntu Jammy packages 1.3.2 and Noble 1.6.2. Fedora also doesn't build its libunwind with liblzma support. However, the autotools build system in libunwind tries to enable minidebuginfo support by default, which is what looks for liblzma, so the CI has been using libunwind built with liblzma support anyways. Thus I think the cause is not the liblzma package in Ubuntu but rather the old libunwind version. Building these deps from source via getdeps has been rather painful for OSS consumers since it produces shared object libraries that needs to be shipped alongside watchman. See #1276, #1273 for resulting complaints. Conveniently, as of last week we should automatically build and consume a static libunwind thanks to D93644457, so that issue should solve itself once GitHub Actions caches expire. So, let's allow using system liblzma on Ubuntu and update the other comments to incriminate libunwind instead of liblzma. Tested at https://github.com/mszabo-wikia/watchman/actions/runs/22643456785/job/65625279878?pr=1 Fixes #1276, fixes #1273.
1 parent f57df32 commit 1147f06

3 files changed

Lines changed: 3 additions & 4 deletions

File tree

build/fbcode_builder/manifests/glog

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ HAVE_TR1_UNORDERED_SET=OFF
2424
[homebrew]
2525
glog
2626

27-
# on ubuntu glog brings in liblzma-dev, which in turn breaks watchman tests
27+
# on ubuntu this pulls in libunwind < 1.8.0 which breaks watchman tests
2828
[debs.not(distro=ubuntu)]
2929
libgoogle-glog-dev
3030

build/fbcode_builder/manifests/libunwind

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ name = libunwind
55
libunwind-devel
66
libunwind
77

8-
# on ubuntu this brings in liblzma-dev, which in turn breaks watchman tests
8+
# libunwind < 1.8.0 breaks watchman tests
99
[debs.not(distro=ubuntu)]
1010
libunwind-dev
1111

build/fbcode_builder/manifests/xz

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
[manifest]
22
name = xz
33

4-
# ubuntu's package causes watchman's tests to hang
5-
[debs.not(distro=ubuntu)]
4+
[debs]
65
liblzma-dev
76

87
[homebrew]

0 commit comments

Comments
 (0)