#1 2024-11-28 13:32:32

ThepSamart
Member
Registered: 2022-10-19
Posts: 6

mORMot2 (2.3 stable) fail to create x64 package

Tried to create .bpl runtime for mORMot 2.3 stable, x86 (32 bit) is fined but x64 (64 bit) is failed.
return message is:

[dcc64 Error] mormot.db.raw.sqlite3.static.pas(1324): E2065 Unsatisfied forward or external declaration: 'memchr'

Using Delphi 10.2.3 update 3

I used .dpr from mORMot 2.2 which can built both x86, x64 with successfully.

Any suggession, please

Edit:

Just dig into source code, mormot.db.raw.sqlite3.static.pas has 'memchr' function (just add in 2.3), which also resided in mormot.lib.static.pas with different declaration.

Last edited by ThepSamart (2024-11-28 15:42:29)

Offline

#2 2024-11-28 18:28:23

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 15,226
Website

Re: mORMot2 (2.3 stable) fail to create x64 package

Did you try to disable C++ runtime binary in the package?

Offline

#3 2024-11-29 06:54:57

ThepSamart
Member
Registered: 2022-10-19
Posts: 6

Re: mORMot2 (2.3 stable) fail to create x64 package

Yes, in package option > Delphi Compiler > Output - C/C++ > C/C++ Output File Generation is set to "Generate DCU onlys".

I just created gist for my .dpk file.

https://gist.github.com/ThepSamart/4428 … b7390b61ec

This .dpk file was successfully created both x86 / x64 .bpl for mORMot 2.2 but fail for mORMot 2.3 x64 only (success for x86).

What about 'memchr' conflict in 'mormot.db.raw.sqlite3.static.pas' and 'mormot.lib.static.pas'

Offline

#4 2024-11-29 07:34:33

ThepSamart
Member
Registered: 2022-10-19
Posts: 6

Re: mORMot2 (2.3 stable) fail to create x64 package

Sorry, just found the cause of an error!

I used source from Release 64 date Oct 16, which different from latest commit (2.3.8998).

in ''mormot.db.raw.sqlite3.static.pas' a condition {$endif CPU32} was move to exclude 'memchr'.

I successfully created both x86/x64 runtime package for 2.3.8998 (not Release 64 statble date Oct 16). using .dpk file posted in GIST above.

Thank you for your grateful supporting.

Offline

#5 2024-11-29 07:41:17

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 15,226
Website

Re: mORMot2 (2.3 stable) fail to create x64 package

It makes sense now.

Offline

#6 2025-02-06 10:35:53

m227
Member
Registered: 2025-02-06
Posts: 1

Re: mORMot2 (2.3 stable) fail to create x64 package

Hi, I had the same problem, however I did not fiddle with files.
I just downloaded sources and static from https://github.com/synopse/mORMot2/releases. And they didn't compile under D12 x64. I manually moved memchr outside Win32 directive (as @ThepSamart wrote) and it compiled.

Offline

#7 Today 11:44:22

FlaviusFX
Member
From: UK
Registered: Today
Posts: 1
Website

Re: mORMot2 (2.3 stable) fail to create x64 package

Hi
I am getting the error [dcc64 Error] mormot.db.raw.sqlite3.static.pas(1303): E2065 Unsatisfied forward or external declaration: 'memchr' when trying to compile mormot2tests

I am running Delphi 12.3
-mORMot 2.3 stable
- I have download associated mORMot 2.3.stable static binaries .7z and extract it into the static sub-folder of local source

When i serach in  mormot.db.raw.sqlite3.static.pas I canot see any reference to mmemchr.

Can someone help please?

Offline

#8 Today 14:18:23

flydev
Member
From: France
Registered: 2020-11-27
Posts: 131
Website

Re: mORMot2 (2.3 stable) fail to create x64 package

@FlaviusFX, I think it's related to the following, I remember it was fixed a few days later after the release, read issues #306 on github.

Last edited by flydev (Today 14:20:15)

Offline

#9 Today 18:26:06

zed
Member
Registered: 2015-02-26
Posts: 113

Re: mORMot2 (2.3 stable) fail to create x64 package

So, it looks like we need the new 2.3.1.stable, or something similar. Or is version 2.4 coming soon?

Offline

Board footer

Powered by FluxBB