@@ -79,6 +79,23 @@ if ! [ -f "/usr/local/bin/cmake" ]; then
7979 ln -s /usr/bin/cmake /usr/local/bin/cmake
8080fi
8181
82+ # Folly requires APIs newer than Ubuntu 22.04's liburing 2.1; pin 2.12 for reproducible builds.
83+ LIBURING_VERSION=" 2.12"
84+ if [ " $LINUX_DIST_ID " = " ubuntu" ] && ! PKG_CONFIG_LIBDIR=" ${TAO_BENCH_DEPS} /lib/pkgconfig" \
85+ pkg-config --atleast-version=" ${LIBURING_VERSION} " liburing; then
86+ LIBURING_ROOT=" ${TAO_BENCH_ROOT} /liburing-${LIBURING_VERSION} "
87+ if ! [ -d " ${LIBURING_ROOT} " ]; then
88+ git clone --branch " liburing-${LIBURING_VERSION} " --depth 1 \
89+ https://github.com/axboe/liburing.git " ${LIBURING_ROOT} "
90+ fi
91+ pushd " ${LIBURING_ROOT} "
92+ ./configure --prefix=" ${TAO_BENCH_DEPS} "
93+ make -j" ${NUM_BUILD_JOBS} "
94+ make liburing.pc
95+ make install
96+ popd
97+ fi
98+
8299# Install openssl
83100if ! [ -d " openssl" ]; then
84101 git clone --branch " ${OPENSSL_BRANCH} " --depth 1 https://github.com/openssl/openssl.git
@@ -129,6 +146,8 @@ sed -i 's/FOLLY_ALWAYS_INLINE//g' "${TAO_BENCH_ROOT}/folly/folly/experimental/sy
129146# Remove boost.log and boost.python from the build — they fail on aarch64 with GCC 14
130147# (log: build failure; python: incompatible with NumPy 2.0) and neither is needed by folly
131148sed -i ' /^--with-log$/d;/^--with-python$/d' build/fbcode_builder/manifests/boost
149+ CMAKE_PREFIX_PATH=" ${TAO_BENCH_DEPS} " \
150+ PKG_CONFIG_PATH=" ${TAO_BENCH_DEPS} /lib/pkgconfig" \
132151OPENSSL_ROOT_DIR=" ${TAO_BENCH_DEPS} " ./build/fbcode_builder/getdeps.py --allow-system-packages build \
133152 --extra-cmake-defines ' {"CMAKE_LIBRARY_ARCHITECTURE": "aarch64"}' \
134153 --scratch-path " ${FOLLY_BUILD_ROOT} "
0 commit comments