谁能帮我理解这里出了什么问题 -
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 时禁用 libsanitizer
和 libcilkrts
:
./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/