Recent

Author Topic: Preparing my Stack for Android and Blockchain  (Read 24955 times)

Fred vS

  • Hero Member
  • *****
  • Posts: 3168
    • StrumPract is the musicians best friend
Re: Preparing my Stack for Android and Blockchain
« Reply #30 on: November 07, 2021, 04:10:14 am »
Quote
There is no SVN server at that address any more. The project(s) moved to git back in June-July.

Hi dsiders!

Please, can you point up to the new [direct] access to FPC source and how to download it?

In complement with dsiders answer there is also the direct access to the up-to-date last trunk zip file, ready to download:
https://gitlab.com/freepascal.org/fpc/source/-/archive/main/source-main.zip

And here of fixes 3.2:
https://gitlab.com/freepascal.org/fpc/source/-/archive/fixes_3_2/source-fixes_3_2.zip

And here of release 3.2.2:
https://gitlab.com/freepascal.org/fpc/source/-/archive/release_3_2_2/source-release_3_2_2.zip

Fre;D
« Last Edit: November 07, 2021, 04:15:14 am by Fred vS »
I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

jmpessoa

  • Hero Member
  • *****
  • Posts: 2302
Re: Preparing my Stack for Android and Blockchain
« Reply #31 on: November 07, 2021, 05:48:19 am »
Hi, Webdrifter!

After the helps from dsiders and Fred vS (thanks to All!)

You can "bypass" this taks/form  [out of date]...

Get FPC source (unzip it!) and then go to the next task:

Quote
2. IDE "Tools" --> "[Lamw] Android Module Wizard" --> "Build FPC Cross Android"


Lamw: Lazarus Android Module Wizard
https://github.com/jmpessoa/lazandroidmodulewizard

Webdrifter

  • Jr. Member
  • **
  • Posts: 68
Re: Preparing my Stack for Android and Blockchain
« Reply #32 on: November 07, 2021, 03:51:52 pm »
From the reactions above I understood, that when performing step

1. IDE "Tools" --> "[Lamw] Android Module Wizard" --> "Get FPC Source [Trunk]"


In the window at position "FPC Source Trunk Download"

I should not have :

http://svn.freepascal.org/svn/fpc/trunk


But I should now have to change it first to:

https://gitlab.com/freepascal.org/fpc/source/-/tree/main

So i tried this and got the next error.


Webdrifter

  • Jr. Member
  • **
  • Posts: 68
Re: Preparing my Stack for Android and Blockchain
« Reply #33 on: November 07, 2021, 09:27:20 pm »
And I also don't understand why I would need FPC 3.2.2.

Did you not say earlier that FPC 3.2.2. was already in Lazarus 2.0.12?


And if this all means that step with SVN is unnecessary, then maybe installing sliksvn was a unnecessary step? And sliksvn can be uninstalled? Or not?
« Last Edit: November 07, 2021, 09:32:20 pm by Webdrifter »

jmpessoa

  • Hero Member
  • *****
  • Posts: 2302
Re: Preparing my Stack for Android and Blockchain
« Reply #34 on: November 07, 2021, 09:43:53 pm »
Quote
From the reactions above I understood, that when performing step

1. IDE "Tools" --> "[Lamw] Android Module Wizard" --> "Get FPC Source [Trunk]"

No! this step is "out of date" forget it!

Get FPC source as point up by "Fred Vs" and unzip it in some folder....... and then go to the next task:

2. IDE "Tools" --> "[Lamw] Android Module Wizard" --> "Build FPC Cross Android"

Quote
And I also don't understand why I would need FPC 3.2.2.

Did you not say earlier that FPC 3.2.2. was already in Lazarus 2.0.12?

You need FPC source code to produce the cross-compile to Android


Quote
And sliksvn can be uninstalled?

Yes!


Side note:
as soon as possible I will be updating the framework with this new information....
Thanks to All!

Lamw: Lazarus Android Module Wizard
https://github.com/jmpessoa/lazandroidmodulewizard

Webdrifter

  • Jr. Member
  • **
  • Posts: 68
Re: Preparing my Stack for Android and Blockchain
« Reply #35 on: November 09, 2021, 11:30:20 pm »
OK, thanks. I am very busy for my work right now. So I will try tomorrow.

Webdrifter

  • Jr. Member
  • **
  • Posts: 68
Re: Preparing my Stack for Android and Blockchain
« Reply #36 on: November 10, 2021, 11:35:17 pm »

In the build tab I have to choose an FPC path.

I find the next paths to FPC 

