错误提示如下或者如图所示:
bles.o ftpdataio.o secbuf.o ls.o postprivparent.o logging.o str.o netstr.o sysstr.o strlist.o banner.o filestr.o parseconf.o secutil.o ascii.o oneprocess.o twoprocess.o privops.o standalone.o hash.o tcpwrap.o ipaddrparse.o access.o features.o readwrite.o opts.o ssl.o sslslave.o ptracesandbox.o ftppolicy.o sysutil.o sysdeputil.o -Wl,-s `./vsf_findlibs.sh`
sysdeputil.o: In function `vsf_sysdep_check_auth':
sysdeputil.c:(.text+0xf7): undefined reference to `crypt'
sysdeputil.c:(.text+0x128): undefined reference to `crypt'
collect2: ld returned 1 exit status
make: *** [vsftpd] 错误 1
如何解决?
我想自己定制一个适合我的ftp,但是不知道什么原因出现了这个错误,你能说的详细点吗,应该如何解决?
追答这要看你怎么装的系统了。这个问题除非自己乱装,不然不应该这样。
你除了这个程序,还有哪个程序是自己编译安装的?对应的 --prefix 是什么地方?
我用的是Ubuntu普通安装,在默认安装界面安装,好像在默认环境安装Ubuntu不可以选择自定义组件安装;分区是采用自己的boot 300mb、交换分区2000mb 、为了方便剩下的都给了\根目录
vsftpd的路径指定到了usr/local/vsftpd
ubuntu 默认安装是不太可能让你能成功编译出 vsftp 的,应该你还装了附加的东西。
追问我是在官方下载的最新版本的ubuntu11.04,没安装其他的,
追答那不可能出这个问题。
ubuntu 的软件仓库里就有 vsftp ……你真折腾
--------------------
X的,看来不是你的问题,是 ubuntu 的问题,我这里也不能编译。估计是某个函数库放的地方不对。
------------------
删了源代码。
sudo apt-get build-dep vsftpd
安装编译的依赖后再重新来就行了。
应该是依赖库不全导致的,而且貌似这东西没有检测基本环境的 configure 命令,所以出了问题很扯。
ubuntu 不是 fedora\rhel ,开发库只有最基本的几个东西,编译程序很多都需要附加安装别的程序、开发支持库什么的。所以 ubuntu 用户优先选择软件库里面的现成软件,自己编译必须依赖库装全。光有一个 build-elxxxx 的那个不行的。