Fangjun Kuang
Committed by GitHub

Support 16KB page size for Android (#2520)

@@ -59,6 +59,9 @@ jobs: @@ -59,6 +59,9 @@ jobs:
59 export ANDROID_NDK=$ANDROID_NDK_LATEST_HOME 59 export ANDROID_NDK=$ANDROID_NDK_LATEST_HOME
60 export SHERPA_ONNX_ENABLE_C_API=ON 60 export SHERPA_ONNX_ENABLE_C_API=ON
61 ./build-android-arm64-v8a.sh 61 ./build-android-arm64-v8a.sh
  62 +
  63 + readelf -l ./build-android-arm64-v8a/install/lib/*.so
  64 +
62 mkdir -p jniLibs/arm64-v8a/ 65 mkdir -p jniLibs/arm64-v8a/
63 cp -v ./build-android-arm64-v8a/install/lib/*.so ./jniLibs/arm64-v8a/ 66 cp -v ./build-android-arm64-v8a/install/lib/*.so ./jniLibs/arm64-v8a/
64 cp -v ./build-android-arm64-v8a/install/lib/README.md ./jniLibs/arm64-v8a/ 67 cp -v ./build-android-arm64-v8a/install/lib/README.md ./jniLibs/arm64-v8a/
@@ -74,6 +77,9 @@ jobs: @@ -74,6 +77,9 @@ jobs:
74 export SHERPA_ONNX_ENABLE_C_API=ON 77 export SHERPA_ONNX_ENABLE_C_API=ON
75 ./build-android-armv7-eabi.sh 78 ./build-android-armv7-eabi.sh
76 mkdir -p ./jniLibs/armeabi-v7a/ 79 mkdir -p ./jniLibs/armeabi-v7a/
  80 +
  81 + readelf -l ./build-android-armv7-eabi/install/lib/*.so
  82 +
77 cp -v ./build-android-armv7-eabi/install/lib/*.so ./jniLibs/armeabi-v7a/ 83 cp -v ./build-android-armv7-eabi/install/lib/*.so ./jniLibs/armeabi-v7a/
78 cp -v ./build-android-armv7-eabi/install/lib/README.md ./jniLibs/armeabi-v7a/ 84 cp -v ./build-android-armv7-eabi/install/lib/README.md ./jniLibs/armeabi-v7a/
79 rm -rf ./build-android-armv7-eabi 85 rm -rf ./build-android-armv7-eabi
@@ -87,6 +93,9 @@ jobs: @@ -87,6 +93,9 @@ jobs:
87 export ANDROID_NDK=$ANDROID_NDK_LATEST_HOME 93 export ANDROID_NDK=$ANDROID_NDK_LATEST_HOME
88 export SHERPA_ONNX_ENABLE_C_API=ON 94 export SHERPA_ONNX_ENABLE_C_API=ON
89 ./build-android-x86-64.sh 95 ./build-android-x86-64.sh
  96 +
  97 + readelf -l ./build-android-x86-64/install/lib/*.so
  98 +
90 mkdir -p ./jniLibs/x86_64 99 mkdir -p ./jniLibs/x86_64
91 cp -v ./build-android-x86-64/install/lib/*.so ./jniLibs/x86_64 100 cp -v ./build-android-x86-64/install/lib/*.so ./jniLibs/x86_64
92 cp -v ./build-android-x86-64/install/lib/README.md ./jniLibs/x86_64 101 cp -v ./build-android-x86-64/install/lib/README.md ./jniLibs/x86_64
@@ -101,6 +110,9 @@ jobs: @@ -101,6 +110,9 @@ jobs:
101 export ANDROID_NDK=$ANDROID_NDK_LATEST_HOME 110 export ANDROID_NDK=$ANDROID_NDK_LATEST_HOME
102 export SHERPA_ONNX_ENABLE_C_API=ON 111 export SHERPA_ONNX_ENABLE_C_API=ON
103 ./build-android-x86.sh 112 ./build-android-x86.sh
  113 +
  114 + readelf -l ./build-android-x86/install/lib/*.so
  115 +
104 mkdir -p ./jniLibs/x86 116 mkdir -p ./jniLibs/x86
105 cp -v ./build-android-x86/install/lib/*.so ./jniLibs/x86 117 cp -v ./build-android-x86/install/lib/*.so ./jniLibs/x86
106 cp -v ./build-android-x86/install/lib/README.md ./jniLibs/x86 118 cp -v ./build-android-x86/install/lib/README.md ./jniLibs/x86
@@ -143,6 +143,12 @@ if(CMAKE_SYSTEM_NAME STREQUAL OHOS) @@ -143,6 +143,12 @@ if(CMAKE_SYSTEM_NAME STREQUAL OHOS)
143 set(CMAKE_C_FLAGS "-Wno-unused-command-line-argument ${CMAKE_C_FLAGS}") 143 set(CMAKE_C_FLAGS "-Wno-unused-command-line-argument ${CMAKE_C_FLAGS}")
144 endif() 144 endif()
145 145
  146 +if(ANDROID)
  147 + # see https://github.com/microsoft/onnxruntime/pull/22076
  148 + # https://github.com/k2-fsa/sherpa-onnx/issues/2413
  149 + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,-z,max-page-size=16384")
  150 +endif()
  151 +
146 message(STATUS "CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}") 152 message(STATUS "CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
147 message(STATUS "CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX}") 153 message(STATUS "CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX}")
148 message(STATUS "BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS}") 154 message(STATUS "BUILD_SHARED_LIBS ${BUILD_SHARED_LIBS}")
@@ -143,7 +143,7 @@ def get_models(): @@ -143,7 +143,7 @@ def get_models():
143 model_name="sherpa-onnx-streaming-zipformer-zh-14M-2023-02-23", 143 model_name="sherpa-onnx-streaming-zipformer-zh-14M-2023-02-23",
144 idx=9, 144 idx=9,
145 lang="zh", 145 lang="zh",
146 - short_name="small_zipformer", 146 + short_name="small_zipformer_14M_2023_02_23",
147 rule_fsts="itn_zh_number.fst", 147 rule_fsts="itn_zh_number.fst",
148 cmd=""" 148 cmd="""
149 if [ ! -f itn_zh_number.fst ]; then 149 if [ ! -f itn_zh_number.fst ]; then
@@ -167,7 +167,7 @@ def get_models(): @@ -167,7 +167,7 @@ def get_models():
167 model_name="sherpa-onnx-streaming-zipformer-en-20M-2023-02-17", 167 model_name="sherpa-onnx-streaming-zipformer-en-20M-2023-02-17",
168 idx=10, 168 idx=10,
169 lang="en", 169 lang="en",
170 - short_name="small_zipformer", 170 + short_name="small_zipformer_20M_2023_02_17",
171 cmd=""" 171 cmd="""
172 pushd $model_name 172 pushd $model_name
173 rm -fv encoder-epoch-99-avg-1.onnx 173 rm -fv encoder-epoch-99-avg-1.onnx
@@ -267,7 +267,7 @@ def get_models(): @@ -267,7 +267,7 @@ def get_models():
267 model_name="sherpa-onnx-streaming-zipformer-small-ctc-zh-int8-2025-04-01", 267 model_name="sherpa-onnx-streaming-zipformer-small-ctc-zh-int8-2025-04-01",
268 idx=15, 268 idx=15,
269 lang="zh", 269 lang="zh",
270 - short_name="int8_small_zipformer", 270 + short_name="int8_small_zipformer_2025_04_01",
271 rule_fsts="itn_zh_number.fst", 271 rule_fsts="itn_zh_number.fst",
272 cmd=""" 272 cmd="""
273 if [ ! -f itn_zh_number.fst ]; then 273 if [ ! -f itn_zh_number.fst ]; then
@@ -287,7 +287,7 @@ def get_models(): @@ -287,7 +287,7 @@ def get_models():
287 model_name="sherpa-onnx-streaming-zipformer-small-ctc-zh-2025-04-01", 287 model_name="sherpa-onnx-streaming-zipformer-small-ctc-zh-2025-04-01",
288 idx=16, 288 idx=16,
289 lang="zh", 289 lang="zh",
290 - short_name="small_zipformer", 290 + short_name="small_zipformer_2025_04_01",
291 rule_fsts="itn_zh_number.fst", 291 rule_fsts="itn_zh_number.fst",
292 cmd=""" 292 cmd="""
293 if [ ! -f itn_zh_number.fst ]; then 293 if [ ! -f itn_zh_number.fst ]; then
@@ -443,7 +443,7 @@ def get_models(): @@ -443,7 +443,7 @@ def get_models():
443 model_name="sherpa-onnx-streaming-zipformer-small-ru-vosk-int8-2025-08-16", 443 model_name="sherpa-onnx-streaming-zipformer-small-ru-vosk-int8-2025-08-16",
444 idx=25, 444 idx=25,
445 lang="ru", 445 lang="ru",
446 - short_name="small_zipformer_int8", 446 + short_name="small_zipformer_int8_2025_08_16",
447 cmd=""" 447 cmd="""
448 pushd $model_name 448 pushd $model_name
449 rm -rf test_wavs 449 rm -rf test_wavs
@@ -458,7 +458,7 @@ def get_models(): @@ -458,7 +458,7 @@ def get_models():
458 model_name="sherpa-onnx-streaming-zipformer-small-ru-vosk-2025-08-16", 458 model_name="sherpa-onnx-streaming-zipformer-small-ru-vosk-2025-08-16",
459 idx=26, 459 idx=26,
460 lang="ru", 460 lang="ru",
461 - short_name="small_zipformer", 461 + short_name="small_zipformer_2025_08_16",
462 cmd=""" 462 cmd="""
463 pushd $model_name 463 pushd $model_name
464 rm -rf test_wavs 464 rm -rf test_wavs