C:\lazarus\fpc\3.0.4\bin\x86_64-win64
C:\lazarus\fpc\3.2.0\bin\x86_64-win64

Which one should I choose?

Do I need to have both on my PC?
Or can I just as well delete the 3.0.4 path?

I understood Lazarus 2.0.12 supported 3.2.2,
so Why is there no 3.2.2 path?

Is it wise to create such a path?
And if yes, how do I do that (Meaning how to get the right files and such in there)?

Next I am asked to choose an Architecture.

Which one should I choose?

Why do I have to choose it here, instead of everytime when I need to create a build of a program I made?

Can't you make your app work for more architectures then one?
(I don't see all kind off versions in the app-store for every single architecture)


jmpessoa

  • Hero Member
  • *****
  • Posts: 2302
Re: Preparing my Stack for Android and Blockchain
« Reply #37 on: November 11, 2021, 02:44:18 am »
Quote
In the build tab I have to choose an FPC path.

Get FPC source as point up by "Fred Vs" and unzip it in some folder.... that is the path!

Quote
Next I am asked to choose an Architecture.
Which one should I choose?

Code: Pascal  [Select][+][-]
  1.                         2. IDE "Tools" --> "[Lamw] Android Module Wizard" --> "Build FPC Cross Android"
  2.  
  3.                                 [ex. Armv7a + Soft]     <<---- tested!
  4.                                 .Build  
  5.                                 .Install
  6.  
  7.                                 [ex. aarch64]           <<---- tested!
  8.                                 .Build  
  9.                                 .Install
  10.  
  11.  
  12.                         3. After "build" and "install" the cross-compiler and before to create your first LAMW
  13. project
  14. .................. continue..........................
  15.  


Quote
Why do I have to choose it here,...

To make your FPC cross-compile to Android....

Quote
instead of everytime when I need to create a build of a program I made?

Yes, so will be.. 

Quote
Can't you make your app work for more architectures then one?

Yes, so will be.. 
Lamw: Lazarus Android Module Wizard
https://github.com/jmpessoa/lazandroidmodulewizard

Webdrifter

  • Jr. Member
  • **
  • Posts: 68
Re: Preparing my Stack for Android and Blockchain
« Reply #38 on: November 11, 2021, 07:41:07 pm »
Sorry, this is not what I had question about.
I understood that I had to unzip source in some folder and fill in that folder as path in first field "Path to FPD Source Code".

So I allready unzipped FPC source 3.2.2, placed it in folder and filled in the name of this folder in first field of window "FPC Android Croos compiler Builder"

In the second field I filled in path to NDK.
"C:\Android\android-ndk-r21e"

But Third path asks for "Path to FPC" 

As said for this I find 2 possibilities.

C:\lazarus\fpc\3.0.4\bin\x86_64-win64
C:\lazarus\fpc\3.2.0\bin\x86_64-win64

I don't see: C:\lazarus\fpc\3.2.2\bin\x86_64-win64
This confused me because I thought Lazarus 2.0.12 suppors FPC 3.2.2.

So as asked, which do I choose and is it not possible to get version FPC 3.2.2 for this.

By the way the files and the directory structure of the unzipped version 3.2.2 source code don't look anything like those in

C:\lazarus\fpc\3.0.4\bin\x86_64-win64
or
C:\lazarus\fpc\3.2.0\bin\x86_64-win64

So I was afraid to use the path to the source code in the third field.

Are you telling me I should use that path in third field?


Next you show me text with:

Suggesting I should make build for "Armv7a + Soft"
and for "aarch64"

But i can only choose one off those at once.

Do you mean to say I have to do the process twice, so once for each of those architectures?













jmpessoa

  • Hero Member
  • *****
  • Posts: 2302
Re: Preparing my Stack for Android and Blockchain
« Reply #39 on: November 11, 2021, 08:06:31 pm »
Quote
As said for this I find 2 possibilities.
C:\lazarus\fpc\3.0.4\bin\x86_64-win64
C:\lazarus\fpc\3.2.0\bin\x86_64-win64

Quote
This confused me because I thought Lazarus 2.0.12 suppors FPC 3.2.2.

No. So,  use: "C:\lazarus\fpc\3.2.0\bin\x86_64-win64"


Quote
So I was afraid to use the path to the source code in the third field.
Are you telling me I should use that path in third field?

No.  use: "C:\lazarus\fpc\3.2.0\bin\x86_64-win64"


Quote
Next you show me text with:
Suggesting I should make build for "Armv7a + Soft"
and for "aarch64"
But i can only choose one off those at once.
Do you mean to say I have to do the process twice, so once for each of those architectures?

Yes!



Lamw: Lazarus Android Module Wizard
https://github.com/jmpessoa/lazandroidmodulewizard

Webdrifter

  • Jr. Member
  • **
  • Posts: 68
Re: Preparing my Stack for Android and Blockchain
« Reply #40 on: November 12, 2021, 12:15:44 am »
The first build with "Armv7a + Soft" gave lots of messages and warnings,
see text file attached.

Are those warnings reason for taking any actions from my part?

Anyway the build , ended with green bar of succes.

Install also went good.

The second build with "aarch64" gave no messages or warnings,
but build and install also ended with succes.

So time for the next step....

Webdrifter

  • Jr. Member
  • **
  • Posts: 68
Re: Preparing my Stack for Android and Blockchain
« Reply #41 on: November 12, 2021, 12:17:48 am »
Is it still necessary to take these steps:

3. After "build" and "install" the cross-compiler and before to create your first LAMW project

            [How to fix "Fatal: Cannot find unit system used by fcllaz of package FCL."]

            3.1) Go to "fpc.cfg"  [ex. "lazarus\fpc\3.2.0\bin"]

               Change:
 
               # searchpath for units and other system dependent things
               -FuC:\lazarus1864\fpc\$FPCVERSION/units/$fpctarget
               -FuC:\lazarus1864\fpc\$FPCVERSION/units/$fpctarget/*
               -FuC:\lazarus1864\fpc\$FPCVERSION/units/$fpctarget/rtl

               To:

               # searchpath for units and other system dependent things
               -FuC:\lazarus1864\fpc\3.2.0/units/$fpctarget
               -FuC:\lazarus1864\fpc\3.2.0/units/$fpctarget/*
               -FuC:\lazarus1864\fpc\3.2.0/units/$fpctarget/rtl

            3.2) Go to Lazarus IDE menu "Tools" --> "Options" --> "Environment" 

               [FPC Source]

               Change:
                  $(LazarusDir)fpc\$(FPCVer)\source
               To:
                  $(LazarusDir)fpc\3.2.0\source

jmpessoa

  • Hero Member
  • *****
  • Posts: 2302
Re: Preparing my Stack for Android and Blockchain
« Reply #42 on: November 12, 2021, 04:19:25 am »

Good work!

Congratulations!!!
Lamw: Lazarus Android Module Wizard
https://github.com/jmpessoa/lazandroidmodulewizard

ccrause

  • Hero Member
  • *****
  • Posts: 862
Re: Preparing my Stack for Android and Blockchain
« Reply #43 on: November 12, 2021, 08:26:21 am »
Is it still necessary to take these steps:

3. After "build" and "install" the cross-compiler and before to create your first LAMW project

            [How to fix "Fatal: Cannot find unit system used by fcllaz of package FCL."]

            3.1) Go to "fpc.cfg"  [ex. "lazarus\fpc\3.2.0\bin"]

               Change:
 
               # searchpath for units and other system dependent things
               -FuC:\lazarus1864\fpc\$FPCVERSION/units/$fpctarget
               -FuC:\lazarus1864\fpc\$FPCVERSION/units/$fpctarget/*
               -FuC:\lazarus1864\fpc\$FPCVERSION/units/$fpctarget/rtl

               To:

               # searchpath for units and other system dependent things
               -FuC:\lazarus1864\fpc\3.2.0/units/$fpctarget
               -FuC:\lazarus1864\fpc\3.2.0/units/$fpctarget/*
               -FuC:\lazarus1864\fpc\3.2.0/units/$fpctarget/rtl

            3.2) Go to Lazarus IDE menu "Tools" --> "Options" --> "Environment" 

               [FPC Source]

               Change:
                  $(LazarusDir)fpc\$(FPCVer)\source
               To:
                  $(LazarusDir)fpc\3.2.0\source

A good question, since the compiler should expand the $FPCVERSION macro to its own version.  Similarly the Lazarus macro $(FPCVer) should expand to the selected compiler version.

Typically these macros work, which is why they are often used in configurations.  Perhaps this was to work around some other issue, maybe cross compiler specific?

Webdrifter

  • Jr. Member
  • **
  • Posts: 68
Re: Preparing my Stack for Android and Blockchain
« Reply #44 on: November 12, 2021, 10:47:26 pm »
I hope someone can answer my question about step three.
Because I would like to know how to proceed.

Also I saw that I forget to include the text with the warnings I got during build. So here it comes, maybe of interest for the specialists on this forum.

 

TinyPortal © 2005-2018