[Lazarus] Lazarus on Linux, which desktop environment?
Mehmet Erol Sanliturk
m.e.sanliturk at gmail.com
Mon Nov 22 00:09:18 CET 2021
On Sun, Nov 21, 2021 at 10:55 PM Bo Berglund via lazarus <
lazarus at lists.lazarus-ide.org> wrote:
> On Sun, 21 Nov 2021 14:51:44 +0300, Mehmet Erol Sanliturk via lazarus
> <lazarus at lists.lazarus-ide.org> wrote:
> >In this thread there is a point which is not clear for me :
> >(1) programs in SERVER by using Lazarus installed in SERVER
> >(2) programs in SERVER by using Lazarus installed in WORKSTATIONS
> I mean:
> Compile programs on the server (Lazarus running on the server) for use on
> Linux machine based on The PC architecture (AMD/Intel CPU).
I have read all of the messages in this thread starting from your initial
email once more .
When you compile a program , it is possible to execute it another Windows
machine by assuming
that the next Windows version is able to execute the program .
In the Linux ( or Unix ) world , this is NOT the case : Each Linux version
of each Linux distribution has its OWN
library versions : There is NOT any standard library usage plan among the
Linux versions or Linux distributions .
Therefore , it is very likely ( with respect to me : exactly ) that you
will NOT be able to run your program in arbitrary Linux
distributions IF YOU USE DYNAMICALLY LOADED LIBRARIES . I do not know the
situation when you use statically
linked libraries . it is always not possible to use static linking because
each library does NOT have static libraries .
When there is not a static library , you need to compile the respective
sources to obtain a static library
WITH A SERIOUS CONSIDERATION OF STATIC LINKING POSSIBILITY BY STUDYING
ITS LICENSE VERY CAREFULLY .
I can explain the situation with an example .
I have a Fedora Linux computer having a large number of repositories
stored in a different disk from the Fedora 28 installed disk .
During a country-wise electric fluctuation my Fedora 28 disk has been
broken . I have installed Fedora 25 . Now ALL of the programs
are NOT executable because of dynamically loaded ( *.so ) libraries by
giving an error message about *.so library mismatch .
I will install Fedora 35 . This will also require recompilation of ALL of
the repositories one by one .
Therefore , my opinion is your plan WILL NOT work if you use *.so libraries
, and try them to execute in different Linux computers
with different *.so files . You may think that ALL of the *.so files of
the libraries ARE the SAME : NO !
In your executable , the EXACT library version is recorded . During
execution of the program , the *.so file is NOT loaded , but
its EXACT matching name is searched : If it is NOT found , it is giving a
message saying that the required exact *.so file is not found :
*.so file with exact version number : for example : *.so.5.4.3 .
You need to check the static linking case whether it is possible to
execute your program in different Linux ( versions , distributions ) .
I do not know the situation based on experiments because in my NFS server
, all of the clients have the same Fedora version .
Version of the NFS server may be different from the client versions (
assume NFS versions are the same or compatible ) .
In the NFS server , there are the following directories alongside the
source directories :
Previously , also
I could NOT be able to connect to Windows_7 . Due to this I have removed
WIndows directories and I have discontinued
use of Windows .
>From any client I am compiling ( Lazarus is installed in the client , BUT
you can install Lazarus in the server IF YOUR VERSIONS OF
CLIENTS and SERVER ARE THE SAME in LINUX if you use *.so libraries and use
it from the clients . If you use static linking , please check the result .
Do not forget that you will not be able to install Lazarus for FreeBSD in
server because it is Linux ( or different from the client ) )
programs by storing its executables into respective Linux or FreeBSD
directory and execute the programs in any client from its respective
As a result , my idea about your setup is : It requires adjusting
parameters of the components to obtain a consistent work
environment with respect to your needs and availability of your tools .
If you want to sell your program(s) to Linux user customers : My
suggestion would be ( you may think a much more suitable method ,
or some other experts may suggest other ways ) :
Ask them to learn their Linux distribution and its version and hardware
On a similar hardware and Linux distribution and version , install Lazarus
, compile your program(s) from your source repository
and supply your program(s) to your customer .
Mehmet Erol Sanliturk
> >other than use of cross compilation .
> I have never ever managed to set up a dev environment that could
> so I have to keep at least 3 different dev environments:
> - Linux on Raspberry Pi (ARM)
> - Linux on PC platform (AMD/Intel CPU)
> - Windows on PC (AMD/Intel CPU)
> By compiling on the target "metal" I am sure the programs will run
> And for Linux I access the computers via VNC when I work. So I use my
> Windows 10
> box as the work environment always.
> Bo Berglund
> Developer in Sweden
> lazarus mailing list
> lazarus at lists.lazarus-ide.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the lazarus