首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Centos上编译libmemcached失败

在Centos上编译libmemcached失败
EN

Server Fault用户
提问于 2013-12-09 19:00:02
回答 2查看 684关注 0票数 0

我试图用gcc的4.8.2编译Centos 6.4上的libmemcached。我已经运行了配置,这给了我:

代码语言:javascript
复制
Configuration summary for libmemcached version 1.0.17

   * Installation prefix:       /usr/local
   * System type:               unknown-linux-gnu
   * Host CPU:                  x86_64
   * C Compiler:                gcc (GCC) 4.8.2
   * C Flags:                   -g -O2  -Wno-unknown-pragmas -Wno-pragmas -Wall -Wextra -std=c99 -Wunsuffixed-float-constants -Wjump-misses-init -Wno-attributes -Waddress -Wvarargs -Warray-bounds -Wbad-function-cast -Wchar-subscripts -Wcomment -Wfloat-equal -Wformat-security -Wformat=2 -Wformat-y2k -Wlogical-op -Wmaybe-uninitialized -Wmissing-field-initializers -Wmissing-noreturn -Wmissing-prototypes -Wnested-externs -Wnormalized=id -Woverride-init -Wpointer-arith -Wpointer-sign -Wredundant-decls -Wshadow -Wsign-compare -Wstrict-overflow=1 -Wswitch-enum -Wtrampolines -Wundef -Wunsafe-loop-optimizations -funsafe-loop-optimizations -fsanitize=address -fsanitize=thread -Wclobbered -Wunused -Wunused-result -Wunused-variable -Wunused-parameter -Wunused-local-typedefs -Wwrite-strings -fwrapv -pipe
   * C++ Compiler:              g++ (GCC) 4.8.2
   * C++ Flags:                 -g -O2 -Wno-unknown-pragmas -Wno-pragmas -Wall -Wextra -Wno-attributes -Wvarargs -Waddress -Warray-bounds -Wchar-subscripts -Wcomment -Wctor-dtor-privacy -Wfloat-equal -Wformat=2 -Wformat-y2k -Wmaybe-uninitialized -Wmissing-field-initializers -Wlogical-op -Wnon-virtual-dtor -Wnormalized=id -Woverloaded-virtual -Wpointer-arith -Wredundant-decls -Wshadow -Wsign-compare -Wstrict-overflow=1 -Wswitch-enum -Wtrampolines -Wundef -Wunsafe-loop-optimizations -funsafe-loop-optimizations -Wc++11-compat -fsanitize=address -fsanitize=thread -Wclobbered -Wunused -Wunused-result -Wunused-variable -Wunused-parameter -Wunused-local-typedefs -Wwrite-strings -Wformat-security -fwrapv -pipe
   * CPP Flags:                  -fvisibility=hidden
   * LIB Flags:                 
   * Assertions enabled:        no
   * Debug enabled:             no
   * Shared:                    yes
   * Warnings as failure:       no
   * SASL support:              yes
   * make -j:                   2
   * VCS checkout:              no

但在我跑完之后我总是得到:

代码语言:javascript
复制
g++: error: -fsanitize=address is incompatible with -fsanitize=thread

这个错误意味着什么?

EN

回答 2

Server Fault用户

发布于 2013-12-10 10:43:36

这似乎是最近版本中的一个bug:https://bugs.launchpad.net/libmemcached/+bug/1169311

你可能不想建立流血边缘-使用最新的稳定版本,特别是如果你是在生产硬件。你试过建立一个稳定的版本吗?

票数 1
EN

Server Fault用户

发布于 2013-12-09 20:40:21

这两个选项都是clang版本的g++的选项。

http://clang.llvm.org/docs/ThreadSanitizer.html

http://clang.llvm.org/docs/AddressSanitizer.html

在构建可执行文件时,不能同时使用它们,因为它们加载不兼容的额外库。

查看config.log文件,并尝试找出在构建中启用这些选项的原因。配置过程中出现了一些问题,因为这两个选项都显著降低了代码的速度,默认情况下不应该进行配置。它们主要是为了帮助调试运行时错误,而不是在生产代码中。

检查与g++相关的环境变量。

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

https://serverfault.com/questions/560191

复制
相关文章

相似问题

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