chaquo / chaquopy

Chaquopy: the Python SDK for Android
https://chaquo.com/chaquopy/
MIT License
776 stars 130 forks source link

FCWT wheel build issue #1214

Open mohdahmad242 opened 1 month ago

mohdahmad242 commented 1 month ago

I am trying to install FCWT, Dependencies

Chaquopy always tries to download NDK version 22.1.7171670, which supports Clang 11.0.5.
FCWT supports a higher version also, OpenMP 5 is not supported with Clang 11.0.5.

meta.yaml

package:
  name: fCWT
  version: "0.1.18"

build:
  number: 1

I am getting this error -

build-wheel: cd /home/mahma38/Desktop/safe_natal/chaquopy/server/pypi/packages/fcwt_android/build/0.1.18 build-wheel: Reusing existing build directory due to --no-unpack build-wheel: abi=arm64-v8a; api_level=24; prefix=/home/mahma38/Desktop/safe_natal/chaquopy/server/pypi/packages/fcwt_android/build/0.1.18/cp39-cp39-android_24_arm64_v8a/requirements/chaquopy; . /home/mahma38/Desktop/safe_natal/chaquopy/server/pypi/../../target/build-common.sh; export build-wheel: /home/mahma38/Desktop/safe_natal/chaquopy/maven/android-sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar rc /home/mahma38/Desktop/safe_natal/chaquopy/server/pypi/packages/fcwt_android/build/0.1.18/cp39-cp39-android_24_arm64_v8a/requirements/chaquopy/lib/libpthread.a build-wheel: /home/mahma38/Desktop/safe_natal/chaquopy/maven/android-sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar rc /home/mahma38/Desktop/safe_natal/chaquopy/server/pypi/packages/fcwt_android/build/0.1.18/cp39-cp39-android_24_arm64_v8a/requirements/chaquopy/lib/librt.a build-wheel: cd /home/mahma38/Desktop/safe_natal/chaquopy/server/pypi/packages/fcwt_android/build/0.1.18/cp39-cp39-android_24_arm64_v8a/src build-wheel: Building with PEP 517 running bdist_wheel running build running build_py running egg_info writing fCWT.egg-info/PKG-INFO writing dependency_links to fCWT.egg-info/dependency_links.txt writing requirements to fCWT.egg-info/requires.txt writing top-level names to fCWT.egg-info/top_level.txt reading manifest file 'fCWT.egg-info/SOURCES.txt' adding license file 'LICENSE.txt' writing manifest file 'fCWT.egg-info/SOURCES.txt' copying src/fcwt/fcwt.cpp -> build/lib.linux_aarch64-cpython-39/fcwt copying src/fcwt/omp.h -> build/lib.linux_aarch64-cpython-39/fcwt running build_ext building 'fcwt._fcwt' extension /home/mahma38/Desktop/safe_natal/chaquopy/server/pypi/packages/fcwt_android/build/0.1.18/cp39-cp39-android_24_arm64_v8a/wrappers/aarch64-linux-android24-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -idirafter /home/mahma38/Desktop/safe_natal/chaquopy/server/pypi/packages/fcwt_android/build/0.1.18/cp39-cp39-android_24_arm64_v8a/requirements/chaquopy/include -idirafter /home/mahma38/Desktop/safe_natal/chaquopy/server/pypi/packages/fcwt_android/build/0.1.18/cp39-cp39-android_24_arm64_v8a/requirements/chaquopy/include/python3.9 -fPIC -Isrc/fcwt -Isrc -Ilibs -I/home/mahma38/Desktop/safe_natal/chaquopy/server/pypi/packages/fcwt_android/build/0.1.18/cp39-cp39-android_24_arm64_v8a/env/lib/python3.9/site-packages/numpy/_core/include -I/home/mahma38/Desktop/safe_natal/chaquopy/server/pypi/packages/fcwt_android/build/0.1.18/cp39-cp39-android_24_arm64_v8a/env/include -I/home/mahma38/anaconda3/include/python3.9 -c src/fcwt/fcwt.cpp -o build/temp.linux_aarch64-cpython-39/src/fcwt/fcwt.o -std=c++17 -mavx -O3 Chaquopy: ignored invalid -I directory: '/home/mahma38/anaconda3/include/python3.9' clang: warning: argument unused during compilation: '-mavx' [-Wunused-command-line-argument] src/fcwt/fcwt.cpp:203:9: warning: unused variable 'endpoint4' [-Wunused-variable] int endpoint4 = endpoint>>2; ^ 1 warning generated. /home/mahma38/Desktop/safe_natal/chaquopy/server/pypi/packages/fcwt_android/build/0.1.18/cp39-cp39-android_24_arm64_v8a/wrappers/aarch64-linux-android24-clang -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG -g -fwrapv -O3 -Wall -idirafter /home/mahma38/Desktop/safe_natal/chaquopy/server/pypi/packages/fcwt_android/build/0.1.18/cp39-cp39-android_24_arm64_v8a/requirements/chaquopy/include -idirafter /home/mahma38/Desktop/safe_natal/chaquopy/server/pypi/packages/fcwt_android/build/0.1.18/cp39-cp39-android_24_arm64_v8a/requirements/chaquopy/include/python3.9 -fPIC -Isrc/fcwt -Isrc -Ilibs -I/home/mahma38/Desktop/safe_natal/chaquopy/server/pypi/packages/fcwt_android/build/0.1.18/cp39-cp39-android_24_arm64_v8a/env/lib/python3.9/site-packages/numpy/_core/include -I/home/mahma38/Desktop/safe_natal/chaquopy/server/pypi/packages/fcwt_android/build/0.1.18/cp39-cp39-android_24_arm64_v8a/env/include -I/home/mahma38/anaconda3/include/python3.9 -c src/fcwt/fcwt_wrap.cxx -o build/temp.linux_aarch64-cpython-39/src/fcwt/fcwt_wrap.o -std=c++17 -mavx -O3 Chaquopy: ignored invalid -I directory: '/home/mahma38/anaconda3/include/python3.9' clang: warning: argument unused during compilation: '-mavx' [-Wunused-command-line-argument] src/fcwt/fcwt_wrap.cxx:4203:3: warning: delete called on non-final 'Wavelet' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor] delete arg1; ^ src/fcwt/fcwt_wrap.cxx:4526:3: warning: delete called on non-final 'Morlet' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor] delete arg1; ^ 2 warnings generated. /home/mahma38/Desktop/safe_natal/chaquopy/server/pypi/packages/fcwt_android/build/0.1.18/cp39-cp39-android_24_arm64_v8a/wrappers/aarch64-linux-android24-clang++ -shared -L/home/mahma38/Desktop/safe_natal/chaquopy/server/pypi/packages/fcwt_android/build/0.1.18/cp39-cp39-android_24_arm64_v8a/requirements/chaquopy/lib -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libgcc_real.a -Wl,--exclude-libs,libunwind.a -Wl,--build-id=sha1 -Wl,--no-rosegment -lm -Wl,--no-undefined -lpython3.9 -idirafter /home/mahma38/Desktop/safe_natal/chaquopy/server/pypi/packages/fcwt_android/build/0.1.18/cp39-cp39-android_24_arm64_v8a/requirements/chaquopy/include -idirafter /home/mahma38/Desktop/safe_natal/chaquopy/server/pypi/packages/fcwt_android/build/0.1.18/cp39-cp39-android_24_arm64_v8a/requirements/chaquopy/include/python3.9 build/temp.linux_aarch64-cpython-39/src/fcwt/fcwt.o build/temp.linux_aarch64-cpython-39/src/fcwt/fcwt_wrap.o -Lsrc/fcwt -Lsrc -Llibs -lfftw3fl -lfftw3f_ompl -o build/lib.linux_aarch64-cpython-39/fcwt/_fcwt.cpython-39-x86_64-linux-gnu.so -lomp -fopenmp -v Android (7155654, based on r399163b1) clang version 11.0.5 (https://android.googlesource.com/toolchain/llvm-project 87f1315dfbea7c137aa2e6d362dbb457e388158d) Target: aarch64-unknown-linux-android24 Thread model: posix InstalledDir: /home/mahma38/Desktop/safe_natal/chaquopy/maven/android-sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/bin Found candidate GCC installation: /home/mahma38/Desktop/safe_natal/chaquopy/maven/android-sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9.x Selected GCC installation: /home/mahma38/Desktop/safe_natal/chaquopy/maven/android-sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9.x Candidate multilib: .;@m64 Selected multilib: .;@m64 Found CUDA installation: /usr/local/cuda-11.4, version 7.0 "/home/mahma38/Desktop/safe_natal/chaquopy/maven/android-sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/bin/ld" -z noexecstack -EL --fix-cortex-a53-843419 --warn-shared-textrel -z now -z relro -z max-page-size=4096 --hash-style=gnu --enable-new-dtags --eh-frame-hdr -m aarch64linux -shared -o build/lib.linux_aarch64-cpython-39/fcwt/_fcwt.cpython-39-x86_64-linux-gnu.so /home/mahma38/Desktop/safe_natal/chaquopy/maven/android-sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/lib/aarch64-linux-android/24/crtbegin_so.o -L/home/mahma38/Desktop/safe_natal/chaquopy/server/pypi/packages/fcwt_android/build/0.1.18/cp39-cp39-android_24_arm64_v8a/requirements/chaquopy/lib -Lsrc/fcwt -Lsrc -Llibs -L/home/mahma38/Desktop/safe_natal/chaquopy/maven/android-sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/lib64/clang/11.0.5/lib/linux/aarch64 -L/home/mahma38/Desktop/safe_natal/chaquopy/maven/android-sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9.x -L/home/mahma38/Desktop/safe_natal/chaquopy/maven/android-sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/lib/../lib64 -L/home/mahma38/Desktop/safe_natal/chaquopy/maven/android-sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/lib/aarch64-linux-android/24 -L/home/mahma38/Desktop/safe_natal/chaquopy/maven/android-sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/lib/aarch64-linux-android -L/home/mahma38/Desktop/safe_natal/chaquopy/maven/android-sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/bin/../lib/gcc/aarch64-linux-android/4.9.x/../../../../aarch64-linux-android/lib -L/home/mahma38/Desktop/safe_natal/chaquopy/maven/android-sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/lib --exclude-libs libgcc.a --exclude-libs libgcc_real.a --exclude-libs libunwind.a --build-id=sha1 --no-rosegment -lm --no-undefined -lpython3.9 build/temp.linux_aarch64-cpython-39/src/fcwt/fcwt.o build/temp.linux_aarch64-cpython-39/src/fcwt/fcwt_wrap.o -lfftw3fl -lfftw3f_ompl -lomp -lc++ -lm -lomp -lgcc -ldl -lc -lgcc -ldl /home/mahma38/Desktop/safe_natal/chaquopy/maven/android-sdk/ndk/22.1.7171670/toolchains/llvm/prebuilt/linux-x86_64/bin/../sysroot/usr/lib/aarch64-linux-android/24/crtend_so.o ld: error: undefined symbol: omp_aligned_alloc >>> referenced by fcwt.cpp:402 (src/fcwt/fcwt.cpp:402) >>> build/temp.linux_aarch64-cpython-39/src/fcwt/fcwt.o:(FCWT::convolve(fftwf_plan_s, float () [2], float () [2], std::__ndk1::complex, Wavelet, int, int, float, bool)) >>> referenced by fcwt.cpp:461 (src/fcwt/fcwt.cpp:461) >>> build/temp.linux_aarch64-cpython-39/src/fcwt/fcwt.o:(FCWT::cwt(float, int, std::__ndk1::complex, Scales, bool)) >>> referenced by fcwt.cpp:462 (src/fcwt/fcwt.cpp:462) >>> build/temp.linux_aarch64-cpython-39/src/fcwt/fcwt.o:(FCWT::cwt(float, int, std::__ndk1::complex, Scales*, bool)) clang++: error: linker command failed with exit code 1 (use -v to see invocation) error: command '/home/mahma38/Desktop/safe_natal/chaquopy/server/pypi/packages/fcwt_android/build/0.1.18/cp39-cp39-android_24_arm64_v8a/wrappers/aarch64-linux-android24-clang++' failed with exit code 1 build-wheel: Error: Backend subprocess exited when trying to invoke build_wheel

How to resolve this issue?

mohdahmad242 commented 1 month ago

@mhsmith, can you please take a look at this?

mhsmith commented 1 month ago

Dependencies

Chaquopy always tries to download NDK version 22.1.7171670, which supports Clang 11.0.5. FCWT supports a higher version also, OpenMP 5 is not supported with Clang 11.0.5.

Then it sounds like you'll have to try a newer version of the NDK. You can change its version number in chaquopy/target/build-common.sh.