Intel® oneAPI Threading Building Blocks
Ask questions and share information about adding parallelism to your applications when using this threading library.

Compiliation error with icpc

aterrel
Beginner
249 Views
Hello,
I downloadedtbb40_20111130oss_src.tgz and the make failed for icpc. I was wondering if there was any idea of how to get this going. Everything worked fine with gcc.
$ icpc --version
icpc (ICC) 11.1 20101201
Copyright (C) 1985-2010 Intel Corporation. All rights reserved.
$ make compiler=icc
Created ./build/linux_intel64_icc_cc4.1.2_libc2.5_kernel2.6.18_release and ..._debug directories
make -C "./build/linux_intel64_icc_cc4.1.2_libc2.5_kernel2.6.18_debug" -r -f ../../build/Makefile.tbb cfg=debug tbb_root=../..
make[1]: Entering directory `/home1/01392/aterrel/soft/src/tbb40_20111130oss/build/linux_intel64_icc_cc4.1.2_libc2.5_kernel2.6.18_debug'
../../build/Makefile.tbb:39: CONFIG: cfg=debug arch=intel64 compiler=icc os=linux runtime=cc4.1.2_libc2.5_kernel2.6.18
icpc -c -MMD -O0 -g -strict-ansi -DUSE_PTHREAD -DTBB_USE_DEBUG -DDO_ITT_NOTIFY -fPIC -D__TBB_BUILD=1 -w1 -I../../src -I../../src/rml/include -I../../include ../../src/tbb/scheduler.cpp
../../src/tbb/mailbox.h(81): error: no instance of function "__TBB_machine_cmpswp8" matches the argument list
argument types are: (intptr_t *, const intptr_t, intptr_t)
if ( __TBB_CompareAndSwapW( &task_and_tag, cleaner_bit, tat ) == tat ) {
^
detected during instantiation of "tbb::task *tbb::internal::task_proxy::extract_task() [with from_bit=1L]" at line 216 of "../../src/tbb/custom_scheduler.h"
../../src/tbb/mailbox.h(81): error: no instance of function "__TBB_machine_cmpswp8" matches the argument list
argument types are: (intptr_t *, const intptr_t, intptr_t)
if ( __TBB_CompareAndSwapW( &task_and_tag, cleaner_bit, tat ) == tat ) {
^
detected during instantiation of "tbb::task *tbb::internal::task_proxy::extract_task() [with from_bit=2L]" at line 635 of "../../src/tbb/scheduler.cpp"
compilation aborted for ../../src/tbb/scheduler.cpp (code 2)
make[1]: *** [scheduler.o] Error 2
make[1]: Leaving directory `/home1/01392/aterrel/soft/src/tbb40_20111130oss/build/linux_intel64_icc_cc4.1.2_libc2.5_kernel2.6.18_debug'
make: *** [tbb] Error 2
0 Kudos
2 Replies
Vladimir_P_1234567890
249 Views
hello, I've checked this source package from site on similar system (RHEL 5.1) and a bit older compiler "Version 11.1 Build 20090827 Package ID: l_cproc_p_11.1.056" - it works fine. And actually this is the current build compiler for the library.
Could you run 'icpc -V' to find out aPackage ID? we'll check it.
thanks
--Vladimir
0 Kudos
aterrel
Beginner
249 Views
Vladimir, here are the details:
$ icpc -V
Intel C++ Intel 64 Compiler Professional for applications running on Intel 64, Version 11.1 Build 20101201 Package ID: l_cproc_p_11.1.075
Copyright (C) 1985-2010 Intel Corporation. All rights reserved.
So, I was able to find an updated icc v 12 and things work fine for me. It looks like the one on the system I'm using is just really old.
-- Andy
0 Kudos
Reply