1、make过程中总是: src/generate/thrift-t_c_glib_generator.o: file not recognized: File truncated
/var/log/message查看了内核日志:发现 localhost kernel: Out of memory
怀疑是内存不足导致,看了下虚拟机内存分配只有1g,增加到2g后,make,一切ok。
2、 ./src/thrift/server/TNonblockingServer.h:41:33: error: event2/event_compat.h: No such file or directory
./src/thrift/server/TNonblockingServer.h:42:33: error: event2/event_struct.h: No such file or directory
---系统没有装libevent网络库导致的,安装后,就OK.
3、/usr/local/lib/libthriftnb.so: undefined reference to `event_set'
/usr/local/lib/libthriftnb.so: undefined reference to `evbuffer_new'
/usr/local/lib/libthriftnb.so: undefined reference to `evhttp_free'
--发现是系统中存在两个版本的libevent导致的,二编译thrift时连接到了旧版本的libevent
如下:
/usr/lib64/libevent.so -> libevent-1.4.so.2.1.3
/usr/lib64/libevent.so -> libevent-1.4.so.2.1.3
建立新版本的软连接即可。

本文解决了Thrift在编译过程中遇到的内存不足、缺少文件及版本冲突等问题,通过增加虚拟机内存、安装缺失的库文件以及调整依赖版本等步骤成功完成编译。
1085

被折叠的 条评论
为什么被折叠?



