安装thrift时,注意openssl参数

在安装基于openssl-1.0.1c的thrift-0.9.0时,正常使用--with-openssl在configure时会出错,报“Error: libcrypto required.”错误,为解决这个错误,可以使用CPPFLAGS="-I$HOME/iflow/openssl/includeLDFLAGS="-ldl -L$HOME/iflow/openssl/lib"替代“--with-openssl”

经过上述操作后,编译时还会遇到::malloc未声明错误,这个时候需要修改config.h,一是在第一行加入#include <cstdlib>,二是注释掉#define malloc rpl_malloc一行

自动化脚本可以写成如下(前两行经测试可以不用):
sed -i -e 's!#define HAVE_MALLOC 0!#define HAVE_MALLOC 1!' config.h
sed -i -e 's!#define HAVE_REALLOC 0!#define HAVE_REALLOC 1!' config.h
sed -i -e 's!#define malloc rpl_malloc!/*#define malloc rpl_malloc*/!' config.h
sed -i -e 's!#define realloc rpl_realloc!/*#define realloc rpl_realloc*/!' config.h

注意
sed -i -e 's!#define HAVE_MALLOC 0!#define HAVE_MALLOC 1!' config.h
sed -i -e 's!#define HAVE_REALLOC 0!#define HAVE_REALLOC 1!' config.h
#include <cstdlib>
只需要其中一个操作即可
阅读(1138) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
原文地址:https://www.cnblogs.com/aquester/p/9891674.html