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: 1740
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 31.08.24 20:06. Заголовок: Тут вот компилятор с..


Тут вот компилятор сам предлагает:
can not be used when making a PIE object; recompile with -fPIE

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




Пост N: 7841
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 31.08.24 22:00. Заголовок: PSP пишет: recompil..


PSP пишет:

 цитата:
recompile with -fPIE


И куда это вставлять ?
Я очень давно, лет 7 назад собирал под Linux, но тогда сразу собрался.
А сейчас труба...

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


Пост N: 1741
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 01.09.24 07:36. Заголовок: hbmk2 letodb - это ч..


hbmk2 letodb - это что (подчеркнутое)?

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




Пост N: 7968
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 01.09.24 19:02. Заголовок: Andrey пишет: И куд..


Andrey пишет:

 цитата:
И куда это вставлять ?


в HBP файлик думается

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




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




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




Пост N: 4625
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 02.09.24 09:55. Заголовок: Andrey пишет:И куда ..


Andrey пишет:
 цитата:
И куда это вставлять ?


может тут есть про это, запуск hbmk2.exe -help > hbmk2.lst и смотри параметры hbmk2

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




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


это опция gcc
добавь в HBP строку -pie

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




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


Не помогает...


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




Пост 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
пробуй

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




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


Не помогает, не собирается...
Там - https://github.com/elchs/LetoDBf/tree/master
Тоже был вопрос про сборку, год назад, но ответа нет.

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




Пост N: 7845
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 05.09.24 09:11. Заголовок: Поставил флаг в leto..


Поставил флаг в letodb.hbp

-cflag=-fPIE

Такая же ошибка.

И как собрать ?

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




Пост N: 7970
Зарегистрирован: 17.05.05
ссылка на сообщение  Отправлено: 05.09.24 12:02. Заголовок: Пошатай гугл вот так..


Пошатай гугл вот такой строкой , ответов много и решение найдешь
"can not be used when making a PIE object; recompile with -fPIE"

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




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

Спасибо: 0 
ПрофильЦитата Ответить
moderator


Пост N: 1615
Зарегистрирован: 06.07.06
ссылка на сообщение  Отправлено: 05.09.24 15:25. Заголовок: Dima пишет: а так ?..


Dima пишет:

 цитата:
а так ? )
-cflag=-fno-pie


Правильнее будет:
-ldflag=-no-pie
потому что это флаг линкера

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




Пост N: 7847
Зарегистрирован: 12.09.06
ссылка на сообщение  Отправлено: 08.09.24 00:02. Заголовок: Спасибо БОЛЬШОЕ ! :..


Спасибо БОЛЬШОЕ !
С этим ключом компиляция прошла нормально !

https://github.com/elchs/LetoDBf/tree/master/source/3rd/lz4
А как делать архив ОДНОГО файла на сервере ?
Что-то примеров нет...
Допустим имею базу в 400 Мб на сервере, легче его там сжать, а потом скопировать к себе, чем сразу копировать к себе.

В LetoDb делал свою функцию, а здесь вроде готовая есть.

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


Пост N: 1742
Зарегистрирован: 27.01.07
ссылка на сообщение  Отправлено: 08.09.24 09:14. Заголовок: Andrey пишет: легче..


Andrey пишет:

 цитата:
легче его там сжать, а потом скопировать к себе, чем сразу копировать к себе


Очевидно, что меньший файл скопируется быстрее)

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




Пост 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/*

И как этим пользоваться ?

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




Пост 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 к серверу

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




Пост 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 ..


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




Пост N: 4630
Зарегистрирован: 17.02.12
ссылка на сообщение  Отправлено: 08.09.24 17:33. Заголовок: Думаю, что речь идет..


Думаю, что речь идет о Crypt_Traffic = 1 и LETO_TOGGLEZIP( [ <nCompessLevel> [, <cPassword> ] ] )
т.е. шифрования трафика, если сборка без LZ4, То исп. механизм zlib

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

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