Opencv: java module build failed

Created on 6 Nov 2015  ·  3Comments  ·  Source: opencv/opencv

Hi, I'm building opencv4android with opencv_contrib.
I cmake like this:
cmake -Wno-dev -DOPENCV_EXTRA_MODULES_PATH=/home/charles/Programs/opencv-3.0.0/opencv_contrib-3.0.0/modules -DCMAKE_BUILD_WITH_INSTALL_RPATH=ON -DCMAKE_TOOLCHAIN_FILE=../android/android.toolchain.cmake
!================================================================
The outputs of cmake is here:
https://gist.github.com/happycharleswang/345a21b4db88141980fe
!================================================================

I got this error when make -j8

Scanning dependencies of target opencv_java
[ 90%] Building CXX object modules/java/CMakeFiles/opencv_java.dir/generator/src/cpp/jni_part.cpp.o
[ 90%] Building CXX object modules/java/CMakeFiles/opencv_java.dir/generator/src/cpp/Mat.cpp.o
[ 90%] Building CXX object modules/java/CMakeFiles/opencv_java.dir/generator/src/cpp/converters.cpp.o
[ 90%] Building CXX object modules/java/CMakeFiles/opencv_java.dir/generator/src/cpp/utils.cpp.o
[ 90%] Building CXX object modules/java/CMakeFiles/opencv_java.dir//core/misc/java/src/cpp/core_manual.cpp.o
[ 90%] Building CXX object modules/java/CMakeFiles/opencv_java.dir/
/features2d/misc/java/src/cpp/features2d_converters.cpp.o
[ 90%] Building CXX object modules/java/CMakeFiles/opencv_java.dir/core.cpp.o
[ 90%] Building CXX object modules/java/CMakeFiles/opencv_java.dir/imgproc.cpp.o
[ 90%] Building CXX object modules/java/CMakeFiles/opencv_java.dir/ml.cpp.o
[ 90%] Building CXX object modules/java/CMakeFiles/opencv_java.dir/photo.cpp.o
[ 90%] Building CXX object modules/java/CMakeFiles/opencv_java.dir/video.cpp.o
[ 90%] Building CXX object modules/java/CMakeFiles/opencv_java.dir/imgcodecs.cpp.o
[ 90%] Building CXX object modules/java/CMakeFiles/opencv_java.dir/videoio.cpp.o
[ 90%] Building CXX object modules/java/CMakeFiles/opencv_java.dir/objdetect.cpp.o
[ 90%] Building CXX object modules/java/CMakeFiles/opencv_java.dir/bioinspired.cpp.o
[ 90%] Building CXX object modules/java/CMakeFiles/opencv_java.dir/features2d.cpp.o
[ 90%] Building CXX object modules/java/CMakeFiles/opencv_java.dir/calib3d.cpp.o
[ 90%] Linking CXX shared library ../../lib/armeabi-v7a/libopencv_java3.so
../../lib/armeabi-v7a/libopencv_text.a(ocr_tesseract.cpp.o):ocr_tesseract.cpp:function cv::text::OCRTesseractImpl::run(cv::Mat&, std::string&, std::vectorcv::Rect_ >_, std::vector >_, int): error: undefined reference to 'tesseract::TessBaseAPI::GetUTF8Text()'
collect2: error: ld returned 1 exit status
make[2]: _* [lib/armeabi-v7a/libopencv_java3.so] Error 1
make[1]: *
* [modules/java/CMakeFiles/opencv_java.dir/all] Error 2
make: *** [all] Error 2
!================================================================
any tips?

invalid

All 3 comments

1) It is opencv_contrib related, so right place is here: https://github.com/Itseez/opencv_contrib/issues
2) Looks like there is incorrect tesseract detection in cross-compilation mode.
3) Workaround for this is to disable "text" module: -DBUILD_opencv_text=OFF

Thanks.

-DBUILD_opencv_java=OFF works.

-DBUILD_opencv_text=OFF also works.

This means both java module and text module are related to this issue.

Message below is unrelated to this issue:


Buenas Noches, @alalek y @happycharleswang como puedo corregir este error:

[ 61%] Generating opencv-310.jar
/usr/lib/jvm/java-7-openjdk-armhf/jre/lib/rt.jar: inflateFully: Unexpected end of stream

BUILD FAILED
java.lang.NoClassDefFoundError: java/math/BigInteger
at org.apache.tools.ant.types.Resource.getMagicNumber(Resource.java:58)
at org.apache.tools.ant.types.Resource.(Resource.java:48)
at org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:90)
at org.apache.tools.ant.Main.runBuild(Main.java:826)
at org.apache.tools.ant.Main.startAnt(Main.java:235)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Caused by: java.lang.ClassNotFoundException: java.math.BigInteger
at java.net.URLClassLoader$1.run(URLClassLoader.java:359)
at java.net.URLClassLoader$1.run(URLClassLoader.java:348)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:347)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 7 more

Total time: 0 seconds
java.lang.NoClassDefFoundError: java/math/BigInteger
at org.apache.tools.ant.types.Resource.getMagicNumber(Resource.java:58)
at org.apache.tools.ant.types.Resource.(Resource.java:48)
at org.apache.tools.ant.ProjectHelper.configureProject(ProjectHelper.java:90)
at org.apache.tools.ant.Main.runBuild(Main.java:826)
at org.apache.tools.ant.Main.startAnt(Main.java:235)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Caused by: java.lang.ClassNotFoundException: java.math.BigInteger
at java.net.URLClassLoader$1.run(URLClassLoader.java:359)
at java.net.URLClassLoader$1.run(URLClassLoader.java:348)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:347)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 7 more
java/math/BigInteger
modules/java/CMakeFiles/opencv_java.dir/build.make:12619: recipe for target 'bin/opencv-310.jar' failed
make[2]: * [bin/opencv-310.jar] Error 1
CMakeFiles/Makefile2:14610: recipe for target 'modules/java/CMakeFiles/opencv_java.dir/all' failed
make[1]:
[modules/java/CMakeFiles/opencv_java.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *
* [all] Error 2

Estoy utilizando en una raspberry pi 1 B, para la parte make en OpenCV, espero que me ayuden muchas gracias.

Was this page helpful?
0 / 5 - 0 ratings