Strange enough, I cannot find Install.txt in their source code which is downloaded from   Intel TBB download. Anyway, Google it, so Google returns INSTALL.txt to me. But the explanation I found in INSTALL.txt is not valid for Open Source sources. I guess, they doesn't include install.sh script into Open Source version.  Anyway, try to understand their directory structure.  Then....


jhlee@coffee:~/programs$ tar xvzf tbb30_20101215oss_src.tgz 

jhlee@coffee:~/programs$ cd tbb30_20101215oss/

jhlee@coffee:~/programs/tbb30_20101215oss$ ls
build  CHANGES  COPYING  doc  examples  include  index.html  Makefile  README  
src

jhlee@coffee:~/programs/tbb30_20101215oss$ bash build/generate_tbbvars.sh

jhlee@coffee:~/programs/tbb30_20101215oss$ ls
build  CHANGES  COPYING  doc  examples  include  index.html  Makefile  README  
src  tbbvars.csh  tbbvars.sh

jhlee@coffee:~/programs/tbb30_20101215oss$ bash tbbvars.sh

jhlee@coffee:~/programs/tbb30_20101215oss$ ls build/
AIX.gcc.inc           index.html          Makefile.test          version_info_sunos.sh
AIX.inc               linux.gcc.inc       suncc.map.pause        version_info_windows.js
codecov.txt           linux.icc.inc       SunOS.gcc.inc          vsproject
common.inc            linux.inc           SunOS.inc              windows.cl.inc
common_rules.inc      macos.gcc.inc       SunOS.suncc.inc        windows.gcc.inc
detect.js             macos.icc.inc       test_launcher.bat      windows.icl.inc
FreeBSD.gcc.inc       macos.inc           test_launcher.sh       windows.inc
FreeBSD.inc           Makefile.rml        version_info_aix.sh    xbox360.cl.inc
generate_tbbvars.bat  Makefile.tbb        version_info_linux.sh  xbox360.inc
generate_tbbvars.sh   Makefile.tbbmalloc  version_info_macos.sh

jhlee@coffee:~/programs/tbb30_20101215oss$ make

jhlee@coffee:~/programs/tbb30_20101215oss$ ls build/
AIX.gcc.inc                                             Makefile.tbbmalloc
AIX.inc                                                 Makefile.test
codecov.txt                                             suncc.map.pause
common.inc                                              SunOS.gcc.inc
common_rules.inc                                        SunOS.inc
detect.js                                               SunOS.suncc.inc
FreeBSD.gcc.inc                                         test_launcher.bat
FreeBSD.inc                                             test_launcher.sh
generate_tbbvars.bat                                    version_info_aix.sh
generate_tbbvars.sh                                     version_info_linux.sh
index.html                                              version_info_macos.sh
linux.gcc.inc                                           version_info_sunos.sh
linux.icc.inc                                           version_info_windows.js
linux.inc                                               vsproject
linux_intel64_gcc_cc4.3.2_libc2.7_kernel2.6.26_debug    windows.cl.inc
linux_intel64_gcc_cc4.3.2_libc2.7_kernel2.6.26_release  windows.gcc.inc
macos.gcc.inc                                           windows.icl.inc
macos.icc.inc                                           windows.inc
macos.inc                                               xbox360.cl.inc
Makefile.rml                                            xbox360.inc
Makefile.tbb

jhlee@coffee:~/programs/tbb30_20101215oss$ ls build/linux_intel64_gcc_cc4.3.2_libc2.7_kernel2.6.26_release/
arena.d                    itt_notify.o             spin_mutex.d
arena.o                    large_objects.d          spin_mutex.o
backend.d                  large_objects.o          spin_rw_mutex.d
backend.o                  libtbbmalloc_proxy.so    spin_rw_mutex.o
backref.d                  libtbbmalloc_proxy.so.2  spin_rw_mutex_v2.d
backref.o                  libtbbmalloc.so          spin_rw_mutex_v2.o
cache_aligned_allocator.d  libtbbmalloc.so.2        task.d
cache_aligned_allocator.o  libtbb.so                task_group_context.d
concurrent_hash_map.d      libtbb.so.2              task_group_context.o
concurrent_hash_map.o      market.d                 task.o
concurrent_monitor.d       market.o                 task_v2.d
concurrent_monitor.o       mutex.d                  task_v2.o
concurrent_queue.d         mutex.o                  tbb.def
concurrent_queue.o         observer_proxy.d         tbb_function_replacement.d
concurrent_queue_v2.d      observer_proxy.o         tbb_function_replacement.o
concurrent_queue_v2.o      pipeline.d               tbb_main.d
concurrent_vector.d        pipeline.o               tbb_main.o
concurrent_vector.o        private_server.d         tbbmalloc.d
concurrent_vector_v2.d     private_server.o         tbbmalloc.def
concurrent_vector_v2.o     proxy.d                  tbbmalloc.o
condition_variable.d       proxy.o                  tbbmallocproxy.def
condition_variable.o       queuing_mutex.d          tbb_misc.d
critical_section.d         queuing_mutex.o          tbb_misc_ex.d
critical_section.o         queuing_rw_mutex.d       tbb_misc_ex.o
dynamic_link.d             queuing_rw_mutex.o       tbb_misc.o
dynamic_link.o             reader_writer_lock.d     tbb_statistics.d
frontend.d                 reader_writer_lock.o     tbb_statistics.o
frontend.o                 recursive_mutex.d        tbb_thread.d
governor.d                 recursive_mutex.o        tbb_thread.o
governor.o                 rml_tbb.d                tbbvars.csh
itt_notify.d               rml_tbb.o                tbbvars.sh
itt_notify_malloc.d        scheduler.d              version_string.tmp
itt_notify_malloc.o        scheduler.o


Then, I can compile their examples. 

  If I add the following lines, I can compile and run each example in its own directory. 

bash

export TBB30_INSTALL_DIR="${HOME}/programs/tbb"
export tbb_bin=${TBB30_INSTALL_DIR}
export CPATH="${TBB30_INSTALL_DIR}/include" 
export LIBRARY_PATH="${tbb_bin}/build/linux_intel64_gcc_cc4.3.2_libc2.7_kernel2.6.26_release/" 
export LIBRARY_PATH="${tbb_bin}/build/linux_intel64_gcc_cc4.3.2_libc2.7_kernel2.6.26_debug/:${LIBRARY_PATH}"
export LD_LIBRARY_PATH="${LIBRARY_PATH}:${LD_LIBRARY_PATH}" 


(t)csh

setenv TBB30_INSTALL_DIR "${HOME}/tbb"
setenv tbb_bin "${HOME}/tbb"
setenv CPATH "${TBB30_INSTALL_DIR}/include"
setenv LIBRARY_PATH "${tbb_bin}/build/linux_intel64_gcc_cc4.1.2_libc2.5_kernel2.6.18_release/"
setenv LIBRARY_PATH "${tbb_bin}/build/linux_intel64_gcc_cc4.1.2_libc2.5_kernel2.6.18_debug/:${LIBRARY_PATH}"
setenv LD_LIBRARY_PATH "${LIBRARY_PATH}:$LD_LIBRARY_PATH"

'Computer > linux' 카테고리의 다른 글

autoconf with ROOT  (0) 2011.04.13
Intel® Threading Building Blocks (Intel TBB) for Open Source  (0) 2011.03.24
GNU screen  (0) 2011.03.24
svn:ignore  (0) 2011.03.23
posted by citadel