Intel® oneAPI Threading Building Blocks
Ask questions and share information about adding parallelism to your applications when using this threading library.

Can't compile TBB for ARM

Malyavko__Yan
Beginner
913 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
913 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

 

0 Kudos
Malyavko__Yan
Beginner
913 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.

0 Kudos
Nikita_P_Intel
Employee
913 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.

 

0 Kudos
Malyavko__Yan
Beginner
913 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:
 

0 Kudos
Nikita_P_Intel
Employee
913 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
0 Kudos
Malyavko__Yan
Beginner
913 Views

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

0 Kudos
Reply