#1 2017-03-07 23:57:30

Sir_Wally_Lewis
Member
Registered: 2017-03-07
Posts: 5

Lazarus 3.0.0 on win64 install

Hi,
  I am a complete newbie to MorMot.
I have read all the instructions I can find on Installation.
I need to install and build MorMot in this environment.
Any guidance would be appreciated.

Kind Regards,

Robert.

Offline

#2 2017-03-08 01:39:20

Sir_Wally_Lewis
Member
Registered: 2017-03-07
Posts: 5

Re: Lazarus 3.0.0 on win64 install

Okay I have gotten further:
It has compiled by me updating paths in compilFPC.dat
and pasting in a folder from sqllite3fpc.7z

Here is the log

TSQLLog 1.18.3469 FTS3 2017-03-08T01:30:00

20170308 01322559 fail  #142  stack trace API 00000001000BFA08 00000001000BFD48 00000001000BE391 00000001000C443D 000000010027362F 00000001000C5829 00000001002F85FC 0000000100001F33 0000000100001F46 0000000100013D83 00000001000146D1 00007FF9056C8364 00007FF9080E70D1
20170308 01322559 fail  SynSelfTests.TTestLowLevelCommon(015BE1D0) Low level common: Url encoding "" stack trace API 00000001000BF908 00000001000BF9DA 00000001000BDC68 00000001000C67E5 00000001000C4469 000000010027362F 00000001000C5829 00000001002F85FC 0000000100001F33 0000000100001F46 0000000100013D83 00000001000146D1 00007FF9056C8364 00007FF9080E70D1
20170308 01322559 fail  #144  stack trace API 00000001000BFA08 00000001000BFD48 00000001000BE391 00000001000C443D 00000001002736D0 00000001000C5829 00000001002F85FC 0000000100001F33 0000000100001F46 0000000100013D83 00000001000146D1 00007FF9056C8364 00007FF9080E70D1
20170308 01322559 fail  SynSelfTests.TTestLowLevelCommon(015BE1D0) Low level common: Url encoding "" stack trace API 00000001000BF908 00000001000BF9DA 00000001000BDC68 00000001000C67E5 00000001000C4469 00000001002736D0 00000001000C5829 00000001002F85FC 0000000100001F33 0000000100001F46 0000000100013D83 00000001000146D1 00007FF9056C8364 00007FF9080E70D1
20170308 01322559 fail  #146  stack trace API 00000001000BFA08 00000001000BFD48 00000001000BE391 00000001000C443D 0000000100273771 00000001000C5829 00000001002F85FC 0000000100001F33 0000000100001F46 0000000100013D83 00000001000146D1 00007FF9056C8364 00007FF9080E70D1
20170308 01322559 fail  SynSelfTests.TTestLowLevelCommon(015BE1D0) Low level common: Url encoding "" stack trace API 00000001000BF908 00000001000BF9DA 00000001000BDC68 00000001000C67E5 00000001000C4469 0000000100273771 00000001000C5829 00000001002F85FC 0000000100001F33 0000000100001F46 0000000100013D83 00000001000146D1 00007FF9056C8364 00007FF9080E70D1
20170308 01322559 fail  #148  stack trace API 00000001000BFA08 00000001000BFD48 00000001000BE391 00000001000C443D 0000000100273812 00000001000C5829 00000001002F85FC 0000000100001F33 0000000100001F46 0000000100013D83 00000001000146D1 00007FF9056C8364 00007FF9080E70D1
20170308 01322559 fail  SynSelfTests.TTestLowLevelCommon(015BE1D0) Low level common: Url encoding "" stack trace API 00000001000BF908 00000001000BF9DA 00000001000BDC68 00000001000C67E5 00000001000C4469 0000000100273812 00000001000C5829 00000001002F85FC 0000000100001F33 0000000100001F46 0000000100013D83 00000001000146D1 00007FF9056C8364 00007FF9080E70D1
20170308 01322559 fail  #150  stack trace API 00000001000BFA08 00000001000BFD48 00000001000BE391 00000001000C443D 00000001002738B3 00000001000C5829 00000001002F85FC 0000000100001F33 0000000100001F46 0000000100013D83 00000001000146D1 00007FF9056C8364 00007FF9080E70D1
20170308 01322559 fail  SynSelfTests.TTestLowLevelCommon(015BE1D0) Low level common: Url encoding "" stack trace API 00000001000BF908 00000001000BF9DA 00000001000BDC68 00000001000C67E5 00000001000C4469 00000001002738B3 00000001000C5829 00000001002F85FC 0000000100001F33 0000000100001F46 0000000100013D83 00000001000146D1 00007FF9056C8364 00007FF9080E70D1
20170308 01323137 fail  #4  stack trace API 00000001000BFA08 00000001000BFD48 00000001000BE391 00000001000C443D 000000010027C9CB 00000001000C5829 00000001002F85FC 0000000100001F33 0000000100001F46 0000000100013D83 00000001000146D1 00007FF9056C8364 00007FF9080E70D1
20170308 01323137 fail  SynSelfTests.TTestLowLevelCommon(015BE1D0) Low level common: Baudot code "" stack trace API 00000001000BF908 00000001000BF9DA 00000001000BDC68 00000001000C67E5 00000001000C4469 000000010027C9CB 00000001000C5829 00000001002F85FC 0000000100001F33 0000000100001F46 0000000100013D83 00000001000146D1 00007FF9056C8364 00007FF9080E70D1

