Heeelp meee, I need Lazarus/FreePascal INCLUDING CROSSCOMPILE TO ARM with 1-klick-install Opensuse

Hello,

I have a large problem. I need Lazarus and FreePascal working on Linux-Intel/Opensuse Leap 42.3.
Now you probably say : “Hey, that is not a problem, even if you are a beginner, go to https://software.opensuse.org/package/lazarus and 1-click-install one of the community repositories!”
But I say: “Oh yes, it is still a problem: I need to cross-compile to ARM (Raspberry Pi) and I need all sort of libraries included for cross-compiling, i.e. BGRAControls, BGRABitmap, etc.etc.etc.”

I tried to compile Lazarus/FPC myself using the compile tool/frontend called “FPCUPDELUXE”, latest version, but it always breaks at compiling the Lazarus IDE with a couple of strange errors in the Objectinspector.pp file.

I managed to compile the FPC alone, even including the ARM cross-compiler and even including some (but not all) libraries, but this is no help.

So, I am dreaming of a 1-click-installation of Lazarus/FPC, both latest versions, both able to cross-compile to ARM and including all the >100 libraries mentioned in “Fpcupdeluxe”.

Is this too much to ask? And most of all, WHOM to ask and how to reach that community ?

This one click will be generated as soon as packages get published after successful build. So, the problem is, getting them built. If I were you, I’d ask on the ARM mailing list: opensuse-arm@opensuse.org

Just IMO,
You are asking for something relatively complex and very specialized to be built as a “one click install.”
I don’t know if the number of people is large for this very specialized need…

  • Develop on x64 Linux
  • Develop using the Pascal language
  • compile target is an RPi (and you didn’t mention which RPI which is likely important. Depending on what the apps does and the software components it uses, an app built for RPi3 for instance may not run on the classic RPi/RPi Zero, or the RPi2).
  • You seem to have opted to build your compiler which is the most difficult route… No pre-built compiler exists?

When I manage a software project of any kind, one of the main and first tasks I do is set up the development environment to be used by all contributors, it’s the fist required step for a team to create compatible code.
I don’t see your situation is any different even if you’re setting up your system for a team of one (only yourself)… The choices you make are yours alone and it’s problematic that others would set up their system the same way. But, whatever choices you make you should be sure to document those choices and perhaps even script your setup so that if you had to tear down your system and re-build, you can re-create your setup quickly and easily (This is also why I strongly advise doing your development work in virtual machines).

Let’s take just one of your setup decisions as an example how your setup is unique and may not necessarily be what others would want…
You seem to have decided on a cross-compiler that has to be built. If you’re doing something with very special requirements, this may be your only option, but if you don’t have a special need, why do things the hard way (and subject to possible problems)?

The following lists a number of toolchains you might choose for various types of projects, and it emphasizes you should choose a pre-built compiler when all things are equal

https://elinux.org/Toolchains

Some other things to consider
One of my personal preferences is to always try first to develop on the target platform so I can avoid cross-compiling. And, everything compiled can be tested locally.

http://wiki.freepascal.org/Lazarus_on_Raspberry_Pi

You may find help in the general Lazarus documentation

http://wiki.freepascal.org/Lazarus_Documentation

More links to Lazarus related setup and coding

http://wiki.freepascal.org/

The following might be of special interest to you…
A Wiki for setting up exactly what you are trying to do… Looks like the author extracted some RPMs on to his debian based machine so I’d expect you should be able to find and install rpms instead

http://wiki.lazarus.freepascal.org/Setup_Cross_Compile_For_ARM

This guy installed Lazarus on his RPi in order to obtain the libraries that would work to build code that would run on his RPI, then copied those libraries to the Lazarus installed in his PC (A Virtualbox instance).

https://bigdanzblog.wordpress.com/2015/06/29/building-free-pascal-lazarus-cross-compiler-for-raspberry-pi/

HTH,
TSU