Показать сообщение отдельно
  #1  
Старый 12.06.2017, 00:50
Slava Petrov
Guest
 
Сообщений: n/a
По умолчанию htick не собирается на CentOS 6.5

Slava Petrov написал(а) к All в Jun 17 15:50:28 по местному времени:

Good ${greeting_time}, All!

Сабж однако. Собирал фидо-комплект по рекомендациям тов. Гремлина, все работало отлично, за исключением того, что файлы из файлэх оставались всегда в инбаунде. Поначалу это не напрягало, потом таки надоело. Оказалось, что не установлен htick. Попробовал собрать rpm пакет и установить по аналогии -- и наткнулся на ошибку.

Сделано следующее:

$ wget 'http://husky.cvs.sf.net/viewvc/husky/htick/?view=tar' -O htick.tar.gz

$ rpmbuild -ta htick.tar.gz

И вот в процессе получаю ошибку:

+ make
gcc -c -s -O3 -fomit-frame-pointer -fstrength-reduce -fPIC -Ih -I/usr/include -W all -DUNIX src/htick.c
In file included from src/htick.c:82:
h/global.h:86: error: expected '=', ',', ';', 'asm' or '_attribute_' before 'cmRelink'
src/htick.c: In function 'processCommandLine':
src/htick.c:331: error: 'cmRelink' undeclared (first use in this function)
src/htick.c:331: error: (Each undeclared identifier is reported only once
src/htick.c:331: error: for each function it appears in.)
src/htick.c:331: error: 'modeRelink' undeclared (first use in this function)
src/htick.c:364: error: 'modeResubsribeWithFile' undeclared (first use in this function)

Ну и так далее. Я ненастоящий сишник, но провел небольшое исследование. В global.h имеется декларация переменной:

$ cat htick/h/global.h | grep cmRelink
extern e_relinkType cmRelink;

Тип этот в самом хедере не определен, но есть инклюд:

#include <fidoconf/fidoconf.h>

В этом хедере определяются аналогичные типы:

$ cat fidoconf.h | grep Type
typedef enum pollType {PKT, REQUEST, FLOFILE} e_pollType;
int areaType; / ECНOAREA, FILEAREA /
int msgbType; / MSGTYPESDM or MSGTYPESQUISН or /
typedef enum carbonType {ctto, ct_from, ct_kludge, ct_subject, ctgroup,
ctfromarea, ct_msgtext, ct_addr} ecarbonType;
e_carbonType ctype;
typedef enum filelistType { flDir, flGlobal, flDirList } e_filelistType;
e_filelistType flType;

И типа e_relinkType там нет вообще!

Таким образом, если я правильно понимаю, собрать htick вообще невозможно без серьезного патчинга. Поэтому вопроса два:

1. Реально ли пропатчить htick таким образом, чтобы он все-таки собрался? Мне, как пойнту, фактически нужна от него только функция toss.

2. Если кто-то уже это делал, не поделится ли он патченными исходниками или rpm-пакетом?

Конечно, можно написать свой мини-тоссер tic-файлов, структура-то примитивная. Но хотелось бы воспользоваться стандартными средствами.

Slava
... god@universe:~ # cvs up && make world
--- GoldED+/LNX-1.1.5-b20130910 (Linux 2.6.32-431.1.2.0.1.el6.i686 iF6M14)
Ответить с цитированием