| Автор | Сообщение |
|
|
| постоянный участник
|
Пост 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 ? 
|
 |

|
|
Ответов - 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 Или это нужно как то настраивать в самом Линуксе ? 
|
 |

|
|
|
| постоянный участник
|
Пост 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(), иначе не шифрованные соединения блокируются
|
 |

|
|
|
| постоянный участник
|
Пост N: 7851
Зарегистрирован: 12.09.06
|
|
Отправлено: 10.09.24 17:31. Заголовок: SergKis пишет: инач..
SergKis пишет: | цитата: | | иначе не шифрованные соединения блокируются |
| Хоть бы ошибку какую то выдавали... Тогда получается, что нужна правка в утилите manage.exe Что наверное будет сложно сделать.
|
 |

|
|
|
| постоянный участник
|
Пост N: 7852
Зарегистрирован: 12.09.06
|
|
Отправлено: 10.09.24 20:46. Заголовок: Сервер ЛетоДбф работ..
Сервер ЛетоДбф работает на Debian 11, а моя прога много ругается на leto_F*() Может что-то на Debian 11 что-то нужно подкрутить ? Сделал в letodb.ini EnableFileFunc = 1 Всё равно прога не возвращает значений функций leto_file(), leto_*() Возвращает U 
|
 |

|
|
|
| Администратор
|
Пост N: 4181
Зарегистрирован: 23.05.05
|
|
Отправлено: 11.09.24 12:05. Заголовок: Andrey пишет: Возвр..
Andrey пишет: Что значит возвращает U ? nil, что ли ? leto_file возвращает или .T., или .F., т.е. L Если это U, то leto_file не тот, какая-то проблема со сборкой клиента
|
 |

|
|
|
| постоянный участник
|
Пост 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"
|
 |

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

|
|
|
| постоянный участник
|
Пост 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" )
|
 |

|
|
|
| постоянный участник
|
Пост 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 Как исправить ? Что нужно добавить ? 
|
 |

|
|
|
| постоянный участник
|
Пост N: 7933
Зарегистрирован: 12.09.06
|
|
Отправлено: 30.11.24 20:09. Заголовок: Получилось... Добави..
Получилось... Добавил в letodbsvc.hbp строку: {bcc}-lgtgui {bcc}-lhbmemio {bcc}-lhbct {!bcc}hbmemio.hbc {!bcc}hbct.hbc
|
 |

|
|
|
| постоянный участник
|
Пост N: 7934
Зарегистрирован: 12.09.06
|
|
Отправлено: 30.11.24 20:59. Заголовок: Установил на сервере..
Установил на сервере Windows 2008 службу, запуск есть. В лог letodbf.log пишет, что успешно запустился сервер. Не могу при коннектиться из своей программы - выдаёт ошибку (1) connection error Если запускать как отдельный ехе-ник (не службу) то коннект к серверу есть. Что нужно сделать, чтобы служба заработала ? 
|
 |

|
|
|
|
|
| постоянный участник
|
Пост N: 7935
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.12.24 13:16. Заголовок: Можно ли ехе-ник для..
Можно ли ехе-ник для службы (LetoDB.exe) переименовать в LetoDB_srv.exe ? 
|
 |

|
|
|
| постоянный участник
|
Пост N: 1745
Зарегистрирован: 27.01.07
|
|
Отправлено: 01.12.24 15:13. Заголовок: Andrey пишет: Устан..
Andrey пишет: | цитата: | | Установил на сервере Windows 2008 службу, запуск есть |
| От имени какого пользователя запущена служба?
|
 |

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

|
|
Ответов - 34
, стр:
1
2
All
[только новые]
|
|