我正在编译 vsftpd,但不断收到此错误:
[alex@lab vsftpd-3.0.3]$ make
gcc -o vsftpd main.o utility.o prelogin.o ftpcmdio.o postlogin.o \
privsock.o tunables.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 seccompsandbox.o \
-Wl,-s -fPIE -pie -Wl,-z,relro -Wl,-z,now
./vsf_findlibs.sh
/usr/bin/ld: cannot find -lcap
collect2: error: ld returned 1 exit status
make: *** [vsftpd] Error 1
我安装了 libpcap 1.9.0,但错误仍然存在。
答案1
由于您是从源代码构建代码,因此您需要libcap.so
未版本化的共享库。这些通常作为相应包的一部分提供-devel
。如果您不确定包名称,可以运行如下命令:
sudo yum install /usr/lib64/libcap.so
尽管在这种情况下,答案是您只需要安装该libcap-devel
软件包:
sudo yum install libcap-devel