ncist2011 发表于 2014-10-08 11:42

编译vsftpd3.0.2失败

vsftpd-3.0.2# make
/opt/gcc-4.4.4/bin/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`
ld: fatal: option -z has illegal argument 'relro'
ld: fatal: flags processing errors
collect2: ld returned 1 exit status
make: *** Error 1

Makefile 中部分内容:

CFLAGS=   -O2 -fPIE --param=ssp-buffer-size=4 \
    -Wall -W -Wshadow -Wformat-security \
   -D_FORTIFY_SOURCE=2 \
    #-pedantic -Wconversion

LIBS    =   `./vsf_findlibs.sh`
LINK    =   -Wl,-s
LDFLAGS =   -fPIE -pie -Wl,-z,relro -Wl,-z,now      #这个地方报错,说是relro 非法,不知道为什么

OBJS    =   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


.c.o:
   $(CC) -c $*.c $(CFLAGS) $(IFLAGS)

vsftpd: $(OBJS)
   $(CC) -o vsftpd $(OBJS) $(LINK) $(LDFLAGS) $(LIBS)

非凡公子 发表于 2014-10-09 10:37

因为solaris的ld没有relro这个参数。。。删掉它再编译。能不能用我就不知道了
页: [1]
查看完整版本: 编译vsftpd3.0.2失败