| Автор | Сообщение |
|
|
| постоянный участник
|
Пост 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: 1740
Зарегистрирован: 27.01.07
|
|
Отправлено: 31.08.24 20:06. Заголовок: Тут вот компилятор с..
Тут вот компилятор сам предлагает: can not be used when making a PIE object; recompile with -fPIE
|
 |

|
|
|
| постоянный участник
|
Пост N: 7841
Зарегистрирован: 12.09.06
|
|
Отправлено: 31.08.24 22:00. Заголовок: PSP пишет: recompil..
PSP пишет: И куда это вставлять ? Я очень давно, лет 7 назад собирал под Linux, но тогда сразу собрался. А сейчас труба... 
|
 |

|
|
|
| постоянный участник
|
Пост N: 1741
Зарегистрирован: 27.01.07
|
|
Отправлено: 01.09.24 07:36. Заголовок: hbmk2 letodb - это ч..
hbmk2 letodb - это что (подчеркнутое)?
|
 |

|
|
|
| |
Пост N: 7968
Зарегистрирован: 17.05.05
|
|
Отправлено: 01.09.24 19:02. Заголовок: Andrey пишет: И куд..
Andrey пишет: в HBP файлик думается
|
 |

|
|
|
| постоянный участник
|
Пост N: 7842
Зарегистрирован: 12.09.06
|
|
Отправлено: 01.09.24 23:40. Заголовок: https://i.postimg.cc..
|
 |

|
|
|
| постоянный участник
|
Пост N: 4625
Зарегистрирован: 17.02.12
|
|
Отправлено: 02.09.24 09:55. Заголовок: Andrey пишет:И куда ..
Andrey пишет: может тут есть про это, запуск hbmk2.exe -help > hbmk2.lst и смотри параметры hbmk2
|
 |

|
|
|
| |
Пост N: 7969
Зарегистрирован: 17.05.05
|
|
Отправлено: 02.09.24 13:37. Заголовок: это опция gcc добавь..
это опция gcc добавь в HBP строку -pie
|
 |

|
|
|
| постоянный участник
|
Пост N: 7843
Зарегистрирован: 12.09.06
|
|
Отправлено: 02.09.24 14:37. Заголовок: Не помогает... https..
Не помогает... 
|
 |

|
|
|
| постоянный участник
|
Пост N: 4626
Зарегистрирован: 17.02.12
|
|
Отправлено: 02.09.24 16:05. Заголовок: Andrey в протоколе ...
Andrey в протоколе ... recompile with -fPIE, если это к параметрам запуска, то надо так и задавать, причем hbmk2 [options] [<script[ s ]>] <src[ s ][.prg|.c|.obj|.o|.rc|.res|.def|.po|.pot|.hbl|@.clp|.d|.ch]> Options: ... -F<framework> link with <framework> framework (Darwin only) ... т.е. -help надо смотреть Дима, говорит про вставку в файл сборки <имя>.hbp пробуй
|
 |

|
|
|
| постоянный участник
|
Пост N: 7844
Зарегистрирован: 12.09.06
|
|
Отправлено: 02.09.24 22:51. Заголовок: Не помогает, не соби..
|
 |

|
|
|
| постоянный участник
|
Пост N: 7845
Зарегистрирован: 12.09.06
|
|
Отправлено: 05.09.24 09:11. Заголовок: Поставил флаг в leto..
Поставил флаг в letodb.hbp -cflag=-fPIE Такая же ошибка. И как собрать ? 
|
 |

|
|
|
|
|
| |
Пост N: 7970
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.09.24 12:02. Заголовок: Пошатай гугл вот так..
Пошатай гугл вот такой строкой , ответов много и решение найдешь "can not be used when making a PIE object; recompile with -fPIE"
|
 |

|
|
|
| |
Пост N: 7971
Зарегистрирован: 17.05.05
|
|
Отправлено: 05.09.24 13:32. Заголовок: Andrey а так ? ) -c..
|
 |

|
|
|
| moderator
|
Пост N: 1615
Зарегистрирован: 06.07.06
|
|
Отправлено: 05.09.24 15:25. Заголовок: Dima пишет: а так ?..
Dima пишет: | цитата: | а так ? ) -cflag=-fno-pie |
| Правильнее будет: -ldflag=-no-pie потому что это флаг линкера
|
 |

|
|
|
| постоянный участник
|
Пост N: 7847
Зарегистрирован: 12.09.06
|
|
Отправлено: 08.09.24 00:02. Заголовок: Спасибо БОЛЬШОЕ ! :..
Спасибо БОЛЬШОЕ ! С этим ключом компиляция прошла нормально ! https://github.com/elchs/LetoDBf/tree/master/source/3rd/lz4 А как делать архив ОДНОГО файла на сервере ? Что-то примеров нет... Допустим имею базу в 400 Мб на сервере, легче его там сжать, а потом скопировать к себе, чем сразу копировать к себе. В LetoDb делал свою функцию, а здесь вроде готовая есть.
|
 |

|
|
|
| постоянный участник
|
Пост N: 1742
Зарегистрирован: 27.01.07
|
|
Отправлено: 08.09.24 09:14. Заголовок: Andrey пишет: легче..
Andrey пишет: | цитата: | | легче его там сжать, а потом скопировать к себе, чем сразу копировать к себе |
| Очевидно, что меньший файл скопируется быстрее)
|
 |

|
|
|
| постоянный участник
|
Пост N: 7848
Зарегистрирован: 12.09.06
|
|
Отправлено: 08.09.24 15:22. Заголовок: Как сделать полный B..
Как сделать полный BACKUP базы Доку смотрел на сайте, там ничего про это нет. В файле letodb.ini есть такие строки: DataBase = / Backup = /tmp/backup Mask = *.dbf,*.dbt,*.ntx Lock = 1 Seconds = 30 Wait = 1 ArcCmd = tar -cvzf /tmp/backup/leto.tar.gz /tmp/backup/* И как этим пользоваться ? 
|
 |

|
|
|
| постоянный участник
|
Пост N: 4629
Зарегистрирован: 17.02.12
|
|
Отправлено: 08.09.24 16:27. Заголовок: Andrey пишет И как э..
Andrey пишет | цитата: | | И как этим пользоваться ? |
| Этим не знаю. Сам делал в спец. отведенное техническое время, убирал всех user-ов ф-ей LETO_MGKILL() без вопросов, т.е. базы свободны, можно копировать. По readme.txt понимаю так, делаешь - leto_lockconn( .T. ) // новые подключения блокируешь - LETO_LOCKLOCK( [ <lOnOff> ] [, <nSecs> ][, <nDelaySecs> ] ), при этом в ini заполнено сообщение user-ам в переменной Backup_Info, которое к ним вылезет на экран (в GUI не знаю как это будет и будет ли ...) // по default будет исп. режим (см. readme.txt) New [ default ] behaviour: ... суть все блокировки и т.д. сохранены, базы освобождены, ... - запускаем архивацию, например exe, полученный из каталога LetoDbf-master\utils\backup\letobackup.prg + ini для OS Leto_ProcessRun(...) с ожиданием завершения - по завершению делаем LETO_LOCKLOCK(.F.) // восстановятся все состояния user-ов по базам, блокировкам и ... - leto_lockconn( .F. ) // разрешаешь подключение новых user к серверу
|
 |

|
|
|
| постоянный участник
|
Пост N: 7849
Зарегистрирован: 12.09.06
|
|
Отправлено: 08.09.24 17:13. Заголовок: SergKis пишет: - за..
SergKis пишет: | цитата: | - запускаем архивацию, например exe, полученный из каталога LetoDbf-master\utils\backup\letobackup.prg + ini для OS Leto_ProcessRun(...) с ожиданием завершения |
| Там уже встроен алгоритм архивирования ! Зачем пользоваться внешним процессом ? Да и скорость у него пишут огромная. https://github.com/elchs/LetoDBf/tree/master/source/3rd/lz4 LZ4 — чрезвычайно быстрое сжатие LZ4 — это алгоритм сжатия без потерь, обеспечивающий скорость сжатия 400 МБ/с на ядро, масштабируемый с многоядерными ЦП. Он также имеет чрезвычайно быстрый декодер со скоростью в несколько ГБ/с на ядро, обычно достигая пределов скорости ОЗУ на многоядерных системах. Скорость можно настраивать динамически, выбирая фактор «ускорения», который жертвует степенью сжатия ради большей скорости. С другой стороны, также предоставляется производная с высоким сжатием LZ4_HC, жертвующая временем ЦП ради улучшенной степени сжатия. Все версии обладают одинаковой превосходной скоростью распаковки. Сервер запустился, вот что в логе letodbf.log: 09.08.2024 13:03:58 UDF file: /root/Andrey/LetoDBF/bin/letoudf.hrb have been loaded. 09.08.2024 13:03:58 INFO: LetoDBf Server 3.00 (20240906), will run at port :2812 ( internal also used :2813 ) 09.08.2024 13:03:58 INFO: DataPath=/root/Andrey/DATA, ShareTables=0, NoSaveWA=1, Max Tables=999 09.08.2024 13:03:58 INFO: LoginPassword=0, CacheRecords=21, LockExtended=0, Max Users=99 09.08.2024 13:03:58 INFO: Encrypted LZ4 traffic=N 09.08.2024 13:03:58 DEBUG second socket: 4 for errors established 09.08.2024 13:03:58 DEBUG thread3() with pipe handle: 5 started ..
|
 |

|
|
|
| постоянный участник
|
Пост N: 4630
Зарегистрирован: 17.02.12
|
|
Отправлено: 08.09.24 17:33. Заголовок: Думаю, что речь идет..
Думаю, что речь идет о Crypt_Traffic = 1 и LETO_TOGGLEZIP( [ <nCompessLevel> [, <cPassword> ] ] ) т.е. шифрования трафика, если сборка без LZ4, То исп. механизм zlib
|
 |

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