gcc -c access.c -lcrypt -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c features.c -lcrypt -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c readwrite.c -lcrypt -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c opts.c -lcrypt -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c ssl.c -lcrypt -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c sslslave.c -lcrypt -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c ptracesandbox.c -lcrypt -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c ftppolicy.c -lcrypt -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c sysutil.c -lcrypt -O2 -Wall -W -Wshadow -idirafter dummyinc
gcc -c sysdeputil.c -lcrypt -O2 -Wall -W -Wshadow -idirafter dummyinc
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 -Wl,-s `./vsf_findlibs.sh`
sysdeputil.o: In function `vsf_sysdep_check_auth':
sysdeputil.c:(.text+0xf1): undefined reference to `crypt'
sysdeputil.c:(.text+0x122): undefined reference to `crypt'
解决方法:
打开Makefile
vim Makefile
LIBS = `./vsf_findlibs.sh`
末尾增加 -lcrypt 变成
LIBS = `./vsf_findlibs.sh` -lcrypt