Не собирается vsFTPd-3.0.2-ext1 под OpenBSD 5.7

Вопросы настройки и работы с этой ОС.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
WDA
проходил мимо
Сообщения: 8
Зарегистрирован: 2012-12-06 10:18:40

Не собирается vsFTPd-3.0.2-ext1 под OpenBSD 5.7

Непрочитанное сообщение WDA » 2016-02-16 19:13:49

Тому...кто это... найдет (с)

Не могу собрать vsFTPd.ext под OpenBSD 5.7
(http://vsftpd.devnet.ru/rus/)

Оригинальный (vsFTPd.ext) MakeFile

Код: Выделить всё

# Makefile for systems with GNU tools
CC    =       gcc
INSTALL   =       install
IFLAGS  = -idirafter dummyinc
#CFLAGS = -g
CFLAGS   =   -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 \
   -Wall -W -Wshadow -Werror -Wformat-security \
   -D_FORTIFY_SOURCE=2 \
   #-pedantic -Wconversion

LIBS   =       -lcap -ldl -lcrypt    -lpam    -lwrap -lnsl    -lssl -lcrypto
#                                     |        |               + VSF_BUILD_SSL
#                                     |        + VSF_BUILD_TCPWRAPPERS
#                                     + VSF_BUILD_PAM
LINK   =       -Wl,-s
LDFLAGS   =   -fPIE -pie -Wl,-z,relro -Wl,-z,now

OBJS   =   $(patsubst %.c,%.o,$(wildcard *.c))
#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 \
#    charconv.o pasvrules.o usersip.o http.o http_msg.o http_str.o


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

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

install:
   if [ -x /usr/local/sbin ]; then \
      $(INSTALL) -m 755 vsftpd /usr/local/sbin/vsftpd; \
   else \
      $(INSTALL) -m 755 vsftpd /usr/sbin/vsftpd; fi
   if [ -x /usr/local/man ]; then \
      $(INSTALL) -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; \
      $(INSTALL) -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; \
   elif [ -x /usr/share/man ]; then \
      $(INSTALL) -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; \
      $(INSTALL) -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; \
   else \
      $(INSTALL) -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; \
      $(INSTALL) -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi
   if [ -x /etc/xinetd.d ]; then \
      $(INSTALL) -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; fi

clean:
   rm -f *.o *.swp vsftpd



Мой MakeFile

Код: Выделить всё

# Makefile for systems with GNU tools
CC    =       gcc
INSTALL   =       install
IFLAGS  = -idirafter dummyinc
#CFLAGS = -g
CFLAGS   =   -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 \
   -Wall -W -Wshadow -Werror -Wformat-security \
   -D_FORTIFY_SOURCE=2 \
   #-pedantic -Wconversion

#LIBS   =   `./vsf_findlibs.sh`

LIBS   =       -lssl -lcrypto
#LIBS   =       -lcap -ldl -lcrypt    -lpam    -lwrap -lnsl    -lssl -lcrypto
#                                     |        |               + VSF_BUILD_SSL
#                                     |        + VSF_BUILD_TCPWRAPPERS
#                                     + VSF_BUILD_PAM
LINK   =       -Wl,-s
LDFLAGS   =   -fPIE -pie -Wl,-z,relro -Wl,-z,now

#OBJS   =   $(patsubst %.c,%.o,$(wildcard *.c))
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 \
    charconv.o pasvrules.o usersip.o http.o http_msg.o http_str.o


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

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


install:
   if [ -x /usr/local/sbin ]; then \
      $(INSTALL) -m 755 vsftpd /usr/local/sbin/vsftpd; \
   else \
      $(INSTALL) -m 755 vsftpd /usr/sbin/vsftpd; fi
   if [ -x /usr/local/man ]; then \
      $(INSTALL) -m 644 vsftpd.8 /usr/local/man/man8/vsftpd.8; \
      $(INSTALL) -m 644 vsftpd.conf.5 /usr/local/man/man5/vsftpd.conf.5; \
   elif [ -x /usr/share/man ]; then \
      $(INSTALL) -m 644 vsftpd.8 /usr/share/man/man8/vsftpd.8; \
      $(INSTALL) -m 644 vsftpd.conf.5 /usr/share/man/man5/vsftpd.conf.5; \
   else \
      $(INSTALL) -m 644 vsftpd.8 /usr/man/man8/vsftpd.8; \
      $(INSTALL) -m 644 vsftpd.conf.5 /usr/man/man5/vsftpd.conf.5; fi
   if [ -x /etc/xinetd.d ]; then \
      $(INSTALL) -m 644 xinetd.d/vsftpd /etc/xinetd.d/vsftpd; fi

clean:
   rm -f *.o *.swp vsftpd




Make

Код: Выделить всё

/home/work/vsFTPd-3.0.2-ext.1 >>make
gcc -c sysutil.c -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4  -Wall -W -Wshadow -Werror -Wformat-security  -D_FORTIFY_SOURCE=2   -idirafter dummyinc
cc1: warnings being treated as errors
sysutil.c: In function 'vsf_sysutil_get_datetimefmt':
sysutil.c:2828: warning: passing argument 1 of 'gmtime' from incompatible pointer type
sysutil.c:2830: warning: passing argument 1 of 'localtime' from incompatible pointer type
*** Error 1 in /home/work/vsFTPd-3.0.2-ext.1 (Makefile:34 'sysutil.o')
/home/work/vsFTPd-3.0.2-ext.1 >>


sysutil.c

Код: Выделить всё

const char*
vsf_sysutil_get_datetimefmt(int use_localtime, long curr_time, const char* fmt)
{
  static char datebuf[64];
  const struct tm* p_tm;
  int i = 0;
  if (!use_localtime) {
    p_tm = gmtime(&curr_time);
  } else {
    p_tm = localtime(&curr_time);
  }
    if (strftime(datebuf, sizeof(datebuf), fmt, p_tm) == 0)
    {
      die("strftime");
    }
  datebuf[sizeof(datebuf) - 1] = '\0';
  /* This hack is because %e in strftime() isn't so portable */
  while (datebuf[i] != '!' && datebuf[i] != '\0')
  {
    ++i;
  }
  if (datebuf[i] == '!')
  {
    datebuf[i] = ' ';
    if (datebuf[i+1] == '0')
    {
      datebuf[i+1] = ' ';
    }
  }
  return datebuf;
}



Помогите, пожалуйста.

Neus
капитан
Сообщения: 1718
Зарегистрирован: 2008-09-08 21:59:56

Не собирается vsFTPd-3.0.2-ext1 под OpenBSD 5.7

Непрочитанное сообщение Neus » 2016-02-16 20:24:22

Дык, у тебя параметр long curr_time, а используется как &curr_time.
Написал же компилятор в чем косяк.
Иными словами передаешь яблоко (сам объект), а используешь как адрес места где яблоко лежит.
Странно что компилятор трактует это как warning.
Это error за который бить надо букварем программирования.

WDA
проходил мимо
Сообщения: 8
Зарегистрирован: 2012-12-06 10:18:40

Не собирается vsFTPd-3.0.2-ext1 под OpenBSD 5.7

Непрочитанное сообщение WDA » 2016-02-17 0:33:43

Что мне нужно конкретно сделать ? Я не совсем понимаю в программировании.

Neus
капитан
Сообщения: 1718
Зарегистрирован: 2008-09-08 21:59:56

Не собирается vsFTPd-3.0.2-ext1 под OpenBSD 5.7

Непрочитанное сообщение Neus » 2016-02-17 7:44:41

задать вопрос разрабам как это компилировать
определение функции gmtime():
struct tm *gmtime(const time_t *time)
а вызывается:
gmtime(&curr_time)
где тип curr_time это long, а должен быть time_t*
--
ПС: не люблю С :)

