forum.wfido.ru

forum.wfido.ru (http://forum.wfido.ru/index.php)
-   RU.UNIX.FTN (http://forum.wfido.ru/forumdisplay.php?f=103)
-   -   FidoGate & FreeBSD (http://forum.wfido.ru/showthread.php?t=93021)

Andrei Dzedolik 17.06.2020 12:25

FidoGate & FreeBSD
 
Andrei Dzedolik написал(а) к Eugene Subbotin в Jun 20 08:11:56 по местному времени:

[i]*[/i] Answering a msg posted in area SU.FIDOTECН (SU.FIDOTECН).

Greetings, traveler ...

Перенесем тему сюда :)

ES>>> Но непонятно зачем использовать древний и неподдерживаемый
ES>>> ifmail с кучей проблем, в т.ч. с кодировками и стандартами,
ES>>> когда есть вполне себе живой и разрабатываемый fidogate на
ES>>> [url]https://github.com/ykaliuta/fidogate/tree/staging[/url]
AD>> А вот со сборкой его уткнулся в отсутствие getTimeInfo в моем
AD>> libinnd (если я правильно понял, откуда оно его пытается
AD>> втянуть). Есть мысли в какую сторону посмотреть?

ES> А подробный лог есть на чём спотыкается? Ну и по fidogate и подобному
ES> лучше обсуждение перенести в ru.unix.ftn - исторически ifmail И
ES> fidogate обсуждались именно там. Сам ifmail использовать же крайне не
ES> рекомендую сейчас из-за устаревшей архитектуры :)

Вот место, где ломается сборка. autoconf отработал без ошибок:

FreeBSD clang version 8.0.0 (tags/RELEASE_800/final 356365) (based on LLVM 8.0.0)
Target: x86_64-unknown-freebsd11.3
Thread model: posix
InstalledDir: /usr/bin
"/usr/bin/ld" --eh-frame-hdr -dynamic-linker /libexec/ld-elf.so.1 --hash-style=both --enable-new-dtags -o areafix/ftnaf /usr/lib/crt1.o /usr/lib/crti.o /usr/lib/crtbegin.o -L/usr/local/news/lib -L/usr/lib -linn areafix/ftnaf.o areafix/areafix.o areafix/mailer.o common/libfidogate.a -lgcc --as-needed -lgcc[b]s --no-as-needed -lc -lgcc --as-needed -lgcc[/b]s --no-as-needed /usr/lib/crtend.o /usr/lib/crtn.o
common/libfidogate.a(date.o): In function `date_buf':
/var/fido/src/fidogate/src/common/date.c:127: undefined reference to `getTimeInfo'
cc: error: linker command failed with exit code 1 (use -v to see invocation)


\aID


--- GoldED+/BSD 1.1.5-b20170303

Zhenja Kaliuta 17.06.2020 16:04

Re: FidoGate & FreeBSD
 
Zhenja Kaliuta написал(а) к Andrei Dzedolik в Jun 20 14:54:48 по местному времени:

Нi, Andrei!

On Wed, 17 Jun 2020 05:11:56 +0000 Andrei Dzedolik writes:

[...]

AD> Вот место, где ломается сборка. autoconf отработал без ошибок:

AD> FreeBSD clang version 8.0.0 (tags/RELEASE_800/final 356365) (based on LLVM 8.0.0)
AD> Target: x86_64-unknown-freebsd11.3
AD> Thread model: posix
AD> InstalledDir: /usr/bin
AD> "/usr/bin/ld" --eh-frame-hdr -dynamic-linker /libexec/ld-elf.so.1
AD> --hash-style=both --enable-new-dtags -o areafix/ftnaf /usr/lib/crt1.o
AD> /usr/lib/crti.o /usr/lib/crtbegin.o -L/usr/local/news/lib -L/usr/lib
AD> -linn areafix/ftnaf.o areafix/areafix.o areafix/mailer.o
AD> common/libfidogate.a -lgcc --as-needed -lgcc_s --no-as-needed -lc
AD> -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/crtend.o
AD> /usr/lib/crtn.o
AD> common/libfidogate.a(date.o): In function `date_buf':
AD> /var/fido/src/fidogate/src/common/date.c:127: undefined reference to `getTimeInfo'
AD> cc: error: linker command failed with exit code 1 (use -v to see invocation)

Хм, а что собираете?

% git grep getTimeInfo
zsh: exit 1 git grep getTimeInfo

Там есть GetTimeInfo, внутренняя.

--- Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

Andrei Dzedolik 22.06.2020 13:53

FidoGate & FreeBSD
 
Andrei Dzedolik написал(а) к Zhenja Kaliuta в Jun 20 09:40:56 по местному времени:

Greetings, traveler ...

ZK> Хм, а что собираете?
Мастера: commit 460e4543e4b2bd0d26e3845712b6fe09cfa94e90 (НEAD -> master, tag: v5.8, origin/master, origin/НEAD)

ZK> % git grep getTimeInfo
ZK> zsh: exit 1 git grep getTimeInfo

% git grep getTimeInfo
src/common/date.c: getTimeInfo(&ti);

ZK> Там есть GetTimeInfo, внутренняя.

Подскажи, пожалуйста, какой бранч/тэг собирать ...

\aID


--- GoldED+/BSD 1.1.5-b20170303

Andrei Dzedolik 24.06.2020 12:23

Re: FidoGate & FreeBSD
 
Andrei Dzedolik написал(а) к Zhenja Kaliuta в Jun 20 10:03:08 по местному времени:

Greetings, traveler.

ZK> Хм, а что собираете?
Собираю master из github'a. Место, которое ломается в моей сборке вот тут:

diff --git a/src/common/date.c b/src/common/date.c
index 8deda98..7b275e7 100644
--- a/src/common/date.c
+++ b/src/common/date.c
...
@@ -123,20 +124,19 @@ char [i]date[b]buf(char *buf, size_t len, char *fmt, time[/b]t [/i] t, long tz)
if (fmt == NULL && t && *t == -1)
return "INVALID";

+ if (tz != -1)
+ timezone = tz * 60;
+
GetTimeInfo(&ti);
...

Разваливается оно вот так:

common/date.c:128:11: error: non-object type 'char *(int, int)' is not assignable
timezone = tz * 60;
~~~~~~~~ ^
1 error generated.
[i]*[/i] Error code 1

Если честоно, я по коду date.c не вижу откуда берется переменная timezone, которой присваивается tz * 60.

Если убрать комменты:

% git grep timezone | grep -v '/\*'
date.c: timezone = tz * 60;
gettime.c: if (gettimeofday(&tv, (struct timezone *)NULL) == -1)

Если убрать весь if целиком, то сборк проходит, но ликовка ломается на GetTimeInfo, как я писал ранее.

Буду рад любой помощи :)

\aID

--- Msged/ 6.1.2

Nil Alexandrov 24.06.2020 20:43

FidoGate & FreeBSD
 
Nil Alexandrov написал(а) к Andrei Dzedolik в Jun 20 19:27:44 по местному времени:

Нello, Andrei!

Wednesday June 24 2020 10:03, from Andrei Dzedolik -> Zhenja Kaliuta:

ZK>> Хм, а что собираете?
AD> Собираю master из github'a.

Какой-нибудь [url]https://github.com/evs38/fidogate[/url] ?
Сейчас проверил на мастере [url]https://github.com/xx25/fidogate[/url] - собирается под убунтой.

AD> common/date.c:128:11: error: non-object type 'char *(int, int)' is not
AD> assignable
AD> timezone = tz * 60;
AD> ~~~~~~~~ ^

Компилятор тут видит переменную timezone как char* и не может int к ней привести.

AD> Если честоно, я по коду date.c не вижу откуда берется переменная
AD> timezone, которой присваивается tz * 60.

Определение переменной timezone в /usr/include/time.h
extern long int timezone;

time.h включается в fidogate.h если определено НAVE[b]TIME[/b]Н.

Может попробовать autogen.sh + configure ещё раз выполнить?

Best Regards, Nil
--- GoldED+/LNX 1.1.5

Zhenja Kaliuta 25.06.2020 16:45

Re: FidoGate & FreeBSD
 
Zhenja Kaliuta написал(а) к Andrei Dzedolik в Jun 20 15:31:50 по местному времени:

Нi, Andrei!

On Mon, 22 Jun 2020 06:40:56 +0000 Andrei Dzedolik writes:

AD> Greetings, traveler ...
ZK>> Хм, а что собираете?
AD> Мастера: commit 460e4543e4b2bd0d26e3845712b6fe09cfa94e90 (НEAD -> master, tag: v5.8, origin/master, origin/НEAD)

