免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5730 | 回复: 2
打印 上一主题 下一主题

[FastDFS] FastDFS_V5.05版本升级说明 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-01-28 16:39 |只看该作者 |倒序浏览
本帖最后由 gg9654 于 2015-01-28 16:40 编辑

为了大家避免,在升级FastDFS是碰到问题,分享一下,我升级版本的经验。

一、问题概述

最近从5.02 升级到V5.05 出现了一些编译上的问题,比如函数未定义之类的。系统采用的Centos 6.4 X64, 具体编译错误 如下
  1. trunk_mgr/trunk_mem.o: In function `storage_trunk_free_node':
  2. /usr/local/src/FastDFS/storage/trunk_mgr/trunk_mem.c:639: undefined reference to `fast_mblock_free'
  3. trunk_mgr/trunk_mem.o: In function `trunk_add_free_block':
  4. /usr/local/src/FastDFS/storage/trunk_mgr/trunk_mem.c:1192: undefined reference to `fast_mblock_alloc'
  5. trunk_mgr/trunk_mem.o: In function `trunk_add_space_by_node':
  6. /usr/local/src/FastDFS/storage/trunk_mgr/trunk_mem.c:600: undefined reference to `fast_mblock_free'
  7. /usr/local/src/FastDFS/storage/trunk_mgr/trunk_mem.c:611: undefined reference to `fast_mblock_free'
  8. trunk_mgr/trunk_mem.o: In function `trunk_create_trunk_file':
  9. /usr/local/src/FastDFS/storage/trunk_mgr/trunk_mem.c:1451: undefined reference to `fast_mblock_alloc'
  10. /usr/local/src/FastDFS/storage/trunk_mgr/trunk_mem.c:1494: undefined reference to `fast_mblock_free'
  11. trunk_mgr/trunk_mem.o: In function `trunk_delete_size_tree_entry':
  12. /usr/local/src/FastDFS/storage/trunk_mgr/trunk_mem.c:1261: undefined reference to `fast_mblock_free'
  13. trunk_mgr/trunk_mem.o: In function `trunk_delete_space':
  14. /usr/local/src/FastDFS/storage/trunk_mgr/trunk_mem.c:1345: undefined reference to `fast_mblock_free'
  15. trunk_mgr/trunk_mem.o: In function `trunk_split':
  16. /usr/local/src/FastDFS/storage/trunk_mgr/trunk_mem.c:1406: undefined reference to `fast_mblock_alloc'
  17. /usr/local/src/FastDFS/storage/trunk_mgr/trunk_mem.c:1422: undefined reference to `fast_mblock_free'
  18. trunk_mgr/trunk_mem.o: In function `trunk_free_space':
  19. /usr/local/src/FastDFS/storage/trunk_mgr/trunk_mem.c:1150: undefined reference to `fast_mblock_alloc'
  20. trunk_mgr/trunk_mem.o: In function `storage_trunk_destroy_ex':
  21. /usr/local/src/FastDFS/storage/trunk_mgr/trunk_mem.c:304: undefined reference to `fast_mblock_destroy'
  22. /usr/local/src/FastDFS/storage/trunk_mgr/trunk_mem.c:305: undefined reference to `fast_mblock_destroy'
  23. trunk_mgr/trunk_mem.o: In function `storage_trunk_restore':
  24. /usr/local/src/FastDFS/storage/trunk_mgr/trunk_mem.c:760: undefined reference to `fast_mblock_alloc'
  25. trunk_mgr/trunk_mem.o: In function `storage_trunk_init':
  26. /usr/local/src/FastDFS/storage/trunk_mgr/trunk_mem.c:200: undefined reference to `fast_mblock_init_ex'
复制代码
二、问题原因

这是由于老的libfastcommon无法支持新版的FastDFS。如果只是单纯编译新的libfastcommon,老的lib库不删除的话,会导致编译时链接到老的库,就是出现许多函数未定义,网上很多说要卸载FastDFS系统在安装,其实不用,只要将老的libfastcommon库删除就可以了。

三、解决方案

下面给出 具体指令,自测通过 仅供参考
  1. rm -rf /usr/local/lib/libfdfs*
  2. rm -rf /usr/local/lib/libfast*
  3. rm -rf /usr/lib64/libfastcommon.*
  4. rm -rf /usr/lib64/libfdfsclient.*
  5. rm -rf /usr/lib/libf*

  6. vim make.sh  
  7. TARGET_PREFIX=$DESTDIR/usr/  改成 TARGET_PREFIX=$DESTDIR/usr/local


  8. ln -s /usr/lib64/libfastcommon.so /usr/local/lib/libfastcommon.so
  9. ln -s /usr/lib64/libfastcommon.so /usr/lib/libfastcommon.so
  10. ln -s /usr/local/lib64/libfdfsclient.so /usr/local/lib/libfdfsclient.so
  11. ln -s /usr/local/lib64/libfdfsclient.so /usr/lib/libfdfsclient.so
复制代码
编辑 make.sh是由于 老的FastDFS安装在/usr/local/bin下,新版改成了/usr/bin 为了兼容老版 特此更改

论坛徽章:
3
CU十二周年纪念徽章
日期:2013-10-24 15:41:34双子座
日期:2014-03-02 00:11:39fulanqi
日期:2016-06-17 17:54:25
2 [报告]
发表于 2015-02-09 22:52 |只看该作者
谢谢,这么快5.05版就出来了。

论坛徽章:
0
3 [报告]
发表于 2015-04-30 13:56 |只看该作者
回复 1# gg9654


    5.05 的版本对应的java_client 应该使用那个??
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP