On-line: гостей 1. Всего: 1 [подробнее..]
АвторСообщение
постоянный участник




Пост N: 7840
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 31.08.24 19:04. Заголовок: LetoDB 3.00


https://github.com/elchs/LetoDBf/tree/master
Собираю LetoDBf из последних исходников на Debian GNU/Linux 11 (bullseye) x86_64
Версия ядра 5.10.0-27-amd64
запуск - hbmk2 letodb
Выдаёт кучу ошибок:
root@vm-1dce949a:~/Andrey/LetoDBf# hbmk2 letodb 
/usr/bin/ld: /usr/lib/harbour/libhbmemio.a(memio.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /usr/lib/harbour/libhbvmmt.a(hvmall.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /usr/lib/harbour/libhbvmmt.a(cmdarg.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /usr/lib/harbour/libhbvmmt.a(eval.o): relocation R_X86_64_32 against symbol `hb_symEval' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /usr/lib/harbour/libhbvmmt.a(extrap.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /usr/lib/harbour/libhbvmmt.a(initsymb.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /usr/lib/harbour/libhbvmmt.a(proc.o): relocation R_X86_64_32S against symbol `hb_symEval' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /usr/lib/harbour/libhbvmmt.a(runner.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /usr/lib/harbour/libhbvmmt.a(harbinit.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /usr/lib/harbour/libhbrtl.a(cdpapi.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /usr/lib/harbour/libhbrtl.a(chrasc.o): relocation R_X86_64_32S against symbol `hb_szAscii' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /usr/lib/harbour/libhbrtl.a(console.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /usr/lib/harbour/libhbrtl.a(datec.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /usr/lib/harbour/libhbrtl.a(dates.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /usr/lib/harbour/libhbrtl.a(dateshb.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /usr/lib/harbour/libhbrtl.a(errapi.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /usr/lib/harbour/libhbrtl.a(file.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /usr/lib/harbour/libhbrtl.a(filebuf.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /usr/lib/harbour/libhbrtl.a(filesys.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
....
collect2: error: ld returned 1 exit status
hbmk2[letodb]: Error: Running linker. 1
gcc '/tmp/hbmk_kZVs1X.dir/server.o' '/tmp/hbmk_kZVs1X.dir/errorsys.o' '/tmp/hbmk_kZVs1X.dir/common.o' '/tmp/hbmk_kZVs1X.dir/errint.o' '/tmp/hbmk_kZVs1X.dir/leto_lnx.o' '/tmp/hbmk_kZVs1X.dir/letoacc.o' '/tmp/hbmk_kZVs1X.dir/letovars.o' '/tmp/hbmk_kZVs1X.dir/letofunc.o' '/tmp/hbmk_kZVs1X.dir/letolist.o' '/tmp/hbmk_kZVs1X.dir/leto_2.o' '/tmp/hbmk_kZVs1X.dir/blowfish.o' '/tmp/hbmk_kZVs1X.dir/common_c.o' '/tmp/hbmk_kZVs1X.dir/lz4.o' '/tmp/hbmk_kZVs1X.dir/lz4net.o' '/tmp/hbmk_kZVs1X.dir/PMurHash.o' '/tmp/hbmk_kZVs1X.dir/hbmk_zyaxX0.o' -Wl,--start-group -lhbmemio -lhbct -lhbextern -lhbdebug -lhbvmmt -lhbrtl -lhblang -lhbcpage -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lm -lpthread -ldl -lrt -lhbpcre -lhbzlib -Wl,--end-group -s -obin/letodb -L/usr/lib/harbour

Как собрать Лето под Debian ?

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 34 , стр: 1 2 All [только новые]


постоянный участник




Пост N: 7850
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 09.09.24 16:52. Заголовок: Установил ЛетоДбф на..


Установил ЛетоДбф на Линукс.
Делаю:
letodb.ini 
...
Crypt_Traffic = 1 // перестаёт работать прога manage.exe
и при логине основная утилита висит

Далее, добавил ключ как и на Windows
;! У клиента на сервере могут быть запрещены запуски файловых ф-ии из целей безопасности,  
;! а сервер и клиенты должны продолжать работу с файлами dbf,
;! т.е. в ini
;! EnableFileFunc = 0 - если 1, то использование файловых функций (leto_file(), leto_ferase() и т.д.)
;! разрешено. В противном случае эти функции ничего не делают или возвращают .F.
;! т.е. код будет работать, а функции leto_file() .. проскакивать не выполняясь

EnableFileFunc = 1

Всё равно прога не возвращает значений функций leto_file(), leto_*()
Возвращает U
Или это нужно как то настраивать в самом Линуксе ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4631
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 10.09.24 08:18. Заголовок: Andrey пишет Crypt_..


Andrey пишет
 цитата:
Crypt_Traffic = 1 // перестаёт работать прога manage.exe
и при логине основная утилита висит


Readme.txt
 цитата:

Further LetoDBf offers blowfish encrypted network traffic in CBC mode.
This is activated on demand in conjunction with network compression, by using the cPassword>
parameter in Leto_Togglezip( nLevel, cPassword ).
Compression ( plus encryption ) can be activated immediate after a connection is established.
NEW: with server option "CRYPT_TRAFFIC" network traffic encryption is demanded to be used by
client, this is like above Leto_Togglezip() from the very beginning using a random password.
It will block any connection which is not using encryption.


После connect на клиенте надо использовать Leto_Togglezip(), иначе не шифрованные соединения блокируются

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7851
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 10.09.24 17:31. Заголовок: SergKis пишет: инач..


SergKis пишет:

 цитата:
иначе не шифрованные соединения блокируются


Хоть бы ошибку какую то выдавали...

Тогда получается, что нужна правка в утилите manage.exe
Что наверное будет сложно сделать.

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7852
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 10.09.24 20:46. Заголовок: Сервер ЛетоДбф работ..


Сервер ЛетоДбф работает на Debian 11, а моя прога много ругается на leto_F*()
Может что-то на Debian 11 что-то нужно подкрутить ?
Сделал в letodb.ini
EnableFileFunc = 1

Всё равно прога не возвращает значений функций leto_file(), leto_*()
Возвращает U


Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Пост N: 4181
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 11.09.24 12:05. Заголовок: Andrey пишет: Возвр..


Andrey пишет:

 цитата:
Возвращает U



Что значит возвращает U ? nil, что ли ?
leto_file возвращает или .T., или .F., т.е. L
Если это U, то leto_file не тот, какая-то проблема со сборкой клиента

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7853
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 11.09.24 19:47. Заголовок: С функцией leto_file..


С функцией leto_file() всё нормально, это я не туда посмотрел.
В Линуксе имена файлов различаются верхний и нижний регистр, т.е. в папке может быть test3.dbf и TEST3.dbf и tEst3.Dbf и т.д.
А я файлы проверяю как в Винде.
Функция leto_directory() не дает ВСЕ имена директорий почему то ....
И как с этим работать ????
Вот по этому коду:
 
cPath := ""
cMask := "*"
cAttr := "D"
cFunc := "leto_Directory"
lLeto := hb_IsFunction(cFunc)
aDir := hb_ExecFromArray(cFunc, {cPath + cMask, cAttr})
aDir равно "U"


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7865
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 21.09.24 22:13. Заголовок: Как различать какой ..


Как различать какой сервер запущен: на Windows или на Linux ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 4637
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 21.09.24 22:55. Заголовок: Andrey Уже в пример..


Andrey
Уже в примере использовал, смотри строки
 
a := leto_Udf("UDF_AppGetOptions")
oac:oAppOption := oHmgData()
IF IsArray(a) ; oac:oAppOption:Set(a)
ENDIF

?v oac:oAppOption:GetAll()
или
cTmp := leto_udf( "OS" )

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7932
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 25.11.24 16:33. Заголовок: Пытаюсь собрать серв..


Пытаюсь собрать сервер LetoDbf как службу.
В папке LetoDBf-master есть проекты:
letodb.hbp 
letodbaddon.hbp
letodbsvc.hbp
letoudf.hbp
make_b32.bat
make_vc.bat
makefile.bc

Сборка сервера под Win проходит: C:\MiniGui\batch\hbmk2.bat /n %* letodb.hbp
А для службы нет.
C:\MiniGui\batch\hbmk2.bat /n %* letodbsvc.hbp
Выдаёт ошибки:
 
D:\TEMP\hbmk_ebtn39.dir\server.c:
D:\TEMP\hbmk_ebtn39.dir\errorsys.c:
D:\TEMP\hbmk_ebtn39.dir\common.c:
source\server\errint.c:
source\server\leto_win.c:
source\server\letoacc.c:
source\server\letovars.c:
source\server\letofunc.c:
source\server\letolist.c:
source\server\leto_2.c:
Warning W8061 c:\borland\bcc58\Include\wspiapi.h 898: Initialization is only partially bracketed in function WspiapiLoad
+ Full parser context
+ source\server\leto_2.c, line 52: #include c:\borland\bcc58\Include\ws2tcpip.h
+ c:\borland\bcc58\Include\ws2tcpip.h, line 768: #include c:\borland\bcc58\Include\wspiapi.h
+ c:\borland\bcc58\Include\wspiapi.h, line 987: decision to instantiate: int (__stdcall *)() __stdcall WspiapiLoad(unsigned short)
+ --- Resetting parser context for instantiation...
+ c:\borland\bcc58\Include\wspiapi.h, line 893: parsing: int (__stdcall *)() __stdcall WspiapiLoad(unsigned short)
Warning W8061 c:\borland\bcc58\Include\wspiapi.h 903: Initialization is only partially bracketed in function WspiapiLoad
+ Full parser context
+ source\server\leto_2.c, line 52: #include c:\borland\bcc58\Include\ws2tcpip.h
+ c:\borland\bcc58\Include\ws2tcpip.h, line 768: #include c:\borland\bcc58\Include\wspiapi.h
+ c:\borland\bcc58\Include\wspiapi.h, line 987: decision to instantiate: int (__stdcall *)() __stdcall WspiapiLoad(unsigned short)
+ --- Resetting parser context for instantiation...
+ c:\borland\bcc58\Include\wspiapi.h, line 893: parsing: int (__stdcall *)() __stdcall WspiapiLoad(unsigned short)
source\common\blowfish.c:
source\common\common_c.c:
source\common\PMurHash.c:
D:\TEMP\hbmk_fi0mqd.c:
Turbo Incremental Link 5.69 Copyright (c) 1997-2005 Borland
Error: Unresolved external '_HB_FUN_HB_GT_GUI_DEFAULT' referenced from C:\MINIGUI_23_12_6\LIB\MINIGUI.LIB|h_error
Error: Unresolved external '_HB_FUN_HB_GT_GUI' referenced from D:\TEMP\HBMK_EBTN39.DIR\HBMK_FI0MQD.OBJ
hbmk2[letodbsvc]: Error: Running linker. 2

Как исправить ? Что нужно добавить ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7933
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.11.24 20:09. Заголовок: Получилось... Добави..


Получилось...
Добавил в letodbsvc.hbp строку:
{bcc}-lgtgui 
{bcc}-lhbmemio
{bcc}-lhbct
{!bcc}hbmemio.hbc
{!bcc}hbct.hbc


Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7934
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 30.11.24 20:59. Заголовок: Установил на сервере..


Установил на сервере Windows 2008 службу, запуск есть.
В лог letodbf.log пишет, что успешно запустился сервер.




Не могу при коннектиться из своей программы - выдаёт ошибку (1) connection error

Если запускать как отдельный ехе-ник (не службу) то коннект к серверу есть.
Что нужно сделать, чтобы служба заработала ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7935
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.12.24 13:16. Заголовок: Можно ли ехе-ник для..


Можно ли ехе-ник для службы (LetoDB.exe) переименовать в LetoDB_srv.exe ?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1745
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 01.12.24 15:13. Заголовок: Andrey пишет: Устан..


Andrey пишет:

 цитата:
Установил на сервере Windows 2008 службу, запуск есть


От имени какого пользователя запущена служба?

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник




Пост N: 7936
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 01.12.24 15:30. Заголовок: От админа !..


От админа !
Когда переименовал letodb.exe в letodb_srv.exe и запускаю как службу - запуск есть, коннекта из своей программы НЕТ.
Запускаю letodb.exe как обычную программу - запуск есть, коннект из своей программы ЕСТЬ !
Почему так ?
Хотелось бы иметь ДВА разных ехе-ника.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 34 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 14
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет