On Fri, Mar 17, 2023 at 8:18 AM Kostas Michalopoulos via lazarus <
lazarus@lists.lazarus-ide.org> wrote:

> On 3/17/23 01:36, Bo Berglund via lazarus wrote:
> > I do not know what the library libc.so.6 even does....
>
> It is the C library that one or more of units/libraries you are linking
> against require.
>
> The issue is that you are making a binary on a newer version of glibc
> (the C library) than the system you want to run it - glibc (and most
> libraries really) is *backwards* compatible but not *forward*
> compatible: you can only run binaries on a system that uses the same or
> older versions of the library/libraries but not newer.
>
> The solution is very simple: build the binary on the oldest version of
> libraries you want to support - with the easiest approach being to
> download an ISO of some older version of a distro that has the oldest
> versions you want to support. For example AppImage suggests using at
> most the oldest still supported version of Ubuntu (e.g. Bionic Beaver
> from 2018).
>
> This is not unique to Lazarus or FPC, BTW, it is the same for any
> language and program that links against shared libraries on Linux.
>
> Kostas
>
> --
> _______________________________________________
> lazarus mailing list
> lazarus@lists.lazarus-ide.org
> https://lists.lazarus-ide.org/listinfo/lazarus



Some portability is obtained if the libraries are linked as "static" .
If "dynamic" linking is selected , during execution of the program ,
the "same" library should be in the executing computer .


Mehmet Erol Sanliturk
-- 
_______________________________________________
lazarus mailing list
lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus

Reply via email to