Re: [MSEide-MSEgui-talk] Timeless MSEgui apps.

2023-07-04 Thread Fred van Stappen
Hello.

Ok, change commited.
There is the demo in mseide-msegui/tools/timeless_clock/ that shows the 
different options of linking.

Fre;D


De : vasi vasi 
Envoyé : mardi 4 juillet 2023 16:21
À : General list for MSEide+MSEgui 
Objet : Re: [MSEide-MSEgui-talk] Timeless MSEgui apps.

Wow, definitely! In my opinion, you don't even need to ask! This is gold!

On Tue, Jul 4, 2023 at 5:03 PM Fred van Stappen 
mailto:fi...@hotmail.com>> wrote:
Recently the Linux-glibc team has release a new version of libc.so.6.
And some distros have integrated it.

But when you compile your application, at linking, the new table of signed 
symbols of that new libc.so.6 will be assigned.
It has as result that the application will run only on systems with that 
minimum libc.so.6 version and not on distros with previous version of libc.so.6.

The most "Catholic" option to fix this is to install a VM old distro with all 
needed for fpc and compile your application on that old distro and share that 
binary.
Not very "out-of-the-box".

Fortunately, Robert Rosee found a solution that dont need to tweak fpc-complier 
source and not install a VM.
https://forum.lazarus.freepascal.org/index.php/topic,5.msg483626.html#msg483626

With msegui it is even better if we change some things in msegui source.
With those changes, a msegui application compiled on any system with libc.so 
older or newer will make your binary works:

  *   on Linux 32 from 1994-05-16 till libc.so die.
  *   on Linux 64 from 2002-01-20 till libc.so die.

(For X11 library, first version X11R6 (still used) date from 1994-05-16 till 
forever (X11 will always survive), so no problems there)

To enable this, you will need to only add this parameter for compilation 
"-dglibc225".
The fake libdl.so will be created by a patch using  "Command before compiling" 
and removed using "Command after compiling" in project option.

I did test it and it works on old distro more than 20 years ago!

What do you think, do you agree if I commit the change? (note that if you dont 
use "-dglibc225" nor the fake libdl.so, it will remain like it is now).

Fre;D
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net<mailto:mseide-msegui-talk@lists.sourceforge.net>
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


--
Vasi
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


Re: [MSEide-MSEgui-talk] Timeless MSEgui apps.

2023-07-04 Thread vasi vasi
Wow, definitely! In my opinion, you don't even need to ask! This is gold!

On Tue, Jul 4, 2023 at 5:03 PM Fred van Stappen  wrote:

> Recently the Linux-glibc team has release a new version of libc.so.6.
> And some distros have integrated it.
>
> But when you compile your application, at linking, the new table of signed
> symbols of that new libc.so.6 will be assigned.
> It has as result that the application will run only on systems with that
> minimum libc.so.6 version and not on distros with previous version of
> libc.so.6.
>
> The most "Catholic" option to fix this is to install a VM old distro with
> all needed for fpc and compile your application on that old distro and
> share that binary.
> Not very "out-of-the-box".
>
> Fortunately, Robert Rosee found a solution that dont need to tweak
> fpc-complier source and not install a VM.
>
> https://forum.lazarus.freepascal.org/index.php/topic,5.msg483626.html#msg483626
>
> With msegui it is even better if we change some things in msegui source.
> With those changes, a msegui application compiled on any system with
> libc.so older or newer will make your binary works:
>
>- on Linux 32 from 1994-05-16 till libc.so die.
>- on Linux 64 from 2002-01-20 till libc.so die.
>
> (For X11 library, first version X11R6 (still used) date from 1994-05-16
> till forever (X11 will always survive), so no problems there)
>
> To enable this, you will need to only add this parameter for compilation
> "-dglibc225".
> The fake libdl.so will be created by a patch using  "Command before
> compiling" and removed using "Command after compiling" in project option.
>
> I did test it and it works on old distro more than 20 years ago!
>
> What do you think, do you agree if I commit the change? (note that if you
> dont use "-dglibc225" nor the fake libdl.so, it will remain like it is now).
>
> Fre;D
> ___
> mseide-msegui-talk mailing list
> mseide-msegui-talk@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk
>


-- 
Vasi
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk


[MSEide-MSEgui-talk] Timeless MSEgui apps.

2023-07-04 Thread Fred van Stappen
Recently the Linux-glibc team has release a new version of libc.so.6.
And some distros have integrated it.

But when you compile your application, at linking, the new table of signed 
symbols of that new libc.so.6 will be assigned.
It has as result that the application will run only on systems with that 
minimum libc.so.6 version and not on distros with previous version of libc.so.6.

The most "Catholic" option to fix this is to install a VM old distro with all 
needed for fpc and compile your application on that old distro and share that 
binary.
Not very "out-of-the-box".

Fortunately, Robert Rosee found a solution that dont need to tweak fpc-complier 
source and not install a VM.
https://forum.lazarus.freepascal.org/index.php/topic,5.msg483626.html#msg483626

With msegui it is even better if we change some things in msegui source.
With those changes, a msegui application compiled on any system with libc.so 
older or newer will make your binary works:

  *   on Linux 32 from 1994-05-16 till libc.so die.
  *   on Linux 64 from 2002-01-20 till libc.so die.

(For X11 library, first version X11R6 (still used) date from 1994-05-16 till 
forever (X11 will always survive), so no problems there)

To enable this, you will need to only add this parameter for compilation 
"-dglibc225".
The fake libdl.so will be created by a patch using  "Command before compiling" 
and removed using "Command after compiling" in project option.

I did test it and it works on old distro more than 20 years ago!

What do you think, do you agree if I commit the change? (note that if you dont 
use "-dglibc225" nor the fake libdl.so, it will remain like it is now).

Fre;D
___
mseide-msegui-talk mailing list
mseide-msegui-talk@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mseide-msegui-talk