免费注册 查看新帖 |

Chinaunix

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

[FastDFS] my-fastdfs-client编译不成功 [复制链接]

论坛徽章:
1
金牛座
日期:2014-11-07 10:27:44
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-11-12 12:26 |只看该作者 |倒序浏览
余大好:
在编译my-fastdfs-client make时总是报错:
# cd /data/software/my-fastdfs-client/php-extension
# phpinze
# ./configure
# make    # 如下:
/data/software/my-fastdfs-client/php-extension/php_my_fastdfs_client.c:28:28: error: my_fdfs_client.h: No such file or directory
/data/software/my-fastdfs-client/php-extension/php_my_fastdfs_client.c:33: error: expected specifier-qualifier-list before ‘MyClientContext’
/data/software/my-fastdfs-client/php-extension/php_my_fastdfs_client.c:38: error: expected specifier-qualifier-list before ‘MyClientContext’
/data/software/my-fastdfs-client/php-extension/php_my_fastdfs_client.c: In function ‘php_my_fdfs_get_file_id_impl’:
/data/software/my-fastdfs-client/php-extension/php_my_fastdfs_client.c:306: error: ‘FDFSPhpContext’ has no member named ‘err_no’
/data/software/my-fastdfs-client/php-extension/php_my_fastdfs_client.c:316: error: ‘FDFSPhpContext’ has no member named ‘err_no’
/data/software/my-fastdfs-client/php-extension/php_my_fastdfs_client.c:320: error: ‘FDFSPhpContext’ has no member named ‘err_no’
/data/software/my-fastdfs-client/php-extension/php_my_fastdfs_client.c:322: error: ‘FDFSPhpContext’ has no member named ‘err_no’
cc1: warnings being treated as errors
/data/software/my-fastdfs-client/php-extension/php_my_fastdfs_client.c:322: error: implicit declaration of function ‘my_fdfs_get_file_id’
/data/software/my-fastdfs-client/php-extension/php_my_fastdfs_client.c:322: error: ‘FDFSPhpContext’ has no member named ‘pMyClientContext’

于是我从c目录中拷贝一份my_fdfs_client.h 到php目录,然后再make的时候,又报如下错误:
cc -shared  .libs/php_my_fastdfs_client.o  -L/usr/local/lib -lmyfdfsclient -lfdhtclient -lfdfsclient -lfastcommon  -Wl,-rpath -Wl,/usr/local/lib -Wl,-rpath -Wl,/usr/local/lib -Wl,-rpath -Wl,/usr/local/lib -Wl,-rpath -Wl,/usr/local/lib -Wl,-soname -Wl,my_fastdfs_client.so -o .libs/my_fastdfs_client.so
/usr/bin/ld: cannot find -lmyfdfsclient
collect2: ld returned 1 exit status
make: *** [my_fastdfs_client.la] Error 1

在网上看说要到c目录中make&&make install 一下才可以,可是到c目录make的时候依然报错:
cc -Wall -O -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -DDEBUG_FLAG -DOS_LINUX -c -o my_fdfs_client.o my_fdfs_client.c  -I/usr/local/include/fastcommon -I/usr/local/include/fastdfs -I/usr/local/include/fastdht
my_fdfs_client.c: In function ‘my_fdfs_upload_by_filename_ex’:
my_fdfs_client.c:114: error: ‘ConnectionInfo’ undeclared (first use in this function)
my_fdfs_client.c:114: error: (Each undeclared identifier is reported only once
my_fdfs_client.c:114: error: for each function it appears in.)
my_fdfs_client.c:114: error: ‘pTrackerServer’ undeclared (first use in this function)
my_fdfs_client.c:115: error: ‘pStorageServer’ undeclared (first use in this function)
my_fdfs_client.c: In function ‘my_fdfs_do_upload_file’:
my_fdfs_client.c:178: error: ‘ConnectionInfo’ undeclared (first use in this function)
my_fdfs_client.c:178: error: ‘pTrackerServer’ undeclared (first use in this function)
my_fdfs_client.c:179: error: ‘pStorageServer’ undeclared (first use in this function)
my_fdfs_client.c: In function ‘my_fdfs_upload_by_callback_ex’:
my_fdfs_client.c:246: error: ‘ConnectionInfo’ undeclared (first use in this function)
my_fdfs_client.c:246: error: ‘pTrackerServer’ undeclared (first use in this function)
my_fdfs_client.c:247: error: ‘pStorageServer’ undeclared (first use in this function)
my_fdfs_client.c: In function ‘my_fdfs_delete_file’:
my_fdfs_client.c:305: error: ‘ConnectionInfo’ undeclared (first use in this function)
my_fdfs_client.c:305: error: ‘pTrackerServer’ undeclared (first use in this function)
my_fdfs_client.c:306: error: ‘pStorageServer’ undeclared (first use in this function)
my_fdfs_client.c: In function ‘my_fdfs_do_download_file_ex’:
my_fdfs_client.c:361: error: ‘ConnectionInfo’ undeclared (first use in this function)
my_fdfs_client.c:361: error: ‘pTrackerServer’ undeclared (first use in this function)
my_fdfs_client.c:362: error: ‘pStorageServer’ undeclared (first use in this function)
my_fdfs_client.c: In function ‘my_fdfs_download_file_to_file’:

我的版本:
PHP 5.4.31
my-fastdfs-client_v1.01
FastDFS_v4.04
FastDHT_v1.21
libevent-1.4.13
CentOS 6.4-64位
安装顺序是:PHP—>libevent—>fastdfs—>fastdht—>my-fastdfs-client_v1.01
是还有依赖的库文件没安装吗?还是版本不匹配啊?

论坛徽章:
1
金牛座
日期:2014-11-07 10:27:44
2 [报告]
发表于 2014-11-12 14:42 |只看该作者
找到原因了,是c目录下的“my_fdfs_link_library.sh” 脚本建立连接不成功导致,因为“/usr/local/lib/libmyfdfsclient.so.1” 这个文件不存在。。。
可是为什么/usr/local/lib/libmyfdfsclient.so.1 这个文件没装上呢??少安装啥了?

论坛徽章:
1
金牛座
日期:2014-11-07 10:27:44
3 [报告]
发表于 2014-11-12 14:42 |只看该作者
找到原因了,是c目录下的“my_fdfs_link_library.sh” 脚本建立连接不成功导致,因为“/usr/local/lib/libmyfdfsclient.so.1” 这个文件不存在。。。
可是为什么/usr/local/lib/libmyfdfsclient.so.1 这个文件没装上呢??少安装啥了?

论坛徽章:
0
4 [报告]
发表于 2016-04-19 15:45 |只看该作者
要把这个so文件拷贝过去。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP