首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >英特尔线程构建块gcc版

英特尔线程构建块gcc版
EN

Stack Overflow用户
提问于 2020-06-19 20:25:26
回答 1查看 121关注 0票数 0

我已经安装了英特尔并行工作室。然而,查看tbb目录结构中的gcc编译器,它似乎使用了4.8。我正在尝试构建另一个依赖于tbb的存储库,它给出了以下错误,我相当确定是由旧版本的gcc引起的。

错误:

代码语言:javascript
复制
/usr/include/tbb/concurrent_vector.h(667): error: ambiguous "?" operation: second operand of type "tbb::internal::concurrent_vector_base_v3::size_type" can be converted to third operand type "tbb::atomic<unsigned long>", and vice versa

/usr/include/tbb/concurrent_vector.h(680): error: ambiguous "?" operation: second operand of type "tbb::internal::concurrent_vector_base_v3::size_type" can be converted to third operand type "tbb::atomic<unsigned long>", and vice versa

2 errors detected in the compilation of "/tmp/tmpxft_00000d0e_00000000-4_gpu_handle.cpp4.ii".
make: *** [build/objs/cuda/tensor/gpu_handle.o] Error 2

tbb的目录结构如下

代码语言:javascript
复制
mm470@pc5-036-l:~/usr/parallel_studio_xe_2020/compilers_and_libraries_2020/linux/tbb/lib/intel64/gcc4.8 $ dir
libtbb.so  libtbb.so.2  libtbb_debug.so.2  libtbbmalloc.so  libtbbmalloc.so.2  libtbbmalloc_debug.so.2

有没有人知道,第一,我对导致这个错误的gcc版本的预感是正确的,第二,我将如何去安装一个更新版本的gcc的parallel studio。我的电脑上的gcc是一个更高的版本。

代码语言:javascript
复制
mm470@pc5-036-l:~/usr/parallel_studio_xe_2020/compilers_and_libraries_2020/linux/tbb/lib/intel64/gcc4.8 $ gcc --version
gcc (GCC) 6.3.1 20170216 (Red Hat 6.3.1-3)
Copyright (C) 2016 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
EN

回答 1

Stack Overflow用户

发布于 2020-06-21 00:18:22

gcc版本与将要使用的gnu运行时相关。AFAIR英特尔编译器不提供自己的运行时和使用gnu运行时。他们(gcc运行时)在早期版本和4.8版本之间有一些突破性的变化。

AFAIS是您本地安装的/usr/include/tbb/concurrent_vector.h,它来自您的linux发行版,而不是来自编译器包。尝试使用源编译器环境脚本来设置不同的PATHes。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62470266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档