Offline

#3 2017-03-08 03:44:34

Sir_Wally_Lewis
Member
Registered: 2017-03-07
Posts: 5

Re: Lazarus 3.0.0 on win64 install

TestSQL3 crashed after -Mustache renderer section

Am using win64 Lazarus FPC version 3.0.0

Offline

#4 2017-03-08 07:38:13

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,182
Website

Re: Lazarus 3.0.0 on win64 install

Try to use latest NewPascal build.

Offline

#5 2017-03-08 10:54:26

d.ioannidis
Member
From: Greece
Registered: 2016-06-03
Posts: 20

Re: Lazarus 3.0.0 on win64 install

Hi,

  no need for NewPascal, mormot trunk works fine with current Official Lazarus 1.6.4 with Free Pascal 3.0.2 . And you can use the mormot git repo which has the .obj files so you don't need to download them separately .  Kudos to Alfred (AOG) for this .

regards,

PS:

i386-win32

Using mORMot 1.18.3470 FTS3
Running on Windows 10 64bit (10.0.14393) with code page 1252
TSQLite3LibraryStatic 3.17.0 with internal MM
Generated with: Free Pascal 3.0.2 compiler

Time elapsed for all tests: 87.62s
Tests performed at 3/8/2017 12:57:56

Total assertions failed for all test suits:  0 / 24,624,868
! All tests passed successfully.

Done - Press ENTER to Exit

