Skip to content

arm cross compile failed at target tbb on master while ok on 2.4 #8837

@minghuadev

Description

@minghuadev
System information (version)
  • OpenCV => master commit 0d86681 of may 30
  • Operating System / Platform => ubuntu 16.04 64-bit cross for arm
  • Compiler => arm-linux-gnueabihf-gcc-4.7/g++-4.7
Detailed description

Cross-compilation for arm failed on master while ok on 2.4 branch.

  • Commands
cmake -DENABLE_VFPV3=ON -DENABLE_NEON=ON \
 -DCMAKE_CXX_COMPILER=/usr/bin/arm-linux-gnueabihf-g++-4.7 \
 -DCMAKE_C_COMPILER=/usr/bin/arm-linux-gnueabihf-gcc-4.7 \
 -DWITH_TBB=ON -DBUILD_TBB=ON \
 -DCMAKE_TOOLCHAIN_FILE=../arm-gnueabi.toolchain.cmake ../../..

make
  • Error messages
[ 36%] Building CXX object 3rdparty/tbb/CMakeFiles/tbb.dir/tbb-4.4.3/src/rml/client/rml_tbb.cpp.o
[ 36%] Building CXX object 3rdparty/tbb/CMakeFiles/tbb.dir/arm_linux_stub.cpp.o
/home/.../opencv/3rdparty/tbb/arm_linux_stub.cpp:6:6: error: prototype for 'void tbb::internal::affinity_helper::protect_affinity_mask()' does not match any in class 'tbb::internal::affinity_helper'
In file included from /home/.../opencv/3rdparty/tbb/arm_linux_stub.cpp:1:0:
/home/.../opencv/platforms/linux/masterbuild/3rdparty/tbb/tbb-4.4.3/src/tbb/tbb_misc.h:255:14: error: candidate is: void tbb::internal::affinity_helper::protect_affinity_mask(bool)
3rdparty/tbb/CMakeFiles/tbb.dir/build.make:854: recipe for target '3rdparty/tbb/CMakeFiles/tbb.dir/arm_linux_stub.cpp.o' failed
make[2]: *** [3rdparty/tbb/CMakeFiles/tbb.dir/arm_linux_stub.cpp.o] Error 1
CMakeFiles/Makefile2:638: recipe for target '3rdparty/tbb/CMakeFiles/tbb.dir/all' failed
make[1]: *** [3rdparty/tbb/CMakeFiles/tbb.dir/all] Error 2
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
  • The failing head
$ git log -1
commit 0d86681b88d4605b49ea06e0e6218c1bcc36925c
Merge: fdba548 0f42031
Author: Alexander Alekhin <alexander.a.alekhin@gmail.com>
Date:   Tue May 30 20:11:33 2017 +0000

    Merge pull request #8823 from wpalfi:patch-1
Steps to reproduce

Install dependency packages on a ubuntu x64 host.

Following the instruction from http://docs.opencv.org/2.4/doc/tutorials/introduction/crosscompilation/arm_crosscompile_with_cmake.html , clone opencv from github, then build. It will fail.

Checkout 2.4 branch, and build. Everything is ok.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions