Errores al compilar el javacpp-present

0

Estoy tratando de compilar el javacv en el beaglebone black. Durante la compilación del presente javacpp. Muestra el error

sorry, unimplemented: Thumb-1 hard-float VFP ABI

Aquí está el comando que estoy usando para la compilación

mvn clean install  -DskipTests -Dplatform.name=linux-arm -Dplatform.compiler=arm-linux-gnueabihf-gcc

Y todo el mensaje sobre el error:

[INFO] /usr/bin/arm-linux-gnueabihf-g++-4.8 -I/media/card/javacpp-presets/opencv/cppbuild/linux-arm/include/ -I/usr/lib/jvm/java-7-openjdk-armhf/include -I/usr/lib/jvm/java-7-openjdk-armhf/include/linux /media/card/javacpp-presets/opencv/target/classes/org/bytedeco/javacpp/jniopencv_calib3d.cpp -march=armv5te -Wl,-rpath,$ORIGIN/ -Wall -O3 -fPIC -shared -s -o /media/card/javacpp-presets/opencv/target/classes/org/bytedeco/javacpp/linux-arm/libjniopencv_calib3d.so -L/media/card/javacpp-presets/opencv/cppbuild/linux-arm/lib/ -Wl,-rpath,/media/card/javacpp-presets/opencv/cppbuild/linux-arm/lib/ -lopencv_calib3d -lopencv_features2d -lopencv_ml -lopencv_flann -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_imgproc -lopencv_core
In file included from /usr/include/stdio.h:934:0,
             from /usr/lib/jvm/java-7-openjdk-armhf/include/jni.h:39,
             from /media/card/javacpp-presets/opencv/target/classes/org/bytedeco/javacpp/jniopencv_calib3d.cpp:26:
/usr/include/arm-linux-gnueabihf/bits/stdio.h: In function ‘int getchar()’:
/usr/include/arm-linux-gnueabihf/bits/stdio.h:44:14: sorry, unimplemented: Thumb-1 hard-float VFP ABI
getchar (void)

De todos modos, el comando sobre g ++ parece correcto, pero no tengo idea de por qué ocurre el error.

    
pregunta Jianyuan Ma

1 respuesta

1

Has seleccionado (creo) la arquitectura incorrecta:

-march=armv5te

Por lo tanto, se establece en ARMv5TE. Pero el Beaglebone Black tiene un AM3358 Cortex-A8 que se basa en la arquitectura ARMv7-A.

Puede ser que tengas que especificar que una unidad de punto flotante de hardware está disponible. Pero creo que debería ser mejor especificar la arquitectura correcta.

En la página de Debian sobre el puerto de armhf que dice:

  

Actualmente, el puerto de Debian armhf requiere al menos una CPU ARMv7 con Thumb-2 y VFP3D16.

Por lo tanto, es probable que verifiquen en los encabezados de armhf, que la arquitectura seleccionada cumple con los requisitos mínimos.

    
respondido por el Arsenal

Lea otras preguntas en las etiquetas