Skip to content

Commit e3d1a61

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 9bfae94 commit e3d1a61

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
@@ -29,7 +29,7 @@ HAVE_TR1_UNORDERED_SET=OFF
2929
[homebrew]
3030
glog
3131

32-
# on ubuntu glog brings in liblzma-dev, which in turn breaks watchman tests
32+
# on ubuntu this pulls in libunwind < 1.8.0 which breaks watchman tests
3333
[debs.not(distro=ubuntu)]
3434
libgoogle-glog-dev
3535

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)