LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1171|回复: 13

[已解决][求助]编译vsftpd出错。

[复制链接]
发表于 2007-6-18 19:46:09 | 显示全部楼层 |阅读模式
gcc -c sysdeputil.c -O2 -Wall -W -Wshadow  -idirafter dummyinc
sysdeputil.c:162: error: expected declaration specifiers or '...' before 'capset'
sysdeputil.c:162: error: expected declaration specifiers or '...' before 'header'
sysdeputil.c:162: error: expected declaration specifiers or '...' before 'data'
In file included from sysdeputil.c:170:
/usr/include/sys/sendfile.h: In function '_syscall2':
/usr/include/sys/sendfile.h:35: error: storage class specified for parameter 'sendfile'
sysdeputil.c:186: error: storage class specified for parameter 'environ'
sysdeputil.c:187: error: storage class specified for parameter 's_proctitle_space'
sysdeputil.c:187: error: parameter 's_proctitle_space' is initialized
sysdeputil.c:188: error: storage class specified for parameter 's_proctitle_inited'
sysdeputil.c:188: error: parameter 's_proctitle_inited' is initialized
sysdeputil.c:189: error: storage class specified for parameter 's_p_proctitle'
sysdeputil.c:189: error: parameter 's_p_proctitle' is initialized
sysdeputil.c:201: error: storage class specified for parameter 'do_sendfile'
sysdeputil.c:202: error: storage class specified for parameter 'vsf_sysutil_setproctitle_internal'
sysdeputil.c:203: error: storage class specified for parameter 's_proctitle_prefix_str'
sysdeputil.c:278: error: storage class specified for parameter 's_pamh'
sysdeputil.c:279: error: storage class specified for parameter 's_pword_str'
sysdeputil.c:281: error: storage class specified for parameter 'pam_conv_func'
sysdeputil.c:282: error: storage class specified for parameter 'vsf_auth_shutdown'
sysdeputil.c:288: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:383: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:398: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:436: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:474: error: storage class specified for parameter 'do_checkcap'
sysdeputil.c:478: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:497: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:514: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:527: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:604: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:641: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:796: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:803: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:809: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:856: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:889: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:930: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:935: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:976: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:1012: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:1128: error: storage class specified for parameter 's_uwtmp_inserted'
sysdeputil.c:1129: error: storage class specified for parameter 's_utent'
sysdeputil.c:1134: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:1173: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
sysdeputil.c:1189: error: old-style parameter declarations in prototyped function definition
sysdeputil.c:162: error: parameter name omitted
sysdeputil.c:162: error: parameter name omitted
sysdeputil.c:162: error: parameter name omitted
sysdeputil.c:1189: error: expected '{' at end of input
make: *** [sysdeputil.o] Error 1

如果不是为了中文补丁,我也不会去编译它。
网上有人说是内核库版本问题,不知到底是啥原因。

目前Debian4 中科大的testing源 全部更新。
gcc是gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)
发表于 2007-6-18 21:05:18 | 显示全部楼层
你编译的哪个版本?
用的哪个补丁?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-18 22:18:02 | 显示全部楼层
编译的2.0.5版,还没打补丁。

打补丁的也报错。
就是那个Arch版的补丁。
回复 支持 反对

使用道具 举报

发表于 2007-6-19 00:14:34 | 显示全部楼层
why not apt-get?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-19 09:10:54 | 显示全部楼层
apt-get for what ?
Is there a package named vsftpd-2.0.5-cn-patched ?

I do hope someone to compile the patched one.
Please use the first patch in http://www.linuxsir.cn/bbs/showthread.php?t=301341 , which is supplied by blance.
回复 支持 反对

使用道具 举报

发表于 2007-6-19 09:57:16 | 显示全部楼层
apt-get install cdbs libpam0g-dev libcap-dev libwrap0-dev libssl-dev quilt
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-19 11:03:54 | 显示全部楼层
成功。谢谢!

LS是如何知道缺哪些包的?
应该有个脚本程序帮忙吧?
回复 支持 反对

使用道具 举报

发表于 2007-6-19 11:21:25 | 显示全部楼层
apt-get source vsftpd
cat vsftpd-2.0.5/debian/control | grep Build-Depends
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-19 13:05:18 | 显示全部楼层
也就是依靠说明文件,是很实用的方法。

我想知道能否通过C代码中的#include等语句结合什么东西作出判断。

可现在想来,gcc并没说缺.h文件,那又是为什么?
回复 支持 反对

使用道具 举报

发表于 2007-6-19 13:09:21 | 显示全部楼层
apt-get build-dep vsftpd
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表