繁体   English   中英

在Linux上使用libstdc ++的Intel C编译器出现分段错误

[英]Segmentation fault on using Intel C Compiler on Linux with libstdc++

我已经安装了Intel Composer 2013,并尝试构建最简单的C ++应用程序

#include <iostream>
int main() {
  std::cout << "test" << std::endl;
}

$ icc -v
  icc version 12.1.2 (gcc version 4.7.0 compatibility)

启动程序后,出现分段错误:

(gdb) run
    Starting program: /home/paceholder/work/test/test 

    Program received signal SIGSEGV, Segmentation fault.
    0x00007ffff7911bb1 in std::ostream::sentry::sentry(std::ostream&) () from 
    /opt/intel/composer_xe_2013.4.183/bin/sourcechecker/lib/intel64/pinruntime
    /libstdc++.so.6

    Missing separate debuginfos, use: debuginfo-install 
    glibc-2.14.1-14.12.5.x86_64 intel-sourcechecker-common-183-13.1-4.noarch

(gdb) backtrace
#0  0x00007ffff7911bb1 in std::ostream::sentry::sentry(std::ostream&) () 
    from /opt/intel/composer_xe_2013.4.183/bin/sourcechecker/lib/intel64/pinruntime
    /libstdc++.so.6

#1  0x00007ffff79134a6 in std::basic_ostream<char, std::char_traits<char> >&
std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) () 
from /opt/intel/composer_xe_2013.4.183/bin/sourcechecker/lib/intel64/pinruntime/libstdc++.so.6

#2  0x00007ffff791379f in std::basic_ostream<char, std::char_traits<char> >&
std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*) ()
from /opt/intel/composer_xe_2013.4.183/bin/sourcechecker/lib/intel64/pinruntime/libstdc++.so.6

#3  0x0000000000400987 in main ()

ldd给出:

 $ ldd ./test
linux-vdso.so.1 =>  (0x00007fff1f52f000)
libm.so.6 => /lib64/libm.so.6 (0x00007f514de01000)
libstdc++.so.6 => /opt/intel/composer_xe_2013.4.183/bin/sourcechecker/lib/intel64/pinruntime/libstdc++.so.6 (0x00007f514daf5000)
libgcc_s.so.1 => /opt/intel/composer_xe_2013.4.183/bin/sourcechecker/lib/intel64/pinruntime/libgcc_s.so.1 (0x00007f514d8dd000)
libc.so.6 => /lib64/libc.so.6 (0x00007f514d54e000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f514d34a000)
/lib64/ld-linux-x86-64.so.2 (0x00007f514e058000)

系统使用CentOS 6.4、64位

发生这种错误的原因可能是什么,我该如何解决?

这可能是产品兼容性问题。 您是否查看了发行说明以查看CentOS 6.4是否支持Intel编译器版本? 我查看了编译器版本13.x发行说明,支持的RHEL版本是4! 您可能还想尝试从英特尔安装产品的最新更新,并发布在英特尔软件支持论坛上。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM