- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm trying to compile tbb on a Cortex-A8 core running linux.
My cross compilation environment is as follows:
Host: Ubuntu 12.04 64bit
Target:MontaVista Linux (ARM)
Cross Compiler:Sourcery G++ Lite 2009q1-203
TBB version: tbb42_20131003oss
My compilation steps are belos:
1. modified ../build/linux.gcc.inc
CPLUS = /home/zmz/Software/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-g++
CONLY = /home/zmz/Software/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-gcc
AR = /home/zmz/Software/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-ar
RANLIB = /home/zmz/Software/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-ranlib
2. make arch=armv7
I got following error messages
In file included from ../../include/tbb/tbb_machine.h:252, from ../../include/tbb/spin_rw_mutex.h:33, from ../../include/tbb/concurrent_hash_map.h:50, from ../../src/tbb/concurrent_hash_map.cpp:29: ../../include/tbb/machine/gcc_armv7.h:39:2: error: #error compilation requires an ARMv7-a architecture. make[1]: *** [concurrent_hash_map.o] Error 1 make[1]: Leaving directory `/home/zmz/Software/CrossLibrary/tbb/build/linux_armv7_gcc_cc4.6_libc2.15_kernel3.5.0_debug' make: *** [tbb] Error 2
So I add '-march=armv7-a' to CPLUS and CONLY in ../build/linux.gcc.inc
And I got another error
Created ./build/linux_armv7_gcc_cc4.6_libc2.15_kernel3.5.0_release and ..._debug directories make -C "./build/linux_armv7_gcc_cc4.6_libc2.15_kernel3.5.0_debug" -r -f ../../build/Makefile.tbb cfg=debug make[1]: Entering directory `/home/zmz/Software/CrossLibrary/tbb/build/linux_armv7_gcc_cc4.6_libc2.15_kernel3.5.0_debug' ../../build/Makefile.tbb:39: CONFIG: cfg=debug arch=armv7 compiler=gcc target=linux runtime=cc4.6_libc2.15_kernel3.5.0 /home/zmz/Software/Sourcery_G++_Lite/bin/arm-none-linux-gnueabi-g++ -march=armv7-a -o concurrent_hash_map.o -c -MMD -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD -Wa,-mimplicit-it=thumb -fPIC -D__TBB_BUILD=1 -Wall -Wno-parentheses -Wno-non-virtual-dtor -I../../src -I../../src/rml/include -I../../include ../../src/tbb/concurrent_hash_map.cpp Assembler messages: Error: unrecognized option -mimplicit-it=thumb make[1]: *** [concurrent_hash_map.o] Error 1 make[1]: Leaving directory `/home/zmz/Software/CrossLibrary/tbb/build/linux_armv7_gcc_cc4.6_libc2.15_kernel3.5.0_debug' make: *** [tbb] Error 2
Is there any ideas?
Thanks!
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Try without the following in build/linuc.gcc.inc:
# automatically generate "IT" instructions when compiling for Thumb ISA
ifeq (armv7,$(arch))
CPLUS_FLAGS += -Wa,-mimplicit-it=thumb
endif
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I have changed the latest crosscompiler and it success, it seems the older one do not support some new features.
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page