c++ - GCC 4.9.1 在 RHEL 6.0 上编译失败,编译错误在 "libsanitizer"

标签 c++ linux gcc

谁能帮我理解这里出了什么问题 -

libtool: compile:  /home/ritwik/build-gcc-4.9.1/./gcc/xgcc -shared-libgcc -B/home/ritwik/build-gcc-4.9.1/./gcc -nostdinc++ -L/home/ritwik/build-gcc-4.9.1/x86_64-unknown-linux-gnu/libstdc++-v3/src -L/home/ritwik/build-gcc-4.9.1/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs -L/home/ritwik/build-gcc-4.9.1/x86_64-unknown-linux-gnu/libstdc++-v3/libsupc++/.libs -B/usr/local/x86_64-unknown-linux-gnu/bin/ -B/usr/local/x86_64-unknown-linux-gnu/lib/ -isystem /usr/local/x86_64-unknown-linux-gnu/include -isystem /usr/local/x86_64-unknown-linux-gnu/sys-include -D_GNU_SOURCE -D_DEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I. -I../../../../gcc-4.9.1/./libsanitizer/sanitizer_common -I.. -I ../../../../gcc-4.9.1/./libsanitizer/include -isystem ../../../../gcc-4.9.1/./libsanitizer/include/system -Wall -W -Wno-unused-parameter -Wwrite-strings -pedantic -Wno-long-long -fPIC -fno-builtin -fno-exceptions -fno-rtti -fomit-frame-pointer -funwind-tables -fvisibility=hidden -Wno-variadic-macros -I../../libstdc++-v3/include -I../../libstdc++-v3/include/x86_64-unknown-linux-gnu -I../../../../gcc-4.9.1/./libsanitizer/../libstdc++-v3/libsupc++ -DSANITIZER_LIBBACKTRACE -DSANITIZER_CP_DEMANGLE -I ../../../../gcc-4.9.1/./libsanitizer/../libbacktrace -I ../libbacktrace -I ../../../../gcc-4.9.1/./libsanitizer/../include -include ../../../../gcc-4.9.1/./libsanitizer/libbacktrace/backtrace-rename.h -g -O2 -D_GNU_SOURCE -MT sanitizer_platform_limits_posix.lo -MD -MP -MF .deps/sanitizer_platform_limits_posix.Tpo -c ../../../../gcc-4.9.1/./libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc  -fPIC -DPIC -o .libs/sanitizer_platform_limits_posix.o
In file included from /usr/include/features.h:361:0,
                 from /usr/include/arpa/inet.h:22,
                 from ../../../../gcc-4.9.1/./libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:20:
/usr/include/sys/timex.h:145:31: error: expected initializer before ‘throw’
      __asm__ ("ntp_gettimex") __THROW;
                               ^
make[4]: *** [sanitizer_platform_limits_posix.lo] Error 1
make[4]: Leaving directory `/home/ritwik/build-gcc-4.9.1/x86_64-unknown-linux-gnu/libsanitizer/sanitizer_common'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/ritwik/build-gcc-4.9.1/x86_64-unknown-linux-gnu/libsanitizer'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/ritwik/build-gcc-4.9.1/x86_64-unknown-linux-gnu/libsanitizer'
make[1]: *** [all-target-libsanitizer] Error 2
make[1]: Leaving directory `/home/ritwik/build-gcc-4.9.1'
make: *** [all] Error 2

这个错误是在我制作 gcc 4.9.1 时出现的。

最近的谷歌搜索显示:

https://gcc.gnu.org/ml/gcc/2014-02/msg00468.html

但即使他面临完全相同的问题,也没有解决方案。

最佳答案

我在 CentOS 6.0 上遇到了同样的问题:在尝试编译 GCC-4.9.3 时,我遇到了同样的错误。

我能够使用以下解决方法:在配置 GCC 时禁用 libsanitizerlibcilkrts:

./configure --prefix=/home/gz/apps/gcc-4.9.3 --enable-languages=c,c++ \
    --disable-multilib --disable-libsanitizer --disable-libcilkrts

另见 this bug report .

关于c++ - GCC 4.9.1 在 RHEL 6.0 上编译失败,编译错误在 "libsanitizer",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25074263/

相关文章:

c++ - 使用 enable_if 选择类构造函数

c++ - 在Linux上使用C中的输入功能,无需按Enter键

gcc - Makefile:发出警告 gcc 版本低于 4.8.0

gcc - 使用 GCC 链接静态库的正确方法

c++ - 为什么调用不接受带参数的函数的函数在 C 中编译但在 C++ 中不编译

c++ - 如何通过引用传递指针来更改指针指向的位置?

c++ - 使用 Qt 链接到 iOS 模拟器上的静态库时的不兼容架构

c++ - 当我使用DirectWrite在GDI hdc上绘制文字时,如何设置透明背景?

linux - Arduino - Linux - URG 库

linux - 将 Microsoft Office 文档转换为文本