servalproject / batphone

The Serval Mesh app for Android. EXPERIMENTAL SOFTWARE.
http://www.servalproject.org
GNU General Public License v3.0
398 stars 157 forks source link

When I build the project, I get the problem , that the file, libsodium.a, is missing. #127

Closed AimeeChen closed 5 years ago

AimeeChen commented 7 years ago

I build the project on the Ubuntu, I get this problem: Android NDK:ERROR:opus/Android.mk:sodium: LOCAL_SRC_FILES points ti a missing file Android NDK:Check that ./libsodium/libsodium-android-armv6/lib/libsodium.a exists or path is correct make: Entering directory 'batphone/app/src/main/jni' ndk/android-ndk-r14b/build/core/prebuilt-library.mk:45:*** Android NDK. Stop. make: Leaving directory 'batphone/app/src/main/jni' :app:buildDebugNdk FAILED

lakeman commented 7 years ago

The gradle task libsodiumBuild should compile that file, and should be a dependency of buildDebugNdk. So I'm not sure why this isn't working for you.

AimeeChen commented 7 years ago

Thanks @lakeman . I use the Ubuntu, whose version is 16.04.2, I get the problem . I have no idea how to solve the problem on the Ubuntu-16.04.2. so, I can build APK successfully , when I use : Ubuntu : 14.04.5, JDK : android-ndk-r13b-linux-x86_64 Android Studio IDE

lakeman commented 7 years ago

liubsodium requires ndk r14 or later, however there's a bug in r14 that affects building opus for voice calls. You should use ndk r15 beta 2 or later.

On Mon, Jun 12, 2017 at 4:36 PM, AimeeChen notifications@github.com wrote:

Thanks @lakeman https://github.com/lakeman . I use the Ubuntu, whose version is 16.04.2, I get the problem . I have no idea how to solve the problem on the Ubuntu-16.04.2. so, I can build APK successfully , when I use : Ubuntu : 14.04.5, JDK : android-ndk-r13b-linux-x86_64 Android Studio IDE

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/servalproject/batphone/issues/127#issuecomment-307707029, or mute the thread https://github.com/notifications/unsubscribe-auth/AAkD3gkorBTmYQq2Hia-ykn-UjpKg5K7ks5sDONugaJpZM4N0_z2 .

Freizagen commented 6 years ago

@AimeeChen: Did you solve your problem?

AniketSK commented 5 years ago

I'm running into the same problem the file is supposed to be at: batphone/app/src/main/jni/libsodium/libsodium-android-armv6/lib/libsodium.a @lakeman I can run libsodiumBuild but buildDebugNdk doesn't exist. Also, is it normal for building sodium to suddenly generate 600Mb of files? I'm trying to build with assembleDebug and I do have the ndk 16b

lakeman commented 5 years ago

The native build tasks were changed to use the builtin native tasks, eg externalNativeBuildDebug; https://github.com/servalproject/batphone/commit/65066f8481df4e26c4fdf23cd5c00ad8070ece02#diff-39e7d8c00954e920b98e7636f0ac30b2

There's a few things going on here that look a bit iffy. app/build.gradle should be building libsodium-android-armv7-a/lib/libsodium.a and has set an externalNativeBuild abi filter of "armeabi-v7a". jni/Application.mk also defines the APP_ABI's to use as armeabi-v7a. jni/Android.mk tries to map that to the pre-compiled libsodium.a via SODIUM_BASE, but doesn't have a test for armeabi-v7a. So I think you should be seeing a missing libsodium-android-armeabi-v7a/lib/libsodium.a instead of armv6, which is a little puzzling.

Building libsodium uses make_standalone_toolchain.py to install a complete android ndk toolchain which probably accounts for the disk usage.

rahoof08 commented 5 years ago

@lakeman I have the same problem, but as you said the error is a missing libsodium-android-armeabi-v7a/lib/libsodium.a . And my ndk.dir points to revision 14b as it mentions in the known issues section in install.md

What should I do to fix the problem?! Thanks in advance :)

lakeman commented 5 years ago

I can only suggest that you update to the latest ndk.

Also this should be fixed by e8941bd.

AniketSK commented 5 years ago

With the fix, this now even works on the 15c ndk. Thanks @lakeman!

On Tue, Aug 14, 2018 at 6:09 AM Jeremy Lakeman notifications@github.com wrote:

I can only suggest that you update to the latest ndk.

Also this should be fixed by e8941bd https://github.com/servalproject/batphone/commit/e8941bd653d15cb98bb9c22e983300fc1f9aaa56 .

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/servalproject/batphone/issues/127#issuecomment-412713666, or mute the thread https://github.com/notifications/unsubscribe-auth/AD8djrb2SoCm0Fj4jE6YjcPf_4ZelJWVks5uQhxHgaJpZM4N0_z2 .