Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion .clusterfuzzlite/build.sh

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.

Shouldn't this land separately? It doesn't seem related with the libuv update

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

No, this is required for the newer libuv to build on CI

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.

Do we know why?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yes, the fuzzer build does not use CMake, and the patch to the static lib was hardcoded in the build.sh.
The path of the libuv.a changed, and without this fix the final binary won't link, see:
https://github.com/nodejs/uvwasi/actions/runs/28291462616/job/83824055824

Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@ cd build
cmake ../
make uvwasi_a

LIBUV_A="$(find . -name 'libuv_a.a' -o -name 'libuv.a' | head -n1)"

$CC $CFLAGS $LIB_FUZZING_ENGINE ../.clusterfuzzlite/fuzz_normalize_path.c \
-o $OUT/fuzz_normalize_path \
./libuvwasi.a _deps/libuv-build/libuv_a.a \
./libuvwasi.a "$LIBUV_A" \
-I$SRC/uvwasi/include -I$PWD/_deps/libuv-src/include/
6 changes: 3 additions & 3 deletions .github/workflows/Android.yml

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.

Shouldn't this land separately? It doesn't seem related with the libuv update

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

No, this is required for the newer libuv to build on CI

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.

Do we know why?

@vshymanskyy vshymanskyy Jun 30, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Yes, libuv switched to using getifaddrs() that is only available on android-24 and up:
libuv/libuv@c8cbdbd

For reference, here's the failed Github Action without this change:
https://github.com/vshymanskyy/uvwasi/actions/runs/28289880098/job/83819965569

Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,16 @@ on: [push, pull_request]
jobs:
build-android:
runs-on: ubuntu-latest
container: reactnativecommunity/react-native-android:7.0
container: reactnativecommunity/react-native-android:v13.0
steps:
- uses: actions/checkout@v5
- name: Envinfo
run: npx envinfo
- name: Build android arm64
# see build options you can use in https://developer.android.com/ndk/guides/cmake
# quickly debug on your local docker
# docker run -it -v $PWD:/pwd reactnativecommunity/react-native-android:7.0 bash
# docker run -it -v $PWD:/pwd reactnativecommunity/react-native-android:v13.0 bash
run: |
mkdir build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_GRADLE/build/cmake/android.toolchain.cmake -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM=android-21 ..
cmake -DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake -DCMAKE_BUILD_TYPE=Release -DANDROID_ABI="arm64-v8a" -DANDROID_PLATFORM=android-24 ..
cmake --build .
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ project (
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")

# This can be a commit hash or tag
set(LIBUV_VERSION v1.44.2)
set(LIBUV_VERSION v1.52.1)

include(CMakeDependentOption)
cmake_dependent_option(BUILD_TESTING
Expand Down
Loading