x86_64-win64 ( there is a minor error in crypto user but i'm sure Alfred will solved it soon )

Using mORMot 1.18.3470 FTS3
Running on Windows 10 64bit (10.0.14393) with code page 1252
TSQLite3LibraryStatic 3.17.0 with internal MM
Generated with: Free Pascal 3.0.2 64 bit compiler

Time elapsed for all tests: 121.12s
Tests performed at 3/8/2017 13:04:43

Total assertions failed for all test suits:  0 / 24,605,755
! Some tests FAILED: please correct the code.

Done - Press ENTER to Exit

Last edited by d.ioannidis (2017-03-08 11:30:56)


Dimitrios Chr. Ioannidis

Offline

#6 2017-03-08 11:56:25

hnb
Member
Registered: 2015-06-15
Posts: 291

Re: Lazarus 3.0.0 on win64 install

d.ioannidis wrote:

no need for NewPascal, mormot trunk works fine with current ...

Rather bad idea. We have many low level details and latest stable FPC is not fully functionally with mORMot. After all NewPascal is practically just special selected FPC trunk version (FPC trunk has Management Operators too). Generally:

NewPascal means = selected Lazarus Trunk + selected FPC trunk (with features preview) + selected mORMot version.


best regards,
Maciej Izak

Offline

#7 2017-03-08 12:10:32

d.ioannidis
Member
From: Greece
Registered: 2016-06-03
Posts: 20

Re: Lazarus 3.0.0 on win64 install

Hmm,

hnb wrote:
d.ioannidis wrote:

no need for NewPascal, mormot trunk works fine with current ...

...We have many low level details and latest stable FPC is not fully functionally with mORMot. ...

  AFAIU, ab's regression test suite is something that we can rely on and currently at least for the windows platform it reports full pass for i386 and nearly perfect ( 1 test failed ) for x86_64 . I don't understand your comment regarding "FPC is not fully functionally" if i take into account these results. Could you plz elaborate ?

regards,

PS: Congrats for free pascal svn write access wink .


Dimitrios Chr. Ioannidis

Offline

#8 2017-03-08 12:31:22

hnb
Member
Registered: 2015-06-15
Posts: 291

Re: Lazarus 3.0.0 on win64 install

d.ioannidis wrote:

AFAIU, ab's regression test suite is something that we can rely on and currently at least for the windows platform it reports full pass for i386 and nearly perfect ( 1 test failed ) for x86_64 . I don't understand your comment regarding "FPC is not fully functionally" if i take into account these results. Could you plz elaborate ?

It's simple: we have some DEFINE's (for example "HASINTERFACERTTI" for interfaces RTTI) which are available only in trunk/NewPascal. AFAIK when you run tests and HASINTERFACERTTI is missing mORMot has nice workarounds for missing features (some pre-generated data - see TestSQL3FPCInterfaces) but this is not the same (!). Remember that not all is covered by test (for example trunk/NewPascal has improved properties behaviors, more Delphi compatible RTTI (not in binary format, I mean here functionality), RTL, syntax and much more).

d.ioannidis wrote:

PS: Congrats for free pascal svn write access wink .

Thanks but this is only thanks to mORMot (mORMot is great inspiration and motivation for my work). That would be impossible without ab, AOG and mORMot.


best regards,
Maciej Izak

Offline

#9 2017-03-08 12:45:19

d.ioannidis
Member
From: Greece
Registered: 2016-06-03
Posts: 20

Re: Lazarus 3.0.0 on win64 install

Hi,

hnb wrote:

It's simple: we have some DEFINE's (for example "HASINTERFACERTTI" for interfaces RTTI) which are available only in trunk/NewPascal. AFAIK when you run tests and HASINTERFACERTTI is missing mORMot has nice workarounds for missing features (some pre-generated data - see TestSQL3FPCInterfaces) but this is not the same (!). Remember that not all is covered by test (for example trunk/NewPascal has improved properties behaviors, more Delphi compatible RTTI (not in binary format, I mean here functionality), RTL, syntax and much more).

so if I understand correctly, even with those workarounds in place using fpc 3.0.2 and mORMot trunk is something you're advising against .

Am I correct ?

regards,


Dimitrios Chr. Ioannidis

Offline

#10 2017-03-08 13:05:22

hnb
Member
Registered: 2015-06-15
Posts: 291

Re: Lazarus 3.0.0 on win64 install

d.ioannidis wrote:

so if I understand correctly, even with those workarounds in place using fpc 3.0.2 and mORMot trunk is something you're advising against .

Am I correct ?

Yes. I can't wait for next FPC release (probably 3.2 or 4.0) which will be full of required features. 3.0.2 is too weak for mORMot and has only minor bugfixes (in comparison to 3.0.0).

Please note that even FPC pure trunk is bad choice because we have in plans to improve RTTI on many levels so you can't be sure which version of mORMot works correctly with yours FPC trunk. Only NewPascal contains tested mORMot with selected FPC trunk revision. NewPascal is safe buffer and meeting point between FPC and mORMot smile

Last edited by hnb (2017-03-08 13:57:42)


best regards,
Maciej Izak

Offline

#11 2017-03-08 23:59:52

Sir_Wally_Lewis
Member
Registered: 2017-03-07
Posts: 5

Re: Lazarus 3.0.0 on win64 install

All this is above me, 2 simple questions.

1. Can I successfully install Lazarus and MorMot on Windows 10 64 bit. And build windows 64 bit applications? ( If this works then will be targetting Ubuntu platform on 64 bit )
2. Any reference guide to do this as everything I have tried so far, has failed or only produced a Lazarus 32 bit build.

Offline

#12 2017-03-10 03:32:06

Sir_Wally_Lewis
Member
Registered: 2017-03-07
Posts: 5

Re: Lazarus 3.0.0 on win64 install

I was on the verge of giving up on MorMot.
I had one last go.
Used standard Lazarus Install of Latest version
Used fpcupdeluxe to install Mormat on top of that.
changed the compilFPC.bat paths
voila TestSQL3 compiled and passed all tasks

Offline

#13 2017-03-10 06:49:15

AOG
Member
Registered: 2014-02-24
Posts: 490

Re: Lazarus 3.0.0 on win64 install

Good !
Please be confident: much work has been done and will be done to keep FPC and the mORMot a perfect combo !

Offline

#14 2017-03-10 08:56:43

d.ioannidis
Member
From: Greece
Registered: 2016-06-03
Posts: 20

Re: Lazarus 3.0.0 on win64 install

Hi,

  sorry didn't see your post earlier. Glad that you managed to make it work !
 
  IMNHO, the combination of Free Pascal 3.0.2 and mORMot trunk is stable ( at least for services via methods ) .

regards,


Dimitrios Chr. Ioannidis

Offline

#15 2017-03-10 17:58:15

miab3
Member
From: Poland
Registered: 2014-10-01
Posts: 188

Re: Lazarus 3.0.0 on win64 install

For me on Lazarus 1.6.4-Win32 (official) TestSQL3(mORMot 1.18-3470) passes without error.
Properly also works with ZEOS 7.2 svn 3979 (and ZEOS 7.3 svn 3978).

Michal

Offline

#16 2018-06-15 15:53:38

miab3
Member
From: Poland
Registered: 2014-10-01
Posts: 188

Re: Lazarus 3.0.0 on win64 install

Hi,

Why is the testql3 (mORMot 1.18.4620) compiled in Lazarus 1.8.4-Win64 giving such an effect?!?

d:\lazarus_testy\mormot\SQLite3>testsql3
Marked memory at $0000000005DC8150 invalid
Wrong signature $E02CC5B3 instead of 15C0B663
  $000000010001669D
  $00000001000168D4
  $000000010001698F
  $000000010000ED9B
  $0000000100006EA6
  $000000010006D02A line 13587 of ../SynCrypto.pas
  $000000010006D215 line 13587 of ../SynCrypto.pas
  $000000010006D337 line 13629 of ../SynCrypto.pas
Heap dump by heaptrc unit
1330 memory blocks allocated : 184274/189264
1327 memory blocks freed     : 183745/188728
3 unfreed memory blocks : 529
True heap size : 294912 (160 used in System startup)
True free heap : 293472
Should be : 293832
Call trace for block $00000000015F9A70 size 153
  $000000010000ED22
  $0000000100006E13
  $0000000100007FAC
  $00000001000088EF
  $00000001000662B8 line 9104 of ../SynCrypto.pas
  $000000010006D1F3 line 13617 of ../SynCrypto.pas
  $000000010006D337 line 13629 of ../SynCrypto.pas
  $000000010006CE06 line 13518 of ../SynCrypto.pas
Marked memory at $0000000005DC8150 invalid
Wrong signature $E02CC5B3 instead of 15C0B663
  $00000001000171EE
  $0000000100016D83
  $00000001000177FC
  $0000000100017B53
  $000000010000E20A
  $000000010000E4E2
  $000000010000E57A
  $000000010000E5A2
Call trace for block $0000000005DC0140 size 376
  $000000010000ED22
  $00000001000D9F66 line 51518 of ../SynCommons.pas
  $000000010006CD9E line 13511 of ../SynCrypto.pas
  $000000010006D929 line 13790 of ../SynCrypto.pas
  $000000010010E3DB line 3875 of ../SynMongoDB.pas
  $0000000100111ABB line 6960 of ../SynMongoDB.pas
  $000000010000E1A1
  $0000000100001E7A line 201 of TestSQL3.dpr

Michal

Offline

#17 2018-06-15 16:29:47

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 14,182
Website

Re: Lazarus 3.0.0 on win64 install

I was not able to reproduce it here...

Run on: Windows 10 64bit (10.0.17134) - codepage=1252
    4 x Intel(R) Core(TM) i7-3517U CPU @ 1.90GHz (x64)
Using mORMot 1.18.4620
    TSQLite3LibraryStatic 3.24.0 with internal MM
Generated with: Free Pascal 3.1.1 MOP 64 bit compiler

Time elapsed for all tests: 1m38
Performed 2018-06-15 18:29:31 by User on ACER

Total assertions failed for all test suits:  0 / 39,147,575
! All tests passed successfully.

No problem on Win64 (and Linux64) - even when enabling heaptrc (-gh)...

 -Twin64 -Px86_64 -MDelphi -Scaghi -CX -Ci -O3 -gw2 -godwarfsets -gl -gh -XX -l -vewibq -vn-h- -Fi.. -Fifpc\lib\x86_64-win64 -Fl..\static\x86_64-win64 -Fu.. -FuDDD\dom -FuDDD\infra -Fu. -FUfpc\lib\x86_64-win64 -FEfpc\bin\x86_64-win64\

Offline

#18 2018-06-16 02:31:06

edwinsn
Member
Registered: 2010-07-02
Posts: 1,215

Re: Lazarus 3.0.0 on win64 install

miab3 wrote:

Hi,

Why is the testql3 (mORMot 1.18.4620) compiled in Lazarus 1.8.4-Win64 giving such an effect?!?

d:\lazarus_testy\mormot\SQLite3>testsql3
Marked memory at $0000000005DC8150 invalid
Wrong signature $E02CC5B3 instead of 15C0B663
  $000000010001669D
  $00000001000168D4
  $000000010001698F
  $000000010000ED9B
  $0000000100006EA6

Michal

I used to see similar errors when compiled with one of the **stable** Lazarus release, try use the **trunk** svn version.


Delphi XE4 Pro on Windows 7 64bit.
Lazarus trunk built with fpcupdelux on Windows with cross-compile for Linux 64bit.

Offline

#19 2018-06-16 07:52:09

miab3
Member
From: Poland
Registered: 2014-10-01
Posts: 188

Re: Lazarus 3.0.0 on win64 install

These errors appear in current stable versions of Lazarus 1.8.4 Win32 and Win64!!!

Michal

Offline

#20 2018-06-16 09:06:54

edwinsn
Member
Registered: 2010-07-02
Posts: 1,215

Re: Lazarus 3.0.0 on win64 install

By the svn trunk I mean FPC and Lazarus, not mORMot.

Please google fpcupdeluxe.


Delphi XE4 Pro on Windows 7 64bit.
Lazarus trunk built with fpcupdelux on Windows with cross-compile for Linux 64bit.

Offline

Board footer

Powered by FluxBB