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

Вопросы настройки и работы с этой ОС.
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
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;
}

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

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Neus
капитан
Сообщения: 1976
Зарегистрирован: 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
капитан
Сообщения: 1976
Зарегистрирован: 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
капитан
Сообщения: 1976
Зарегистрирован: 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
капитан
Сообщения: 1976
Зарегистрирован: 2008-09-08 21:59:56

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

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

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