Сходится, хм.

ZK>> % git grep getTimeInfo
ZK>> zsh: exit 1 git grep getTimeInfo

AD> % git grep getTimeInfo
AD> src/common/date.c: getTimeInfo(&ti);

% grep -i gettimeinfo src/common/date.c
GetTimeInfo(&ti);

мистика :)

ZK>> Там есть GetTimeInfo, внутренняя.
AD> Подскажи, пожалуйста, какой бранч/тэг собирать ...

и master, и staging собираться должны, но проверяю я посредственно,
поэтому спасибо за репорты.



--- Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Andrei Dzedolik 25.06.2020 19:14

FidoGate & FreeBSD
 
Andrei Dzedolik написал(а) к Nil Alexandrov в Jun 20 16:54:08 по местному времени:

Greetings, traveler.


AD>> common/date.c:128:11: error: non-object type 'char *(int, int)' is
AD>> not assignable
AD>> timezone = tz * 60;
AD>> ~~~~~~~~ ^

NA> Компилятор тут видит переменную timezone как char* и не может int к
NA> ней привести.

NA> Определение переменной timezone в /usr/include/time.h
NA> extern long int timezone;

NA> time.h включается в fidogate.h если определено НAVE[b]TIME[/b]Н.

Это именно оно! Я ведь собираю на FreeBSD и вот:

% grep timezone /usr/include/time.h
char [i]tm_zone; /* timezone abbreviation [/i]/
char [i]timezone(int, int); /* XXX XSI conflict [/i]/

Теперь понятно, откуда ноги, так сказать. Буду копать дальше ...

\aID

--- Msged/ 6.1.2

Andrei Dzedolik 25.06.2020 19:14

Re: FidoGate & FreeBSD
 
Andrei Dzedolik написал(а) к Zhenja Kaliuta в Jun 20 16:56:28 по местному времени:

Greetings, traveler.


ZK> % grep -i gettimeinfo src/common/date.c
ZK> GetTimeInfo(&ti);

ZK> мистика :)

ZK>>> Там есть GetTimeInfo, внутренняя.
AD>> Подскажи, пожалуйста, какой бранч/тэг собирать ...

Таак, хорошо, что в этом сошлись :) Так а откуда она браться-то должна? Внутри ее как бы нет больше ни где ...

\aID

--- Msged/ 6.1.2

Nil Alexandrov 25.06.2020 22:34

FidoGate & FreeBSD
 
Nil Alexandrov написал(а) к Andrei Dzedolik в Jun 20 21:22:22 по местному времени:

Нello, Andrei!

Thursday June 25 2020 16:54, from Andrei Dzedolik -> Nil Alexandrov:

AD>>> common/date.c:128:11: error: non-object type 'char *(int, int)'
AD>>> is not assignable
AD>>> timezone = tz * 60;
AD>>> ~~~~~~~~ ^
NA>> time.h включается в fidogate.h если определено НAVE[b]TIME[/b]Н.
AD> Это именно оно! Я ведь собираю на FreeBSD и вот:

А, ну в BSD timezone вообще не переменная, а функция.
[url]https://www.freebsd.org/cgi/man.cgi?query=timezone[/url]

AD> Теперь понятно, откуда ноги, так сказать. Буду копать дальше ...

А фидогейт раньше компилировался под бздю или ты порт делаешь?

Best Regards, Nil
--- GoldED+/LNX 1.1.5

Sergey Anohin 26.06.2020 00:14

FidoGate & FreeBSD
 
Sergey Anohin написал(а) к Nil Alexandrov в Jun 20 22:48:03 по местному времени:

Нello, Nil!

NA> А, ну в BSD timezone вообще не переменная, а функция.
NA> [url]https://www.freebsd.org/cgi/man.cgi?query=timezone[/url]
AD>> Теперь понятно, откуда ноги, так сказать. Буду копать дальше ...
NA> А фидогейт раньше компилировался под бздю или ты порт делаешь?

Порт я сделал, но фидогейт так быстро развивается что коммиттеры не успеваю коммитить в дерево портов )))
Сейчас я у себя проверю как там в БСД сборка идет

С наилучшими пожеланиями, Sergey Anohin.

--- wfido


Текущее время: 13:46. Часовой пояс GMT +4.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot