You are not logged in.
Pages: 1
Dear ,
I have erorr such as https://synopse.info/forum/viewtopic.php?id=4863 .
my lpr file as :
uses
{$I SynDprUses.inc}
I run command : fpc.exe -Tlinux -Px86_64 -MObjFPC -Scghi -Cg -O1 -l -vewnhibq ........ blackir_test5 blackir.lpr
reply error :
blackir.lpr(64,1) Error: () Error while linking
blackir.lpr(64,1) Fatal: (10026) There were 1 errors compiling module, stopping
then I follow the above methods (https://synopse.info/forum/viewtopic.php?id=4863) and add the following to the LPR file:
uses
{$IFDEF UNIX}
cthreads,
{$ENDIF}
{$I SynDprUses.inc}
The following error is :
SynDprUses.inc(4,15) Error: (5002) Duplicate identifier "CTHREADS"
blackir.lpr(10,42) Error: (5002) Duplicate
blackir.lpr(10,42) Hint: (5003) Identifier already defined in unit BLACKIR: blackir.lpr at line 5
I see there error cthreads had in SynDprUses.inc.
What can I do for it ?
Thanks a lot.
Offline
I am not able to reproduce it here - I use Linux as main target since years with no problem.
Which FPC version are you using?
Are you sure you got the latest mORMot source code, and the latest associated static files?
Offline
I think I had mixing mORMot with mORMot2(look like https://synopse.info/forum/viewtopic.php?id=5856).
The original code is estimated to be mormot, which can be normally compiled to Linux programs.
And then I added code and used JWT function, which can run in Delphi environment.
Now there is a problem with complie. Error report after adjustment:
C:\lazarus32\ccr\mORMot\static\x86_64-linux\..\..\static\x86_64-linux\sha512-x64sse4.o: In function `sha512_sse4':
sha512_sse4.asm:(.text+0x0): multiple definition of `sha512_sse4'
C:\lazarus32\ccr\mORMot\static\x86_64-linux\sha512-x64sse4.o:sha512_sse4.asm:(.text+0x0): first defined here
C:\lazarus32\ccr\mORMot\static\x86_64-linux\..\..\static\x86_64-linux\crc32c64.o: In function `crc32_iscsi_01':
z:\Temp\crc//crc32_iscsi_01.asm:91: multiple definition of `crc32_iscsi_01'
C:\lazarus32\ccr\mORMot\static\x86_64-linux\crc32c64.o:z:\Temp\crc//crc32_iscsi_01.asm:91: first defined here
C:\lazarus32\ccr\mORMot\static\x86_64-linux\..\..\static\x86_64-linux\crc32c64.o: In function `crc32_iscsi_01_slver_01030015':
z:\Temp\crc//crc32_iscsi_01.asm:571: multiple definition of `crc32_iscsi_01_slver_01030015'
C:\lazarus32\ccr\mORMot\static\x86_64-linux\crc32c64.o:z:\Temp\crc//crc32_iscsi_01.asm:571: first defined here
C:\lazarus32\ccr\mORMot\static\x86_64-linux\..\..\static\x86_64-linux\crc32c64.o: In function `crc32_iscsi_01_slver_01030015':
z:\Temp\crc//crc32_iscsi_01.asm:571: multiple definition of `crc32_iscsi_01_slver'
C:\lazarus32\ccr\mORMot\static\x86_64-linux\crc32c64.o:z:\Temp\crc//crc32_iscsi_01.asm:571: first defined here
C:\e\SS2\SysDataManager\mymormot_test\lib\x86_64-linux\mormot.crypt.ecc256r1.o: In function `MORMOT.CRYPT.ECC256R1_$$_GETRANDOMNUMBER$THASH256$$LONGINT':
mormot.crypt.ecc256r1.pas:(.text.n_mormot.crypt.ecc256r1_$$_getrandomnumber$thash256$$longint+0x0): multiple definition of `getRandomNumber'
C:\e\SS2\SysDataManager\mymormot_test\lib\x86_64-linux\SynEcc.o:SynEcc.pas:(.text.n_synecc_$$_getrandomnumber$thash256$$longint+0x0): first defined here
C:\lazarus32\ccr\mORMot\static\x86_64-linux\..\..\static\x86_64-linux\ecclin64O2.o: In function `ecc_make_key':
/home/user/lib/ecc/ecc.c:1003: multiple definition of `ecc_make_key'
C:\lazarus32\ccr\mORMot\static\x86_64-linux\ecclin64O2.o:/home/user/lib/ecc/ecc.c:1003: first defined here
C:\lazarus32\ccr\mORMot\static\x86_64-linux\..\..\static\x86_64-linux\ecclin64O2.o: In function `ecdh_shared_secret':
/home/user/lib/ecc/ecc.c:1036: multiple definition of `ecdh_shared_secret'
C:\lazarus32\ccr\mORMot\static\x86_64-linux\ecclin64O2.o:/home/user/lib/ecc/ecc.c:1036: first defined here
C:\lazarus32\ccr\mORMot\static\x86_64-linux\..\..\static\x86_64-linux\ecclin64O2.o: In function `ecdsa_sign':
/home/user/lib/ecc/ecc.c:1130: multiple definition of `ecdsa_sign'
C:\lazarus32\ccr\mORMot\static\x86_64-linux\ecclin64O2.o:/home/user/lib/ecc/ecc.c:1130: first defined here
C:\lazarus32\ccr\mORMot\static\x86_64-linux\..\..\static\x86_64-linux\ecclin64O2.o: In function `ecdsa_verify':
/home/user/lib/ecc/ecc.c:1177: multiple definition of `ecdsa_verify'
C:\lazarus32\ccr\mORMot\static\x86_64-linux\ecclin64O2.o:/home/user/lib/ecc/ecc.c:1177: first defined here
C:\e\SS2\SysDataManager\mymormot_test\blackir.lpr(66,1) Error: (9013) Error while linking
C:\e\SS2\SysDataManager\mymormot_test\blackir.lpr(66,1) Fatal: (10026) There were 1 errors compiling module, stopping
Fatal: (1018) Compilation aborted
Error: C:\lazarus32\fpcupdeluxe\fpc\bin\i386-win32\ppcrossx64.exe returned an error exitcode
Whether the code needs to be adjusted to mormot2. Is it upward compatible?
thanks .
Offline
I had disable any definition . Then , The rest report errors :
C:\e\SS2\SysDataManager\mymormot_test\lib\x86_64-linux\mormot.crypt.ecc256r1.o: In function `MORMOT.CRYPT.ECC256R1_$$_GETRANDOMNUMBER$THASH256$$LONGINT':
mormot.crypt.ecc256r1.pas:(.text.n_mormot.crypt.ecc256r1_$$_getrandomnumber$thash256$$longint+0x0): multiple definition of `getRandomNumber'
C:\e\SS2\SysDataManager\mymormot_test\lib\x86_64-linux\SynEcc.o:SynEcc.pas:(.text.n_synecc_$$_getrandomnumber$thash256$$longint+0x0): first defined here
C:\e\SS2\SysDataManager\mymormot_test\blackir.lpr(66,1) Error: (9013) Error while linking
C:\e\SS2\SysDataManager\mymormot_test\blackir.lpr(66,1) Fatal: (10026) There were 1 errors compiling module, stopping
Fatal: (1018) Compilation aborted
Error: C:\lazarus32\fpcupdeluxe\fpc\bin\i386-win32\ppcrossx64.exe returned an error exitcode
It is like mormot.crypt.ecc256r1.o and SynEcc.o has same _getrandomnumber. But I can not modify o file.
What can I do ?
Offline
It is not use mormot.crypt.jwt in the old code . above error is reported after use mormot.crypt.jwt.
C:\e\SS2\SysDataManager\mymormot_test\lib\x86_64-linux\mormot.crypt.ecc256r1.o: In function `MORMOT.CRYPT.ECC256R1_$$_GETRANDOMNUMBER$THASH256$$LONGINT':
mormot.crypt.ecc256r1.pas:(.text.n_mormot.crypt.ecc256r1_$$_getrandomnumber$thash256$$longint+0x0): multiple definition of `getRandomNumber'
C:\e\SS2\SysDataManager\mymormot_test\lib\x86_64-linux\SynEcc.o:SynEcc.pas:(.text.n_synecc_$$_getrandomnumber$thash256$$longint+0x0): first defined here
C:\e\SS2\SysDataManager\mymormot_test\blackir.lpr(66,1) Error: (9013) Error while linking
C:\e\SS2\SysDataManager\mymormot_test\blackir.lpr(66,1) Fatal: (10026) There were 1 errors compiling module, stopping
Fatal: (1018) Compilation aborted
Error: C:\lazarus32\fpcupdeluxe\fpc\bin\i386-win32\ppcrossx64.exe returned an error exitcode
Is there any way to remove this multiple definition?
Offline
I think so.
I'll try modify it.
I'm not sure how to modify it.
Thanks.
Offline
Your project is clearly mixing mORMot 1 and mORMot 2 units: SynEcc is mORMot 1, and mormot.crypt.ecc256r1 is mORmot 2.
Fix your project to use only mORMot 2 units.
How can I get or download the mORMot 2 units ?
Offline
https://github.com/synopse/mORMot2#quick-start
Download the last release from https://github.com/synopse/mORMot2/releases
and unzip the source and the statics into a folder.
Then install the mormot2 package in Lazarus.
On Lazarus, use packages, and set the package as dependency on your project(s).
There are mormot1 and mormot2 packages, so if you do so, you won't mix sources.
Offline
thank you very much . I will try it .
Offline
Hello , I meet a error , and hope get the help . thanks .
I run fpc.exe , but return Error: (9016) Util x86_64-linux-ld.exe not found, switching to external linking. The x86_64-linux-ld.exe file is in x86_64-linux direction. How can it run ?
I run the command is : C:\e\lazarus32\fpcupdeluxe\fpc\bin\i386-win32\fpc.exe -Tlinux -Px86_64 -MObjFPC -Scghi -Cg -O1 -l -vewnhibq -FiD:\demo\y\code\blackir\mymormot\lib\x86_64-linux\ -FiC:\e\SS2\ziliao\net\mormot2 -FuD:\demo\y\com\mORMot2-sqlite.3.38.1\src\core\ -FuD:\demo\y\com\mORMot2-sqlite.3.38.1\src\crypt\ -FuD:\demo\y\code\blackir\mymormot\jiekou -FUD:\demo\y\code\blackir\mymormot\lib\x86_64-linux\ -FED:\demo\y\code\blackir\mymormot\ -oD:\demo\y\code\blackir\mymormot\blackir_test6 blackir.lpr
output is :
Hint: (11030) Start of reading config file C:\e\lazarus32\fpcupdeluxe\fpc\bin\i386-win32\fpc.cfg
Hint: (11031) End of reading config file C:\e\lazarus32\fpcupdeluxe\fpc\bin\i386-win32\fpc.cfg
Free Pascal Compiler version 3.2.1-r48511 [2021/02/05] for x86_64
Copyright (c) 1993-2020 by Florian Klaempfl and others
(1002) Target OS: Linux for x86-64
(3104) Compiling blackir.lpr
D:\demo\y\code\blackir\mymormot\blackir.lpr(5,28) Hint: (5023) Unit "uSendMail" not used in blackir
D:\demo\y\code\blackir\mymormot\blackir.lpr(5,39) Hint: (5023) Unit "offlinefile" not used in blackir
D:\demo\y\code\blackir\mymormot\blackir.lpr(5,52) Hint: (5023) Unit "DePrtCoderEx" not used in blackir
D:\demo\y\code\blackir\mymormot\blackir.lpr(64,1) Warning: (9011) Object .\static\x86_64-linux\sqlite3.o not found, Linking may fail !
D:\demo\y\code\blackir\mymormot\blackir.lpr(64,1) Warning: (9012) Library libgcc.a not found, Linking may fail !
D:\demo\y\code\blackir\mymormot\blackir.lpr(64,1) Warning: (9011) Object static\x86_64-linux\sha512-x64sse4.o not found, Linking may fail !
D:\demo\y\code\blackir\mymormot\blackir.lpr(64,1) Warning: (9011) Object static\x86_64-linux\crc32c64.o not found, Linking may fail !
D:\demo\y\code\blackir\mymormot\blackir.lpr(64,1) Warning: (9011) Object static\x86_64-linux\ecclin64O2.o not found, Linking may fail !
D:\demo\y\code\blackir\mymormot\blackir.lpr(64,1) Warning: (9011) Object ..\..\static\x86_64-linux\sha512-x64sse4.o not found, Linking may fail !
D:\demo\y\code\blackir\mymormot\blackir.lpr(64,1) Warning: (9011) Object ..\..\static\x86_64-linux\crc32c64.o not found, Linking may fail !
(9015) Linking D:\demo\y\code\blackir\mymormot\blackir_test6
D:\demo\y\code\blackir\mymormot\blackir.lpr(64,1) Warning: (9034) "crti.o" not found, this will probably cause a linking failure
D:\demo\y\code\blackir\mymormot\blackir.lpr(64,1) Warning: (9034) "crtbeginS.o" not found, this will probably cause a linking failure
D:\demo\y\code\blackir\mymormot\blackir.lpr(64,1) Warning: (9034) "crtendS.o" not found, this will probably cause a linking failure
D:\demo\y\code\blackir\mymormot\blackir.lpr(64,1) Warning: (9034) "crtn.o" not found, this will probably cause a linking failure
D:\demo\y\code\blackir\mymormot\blackir.lpr(64,1) Error: (9016) Util x86_64-linux-ld.exe not found, switching to external linking
D:\demo\y\code\blackir\mymormot\blackir.lpr(64,1) Fatal: (10026) There were 1 errors compiling module, stopping
Fatal: (1018) Compilation aborted
Error: C:\e\lazarus32\fpcupdeluxe\fpc\bin\i386-win32\ppcrossx64.exe returned an error exitcode
Last edited by scutlemon (2022-12-12 11:44:18)
Offline
Use the mORMot package, as I wrote.
Your paths are not correct, especially about the static files.
Please follow the forum rules, and don't post such console output into a thread, but use a gist.
Offline
Pages: 1