I'd like to test ijkplayer (android) project.
During compiling ffmpeg libs (./compile-ffmpeg.sh) usin Cygwin in WIN7 environment I faced the following error message:
"build on CYGWIN_NT-6.1 x86_64
Host system 'cygwin-x86' is not supported by the source NDK!
Try --system= with one of: windows-x86_64"
The suggested 'system' command doesn't solve the problem.
Axtually I use android-ndk-r10c
If I try the same process using MINGW32 I get a lot of syntax error.
Please help!
Related
In Ubuntu 16.04, when running an Android Tensorflow TFDetect implementation using my protobuf file, I received an error stating "No OpKernel was registered to support Op 'ceil'". I had to modify the mobile build to include the proper .cc files and I then proceeded to run the following command to build the jar after rebuilding Tensorflow:
bazel build -c opt
//tensorflow/contrib/android:libtensorflow_inference.so
--crosstool_top=//external:android/crosstool --host_crosstool_top=#bazel_tools//tools/cpp:toolchain --cpu=armeabi-v7a
I then receive the error stating that the build was not complete due to stdlib.h missing:
In file included from
external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/algorithm:62:
In file included from
external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/bits/stl_algo.h:59:
external/androidndk/ndk/sources/cxx-stl/gnu-libstdc++/4.9/include/cstdlib:72:10:
fatal error: 'stdlib.h' file not found
I see many others being told to use the prebuilt binaries, but this will not work for me as I need some additional kernels that are stripped for mobile.
Anyone have any ideas as to how I can build the necessary android jar?
Well I found the issue. At the following link below it states that bazel is not supported by NDK version 16. I had originally installed 14b, but at one point when I opened my project in Android Studio, it asked to update the NDK and I upgraded. When I happened to be troubleshooting this issue I noticed that it was version 16 and then ended up removing that and installing version 14. After rebuilding all source and then performing the above call to bazel, everything went through smoothly. Stupid mistake on my part.
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/android/README.md
I cloned the Tensorflow Android example from https://github.com/tensorflow/tensorflow/tree/master/tensorflow/examples/android/, followed the steps at https://bazel.build/versions/master/docs/install-ubuntu.html to build it, but ran into problems with the following error:
tensorflow/core/kernels/split_v_op.cc:172:12: note: in instantiation of member function 'tensorflow::SplitVOpCPU::Compute' requested here
explicit SplitVOpCPU(OpKernelConstruction* c) : Base(c) {}
The build command that I used is:
sudo bazel build --genrule_strategy=standalone --spawn_strategy=standalone --local_resources 4096,4.0,1.0 -j 1 -c opt //tensorflow/examples/android:tensorflow_demo
please share ideas to fix this issue.
The issue is similar to the one posted at
https://github.com/tensorflow/tensorflow/issues/8641#issuecomment-288586320
The bazel builder does not work with latest NDK build that comes with Android Studio.
Need to use NDK r12b in the WORKSPACE file.
Code could be compiled, but still spilled out the warnings...
I'm trying to build an Android project with crystax ndk within Android Studio, but I got the following error message:
Android NDK: /.../crystax-ndk-10.3.2/sources/sqlite/3/Android.mk: Cannot find module with tag 'openssl/1.0.2h' in import path
I searched the crystax-ndk-10.3.2 folder, and found there is a sources/openssl/1.0.1p folder instead of 1.0.2h.
It looks like sqlite/3 is refering to a 'wrong' version of openssl. But strangely there isn't any reference to openssl in sqlite/3/Android.mk file at all. And I really have no clue why this is happening as I downloaded a brand new crystax-ndk-10.3.2 copy and didn't alter any bit of it. I googled crystax sqlite cannot find openssl and it seems no others are having this problem.
Could anyone please help me find out what's wrong? The following are some details of configurations:
Gradle version: 2.1.2
Android Studio: 2.2.3
crystax-ndk : 10.3.2
OS : macOS Sierra 10.12.2
Special thanks to Alex, I finally figured out what's going wrong.
Basically, after extracting the CrystaX package, one also needs to build openssl, and copy built files into .../sources/openssl/ folder.
I used the following steps from this instruction to solve it:
git clone https://github.com/crystax/android-vendor-openssl.git
cd crystax-ndk-$CRYSTAX_NDK_VERSION
./build/tools/build-target-openssl.sh ../android-vendor-openssl/
cp sources/openssl/1.0.1p/Android.mk sources/openssl/$OPENSSL_VERSION/Android.mk
I know this may be possible duplicate of some questions. but answers for those threads are not helping me.
I am trying to compile ffmpeg library for android using Bambuser's ffmpeg.
I downloaded Archive for client versions 1.3.7 to 1.6.0. from bambuser.
I followed instruction given in REAME.
While running ./build.sh i came across following error
arm-linux-androideabi-gcc is unable to create an executable file.
C compiler test failed.
If you think configure made a mistake, make sure you are using the latest
version from SVN. If the latest version fails, report the problem to the
ffmpeg-user#mplayerhq.hu mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "config.log" produced by configure as this will help
solving the problem.
Here are last few lines of config.log of ffmpeg
mktemp is /bin/mktemp
check_ld
check_cc
BEGIN /tmp/ffconf.qflVj27Q.c
1 int main(void){ return 0; }
END /tmp/ffconf.qflVj27Q.c
arm-linux-androideabi-gcc --sysroot=/home/chaitanya/android/android-ndk-r5b/platforms/android-8/arch-arm -c -o /tmp/ffconf.gc6um0Ki.o /tmp/ffconf.qflVj27Q.c
arm-linux-androideabi-gcc: error trying to exec 'cc1': execvp: No such file or directory
C compiler test failed.
in tmp i do not find any relative folder or file as per config.log says "ffconf.qflVj27Q.c".
I am doing this on
1. Ubuntu 11.10
2. OpenJDK 6
3. android-ndk-r5b
NOte:
I only have API-10 Installed in eclipse. (if it matters :D)
What could be the solution for this?
I finally found the problem with my setup when facing this same issue... Looking at the arm-build.sh script, I started following the script. Notice the "TOOLCHAIN=..." path.
Originally the path was:
TOOLCHAIN=echo $NDK/toolchains/arm-linux-androideabi-4.6/prebuilt/*-x86
When I went to verify this path exists, I noticed that it did not.
I think the reason is that I have a 64-bit build.
My path is actually:
.../toolchains/arm-linux-androideabi-4.6/prebuilt/linux-x86_64
What I ended up doing was copying the folder, and renaming it to "linux-x86" and now all is compiling.
Hope this helps someone!
I also faced this problem this morning and tried solutions suggested for similar questions here. But none of the solutions worked for me.
But finally i solved it. In my case, it was problem with Android NDK package. My system is 64bit ubuntu and my ndk pkg was also linux-64bit. But when i used the ndk-linux-x86, this problem was solved. I hope that this might help someone else.
I have checked a lot of threads already but none of them seems to solve my problem. I'm working on a project regarding my study and want to use the OpenCV library with my Android app. Here is a list of the programs and tools I use:
Eclipse IDE for Java Developers (3.7.0)
Android SDK r16
OpenCV 2.3.1
Android NDK r7b
I am following a tutorial, and everything works fine until the part where I need the NDK for using C++ OpenCV code. I can code and run Android apps and the "Tutorial 1" samples from the OpenCV 2.3.1 are working fine. However the "Tutorial 2" samples won't work. I tried following the steps in the C++ part of the tutorial.
When I try to run the NDK-build (tried both the command line and Eclipse part) I keep getting this error:
/usr/bin/sh: -c: line 1: syntax error: unexpected end of file
make: *** [obj/local/armeabi/objs/opencv/cvjni.o] Error 1
Does anyone has a solution for my problem? Thanks in advance
in bash script unexpected "syntax error: unexpected end of file" on if statement
Make sure your shell scripts use Unix-style line endings