Forum > Linux

[SOLVED] App compiled in 21.1 doesn't run in 20.3

(1/2) > >>

petevick:
I've recently upgraded my Linux 20.3 PC to Linux 21.1, What I've found out is that any project compiled in 21.1 will not run in 20.3. Fortunately I have a 20.3 VirtualBox installed, and if I compile a project in that it will run in 21.1.
Both my PC and the VM run Linux Mint Cinnamon and both are 64 bit.
In the short term I'll use the VM for compilation, but I'd like to get the compatibility issue sorted in 21.1.
The Project Options>Compiler Options>Config and Target>Target Platform are all set set to Default, changing Target OS to Linux makes no difference.
I really can't see any other setting that would help with the compatibility.

Fred vS:
Hello.

Try to run the application from terminal.
If you get that kind of message:

--- Quote ---./my_program: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./my_program)
--- End quote ---

It is because the application was linked with a newer libc.so.6 sub-version than the one in the system.
See here: https://forum.lazarus.freepascal.org/index.php/topic,58888.0.html

To resume, the only cure is to compile+link your application on a older distro ( with VM for example ).
libc.so.6 is backward compatible (they promise) so the app compiled on older distro should run on new distro.
 

petevick:

--- Quote from: Fred vS on May 10, 2023, 07:06:08 pm ---Hello.

Try to run the application from terminal.
If you get that kind of message:

--- Quote ---./my_program: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.34' not found (required by ./my_program)
--- End quote ---

It is because the application was linked with a newer libc.so.6 sub-version than the one in the system.
See here: https://forum.lazarus.freepascal.org/index.php/topic,58888.0.html

To resume, the only cure is to compile+link your application on a older distro ( with VM for example ).
libc.so.6 is backward compatible (they promise) so the app compiled on older distro should run on new distro.
 

--- End quote ---
Thanks for the repy Fred vS. I don't get a message like that, this is the full output.....

--- Code: Pascal  [+][-]window.onload = function(){var x1 = document.getElementById("main_content_section"); if (x1) { var x = document.getElementsByClassName("geshi");for (var i = 0; i < x.length; i++) { x[i].style.maxHeight='none'; x[i].style.height = Math.min(x[i].clientHeight+15,306)+'px'; x[i].style.resize = "vertical";}};} ---pete@pete-B450M:/usr/bin$ startlazarusNote: (lazarus) 10917 TIDEInstances.StartUserBuiltIDE Starting custom IDE: aProcess.Executable=/home/pete/.lazarus/bin/lazarus Params=[]pete@pete-B450M:/usr/bin$ Hint: (lazarus) [TMainIDE.ParseCmdLineOptions] PrimaryConfigPath="/home/pete/.lazarus"Hint: (lazarus) [TMainIDE.ParseCmdLineOptions] SecondaryConfigPath="/etc/lazarus"TMainIDE.DoOpenProjectFile A "/home/pete/Projects/BPM v1.3.0/BPM.lpi"Hint: (lazarus) [TBuildManager.SetBuildTarget] Old=x86_64-linux-gtk2 New=x86_64-linux-gtk2 Changed: OS/CPU=True LCL=FalseTCustomFormEditor.JITListFindAncestors Class=TImageTCustomFormEditor.JITListFindAncestors Class=TEditTCustomFormEditor.JITListFindAncestors Class=TSpeedButtonTCustomFormEditor.JITListFindAncestors Class=TLabelTCustomFormEditor.JITListFindAncestors Class=TListBoxTCustomFormEditor.JITListFindAncestors Class=TLabelTCustomFormEditor.JITListFindAncestors Class=TSpeedButtonTCustomFormEditor.JITListFindAncestors Class=TStatusBarTCustomFormEditor.JITListFindAncestors Class=TLabelTCustomFormEditor.JITListFindAncestors Class=TListBoxTCustomFormEditor.JITListFindAncestors Class=TLabelTCustomFormEditor.JITListFindAncestors Class=TSpeedButtonTCustomFormEditor.JITListFindAncestors Class=TSpeedButtonTCustomFormEditor.JITListFindAncestors Class=TSpeedButtonTCustomFormEditor.JITListFindAncestors Class=TEditTCustomFormEditor.JITListFindAncestors Class=TLabelTCustomFormEditor.JITListFindAncestors Class=TLabelTCustomFormEditor.JITListFindAncestors Class=TSpeedButtonTCustomFormEditor.JITListFindAncestors Class=TSpeedButtonTCustomFormEditor.JITListFindAncestors Class=TSpeedButtonTCustomFormEditor.JITListFindAncestors Class=TSpeedButtonTCustomFormEditor.JITListFindAncestors Class=TSpeedButtonTCustomFormEditor.JITListFindAncestors Class=TListBoxTCustomFormEditor.JITListFindAncestors Class=TPanelTCustomFormEditor.JITListFindAncestors Class=TTrackBarTCustomFormEditor.JITListFindAncestors Class=TLabelTCustomFormEditor.JITListFindAncestors Class=TSpeedButtonTCustomFormEditor.JITListFindAncestors Class=TSpeedButtonTCustomFormEditor.JITListFindAncestors Class=TSpeedButtonTCustomFormEditor.JITListFindAncestors Class=TSpeedButtonTCustomFormEditor.JITListFindAncestors Class=TSpeedButtonTCustomFormEditor.JITListFindAncestors Class=TSpeedButtonTCustomFormEditor.JITListFindAncestors Class=TSpeedButtonTCustomFormEditor.JITListFindAncestors Class=TLabelTCustomFormEditor.JITListFindAncestors Class=TSaveDialogTCustomFormEditor.JITListFindAncestors Class=TPopupMenuTCustomFormEditor.JITListFindAncestors Class=TMenuItemTCustomFormEditor.JITListFindAncestors Class=TMenuItemTCustomFormEditor.JITListFindAncestors Class=TMenuItemTCustomFormEditor.JITListFindAncestors Class=TOpenDialogTCustomFormEditor.JITListFindAncestors Class=TImageListLoadLFM Creating designer for hidden component of /home/pete/Projects/BPM v1.3.0/unit1.pasInitOpenedProjectFile select form in designer: Form1:TForm1 TDesigner
There could be something in line 6, but it's above my pay grade. I do know that both my 21.1 PC and 20.3 VM both use gtk2.

I already use a Linux x32 VM for compiling for 32bit installs and a Windows10 x32 VM, so one extra step isn't a deal breaker really.
Thanks again for the reply.

Fred vS:
Hello.


--- Quote --- What I've found out is that any project compiled in 21.1 will not run in 20.3.
--- End quote ---

Ha, so I miss something, I was thinking that you get trouble with a binary compiled on  21.1 that does not run in 20.3.  :-[

petevick:

--- Quote from: Fred vS on May 10, 2023, 07:42:18 pm ---Hello.


--- Quote --- What I've found out is that any project compiled in 21.1 will not run in 20.3.
--- End quote ---

Ha, so I miss something, I was thinking that you get trouble with a binary compiled on  21.1 that does not run in 20.3.  :-[

--- End quote ---
You thought correctly, a binary I compiled in 21.1 does not run in 20.3, but a binary I compiled in 20.3 does run in 21.1, I'm confusing myself a bit now  %)

Navigation

[0] Message Index

[#] Next page

Go to full version