Intel® oneAPI Threading Building Blocks
Ask questions and share information about adding parallelism to your applications when using this threading library.
Announcements
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.

Can't compile TBB for ARM

Malyavko__Yan
Beginner
391 Views

Can't compile TBB for ARM on windows and ubuntu.
TBB ver.: 2018_U4
NDK: 15c 

Windows: 

Ubuntu:

It compiles about 5 minutes and stops after fibonacci test. It doesn't make any .so files in build folder.  


Ubuntu log's attached.
 

 

0 Kudos
6 Replies
Nikita_P_Intel
Employee
391 Views

Hi Yan, 

It looks like our makefiles require special environment variables to be set in the specific format. Please, define the NDK_ROOT=$PATH_TO_NDK/android-ndk-$(ndk_version) and a path to adb (in order to be able to run tests on a device). Report, if you have any problems.

Thanks,

Nikita

 

Malyavko__Yan
Beginner
391 Views

I found .so files later on ubuntu. But on Windows it doesn't work even with defined NDK_ROOT. I got the same error:

 

PS C:\Users\yault\Desktop\tbb-2018_U4\jni> ndk-build arch=arm target=android tbb_os=windows
C:/Users/yault/Desktop/tbb-2018_U4/build/android.windows.inc:33: "NDK version C:"
C:/Soft/ndk/build//../build/core/build-all.mk:89: Android NDK: WARNING: There are no modules to build in this project!
Created C:/Users/yault/Desktop/tbb-2018_U4\\build\\windows_arm_clang_android_NDKC:_version_android-21_release directory
C:/Soft/ndk/prebuilt/windows-x86_64/bin/make -C "C:/Users/yault/Desktop/tbb-2018_U4\\build\\windows_arm_clang_android_NDKC:_version_android-21_release"  -r -f C:/Users/yault/Desktop/tbb-2018_U4/build/Makefile.tbb cfg=release
make: *** C:/Users/yault/Desktop/tbb-2018_U4\\build\\windows_arm_clang_android_NDKC:_version_android-21_release: No such file or directory.  Stop.
make: *** [tbb_release] Error 2


I tried to compile in ./ , /jni and /src results are same.

Nikita_P_Intel
Employee
391 Views

From the log, it seems like your $(ndk_version) variable is not parsed correctly. "NDK version C:" should be something like that "NDK version 16". For that reason, make cannot find "windows_arm_clang_android_NDKC:_version_android-21_release" folder. Could you, please, check and provide the value of NDK_ROOT and ndk_version from Android.mk (35-38 lines) file? Compilation from tbb_root is enough.

 

Malyavko__Yan
Beginner
391 Views

Ok, I recently renamed my android-ndk-r15c folder to ndk, I manually set ndk_version to r15c and now it starts compiling. 
But it can't compile some files properly:
Log's attached:
 

Nikita_P_Intel
Employee
391 Views

I see only some strange problem with test_malloc_used_by_lib, however, the library was built correctly.

Just use this command if you don't need tests.

ndk-build tbb tbbmalloc arch=arm target=android tbb_os=windows compiler=clang -j -B
Malyavko__Yan
Beginner
391 Views

Thanks a lot.
Library compiled, but what about test_malloc_used_by_lib? Bug?

Reply