WDA
проходил мимо
Сообщения: 8
Зарегистрирован: 2012-12-06 10:18:40

Не собирается vsFTPd-3.0.2-ext1 под OpenBSD 5.7

Непрочитанное сообщение WDA » 2016-02-17 14:48:40

"Кто же так строит..." (с)

"Письмо vsftpd@devnet.ru не может быть доставлено
Причина: письмо отправлено на несуществующий адрес"

И разработчиков не сыскать.

Neus
капитан
Сообщения: 1718
Зарегистрирован: 2008-09-08 21:59:56

Не собирается vsFTPd-3.0.2-ext1 под OpenBSD 5.7

Непрочитанное сообщение Neus » 2016-02-17 16:41:32

ищи аглицкий сайт
или ставь тот что в пакетах

WDA
проходил мимо
Сообщения: 8
Зарегистрирован: 2012-12-06 10:18:40

Не собирается vsFTPd-3.0.2-ext1 под OpenBSD 5.7

Непрочитанное сообщение WDA » 2016-02-17 23:11:06

Из пакетов уже несколько лет работает в аптайме, понадобились русские буквы.
Да кстати , в FreeBSD в портах он есть.

Neus
капитан
Сообщения: 1718
Зарегистрирован: 2008-09-08 21:59:56

Не собирается vsFTPd-3.0.2-ext1 под OpenBSD 5.7

Непрочитанное сообщение Neus » 2016-02-17 23:50:49

WDA писал(а):Из пакетов уже несколько лет работает в аптайме, понадобились русские буквы.
Да кстати , в FreeBSD в портах он есть.

Есть, я в знаю.
Но ты же на опенка компилишь.


Вернуться в «OpenBSD»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость