Recent

Author Topic: Fpcupdeluxe  (Read 908268 times)

TRon

  • Hero Member
  • *****
  • Posts: 4308
Re: Fpcupdeluxe
« Reply #2565 on: March 27, 2025, 09:37:29 am »
I understood that FPC 3.0.4 can run on my Ubuntu 22.04 but can not be build on that distro.
Correct. And I need to revise my answer, 3.0.4 does run for me on bookworm but ....

Code: Bash  [Select][+][-]
  1. $ fpc -V3.0.4 -B test.pas
  2. Free Pascal Compiler version 3.0.4 [2017/10/03] for x86_64
  3. Copyright (c) 1993-2017 by Florian Klaempfl and others
  4. Target OS: Linux for x86-64
  5. Compiling test.pas
  6. Linking test
  7. /usr/bin/ld: warning: link.res contains output sections; did you forget -T?
  8. 3 lines compiled, 0.1 sec
  9. $ ./test
  10. Segmentation fault
  11.  

... the compiler does not seem able to produce an elf binary that is able to run.

Begs the question though, why (w/sh)ould you want to ?
Today is tomorrow's yesterday.

Thaddy

  • Hero Member
  • *****
  • Posts: 16805
  • Ceterum censeo Trump esse delendam
Re: Fpcupdeluxe
« Reply #2566 on: March 27, 2025, 10:34:06 am »
3.0 is so old. That means the distribution is also old because the default distributions on linux - almost all of them - are 3.2.x
So don't complain, just update. ( e.g. we also don't support win97 )
3.2.2 runs on bookwork or newer on all my hardware.
Changing servers. thaddy.com may be temporary unreachable but restored when the domain name transfer is done.

Fred vS

  • Hero Member
  • *****
  • Posts: 3532
    • StrumPract is the musicians best friend
Re: Fpcupdeluxe
« Reply #2567 on: March 27, 2025, 01:08:24 pm »
BTW it seems that the picture of Fred vS shows an installation of FPC 2.0.4 and not 3.0.4 (but this seems to be on Ubuntu 24.04, so it does not matter).

Oooops, you are absolutely right, the test was done for fpc 2.0.4.
Unfortunately compiling fpc 3.0.4 did not give better results (see picture).
I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

Hartmut

  • Hero Member
  • *****
  • Posts: 905
Re: Fpcupdeluxe
« Reply #2568 on: March 27, 2025, 04:21:14 pm »
Thanks to TRon and Fred vS for your new replies. So I tried to switch to FPC 3.2.2 but...

This is a bug report: fpcupdeluxe crashed (hung) during install of Lazarus 2.0.6 and FCP 3.2.2.

I tried to install Lazarus 2.0.6 and FCP 3.2.2 in a new blank folder. After about 3-4 minutes fpcupdeluxe stopped writing its output and the taskmanager showed no more activity. I waited 15 minutes but nothing happened. All buttons of fpcupdeluxe were greyed. The "X" in the upper right corner did not work. Button "STOP" showed a question but did not abort fpcupdeluxe. In the taskmanager I saw some other tasks, started by fpcupdeluxe, showing no progress (see screenshot). I had to kill them.

The last messages in the black output of fpcupdeluxe showed:
Code: Text  [Select][+][-]
  1. (1008) 20675 lines compiled, 1.4 sec
  2. (3104) Compiling syneditmarkupfoldcoloring.pas
  3. (1008) 111416 lines compiled, 6.0 sec
  4. (1002) Target OS: Linux for x86-64
  5. (3104) Compiling allsyneditdsgn.pas
  6. (3104) Compiling syndesignstringconstants.pas
  7. (3104) Compiling syneditlazdsgn.pas
  8. (3104) Compiling synpropertyeditobjectlist.pas
  9. (1008) 977 lines compiled, 0.6 sec

The last messages in the white output of fpcupdeluxe showed:
Code: Text  [Select][+][-]
  1. info: Performing SVN/GIT/HG/FTP/URL checkout/download. Please wait, could take some time.
  2. info: Lazarus Native Installer (GitClient: Lazarus): Current commit name: lazarus_2_0_6.
  3. info: Lazarus Native Installer (GitClient: Lazarus): Current commit message: set fixes version 2.0.6git-svn-id: branches/fixes_2_0@62128 -.
  4. info: Lazarus Native Installer (GetModule: Lazarus): Lazarus was at revision/hash: FRET_UNKNOWN_REVISION.
  5. info: Lazarus Native Installer (GetModule: Lazarus): Lazarus is now at revision/hash: 6116c3a.
  6. info: Lazarus Native Installer (GetModule: Lazarus): No Lazarus patches defined.
  7. info: Lazarus Native Installer (ConfigModule: Lazarus): Created Lazarus primary config directory: /opt/lazarus_206n/config_lazarus.
  8. info: Lazarus Native Installer (BuildModuleCustom: Lazbuild): Running: make lazbuild.
  9. info: Lazarus Native Installer (BuildModuleCustom: UserIDE): Now building UserIDE.
  10. info: Lazarus Native Installer (BuildModuleCustom: UserIDE): Running lazbuild to get IDE with user-specified packages.

More Details:
Used fpcupdeluxe version: 2.4.0f "fpcupdeluxe-x86_64-linux"
My OS is Linux Ubuntu 22.04 64 bit.
My computer has 8 GB Memory.

I attached the complete outputs of the black and the white windows of fpcupdeluxe.
Can please somebody help?

TRon

  • Hero Member
  • *****
  • Posts: 4308
Re: Fpcupdeluxe
« Reply #2569 on: March 27, 2025, 04:41:39 pm »
@Hartmut:
There is an important (last) line missing from your output (no idea why):
Code: [Select]
/usr/bin/make -C ide idepkg
FPCUpDeluxe seem to hang on that command (either during or just thereafter).

edit: It does seem that Lazarus 2.0.6 is not happy with FPC 3.2.2 (manual build)
Code: Bash  [Select][+][-]
  1. (3104) Compiling ./frames/compiler_compilation_options.pas
  2. /media/doodles/laz/work/lazarus/ide/./frames/compiler_compilation_options.pas(65,26) Hint: (5024) Parameter "ADialog" not used
  3. /media/doodles/laz/work/lazarus/ide/./frames/compiler_compilation_options.pas(395,18) Error: (3205) Illegal qualifier
  4. /media/doodles/laz/work/lazarus/ide/./frames/compiler_compilation_options.pas(421,18) Error: (3205) Illegal qualifier
  5. compiler_compilation_options.pas(442) Fatal: (10026) There were 2 errors compiling module, stopping
  6. Fatal: (1018) Compilation aborted
  7. Error: ppcx64 returned an error exitcode
  8. make[2]: *** [Makefile:4144: lazarus] Error 1
  9. make[2]: Leaving directory '/media/doodles/laz/work/lazarus/ide'
  10. make[1]: *** [Makefile:4577: bigide] Error 2
  11. make[1]: Leaving directory '/media/doodles/laz/work/lazarus/ide'
  12. make: *** [Makefile:3383: idebig] Error 2
  13.  
« Last Edit: March 27, 2025, 04:53:52 pm by TRon »
Today is tomorrow's yesterday.

Hartmut

  • Hero Member
  • *****
  • Posts: 905
Re: Fpcupdeluxe
« Reply #2570 on: March 27, 2025, 05:22:40 pm »
@Hartmut:
There is an important (last) line missing from your output (no idea why):
Code: [Select]
/usr/bin/make -C ide idepkg
FPCUpDeluxe seem to hang on that command (either during or just thereafter).

@TRon:
I copied the complete output of fpcupdeluxe which was visible...
The missing line
Code: [Select]
/usr/bin/make -C ide idepkg
can be found in the screenshot of the taskmanager, which I had attached to reply #2568 together with these 3 running processes:
Code: [Select]
/usr/bin/make -w idepkg
../tools/svn2revisioninc .. revision.inc
git show --summary --pretty=format:"%b"
while all this 4 processes have the same starting time.
Did you see this? Does this help us?

Quote
edit: It does seem that Lazarus 2.0.6 is not happy with FPC 3.2.2 (manual build)

Hmmm, there should be a list somewhere, which Lazarus- and FPC-versions are compatible or not... Does somebody know of such a list?

TRon

  • Hero Member
  • *****
  • Posts: 4308
Re: Fpcupdeluxe
« Reply #2571 on: March 27, 2025, 06:13:44 pm »
I copied the complete output of fpcupdeluxe which was visible...
The missing line
...
can be found ...
Strange, I was able to copy the line out of the output windows from FPCUpDeluxe. Must be one of those things....

Sorry, I've missed your screenshot (I was already trying to build while reading the log-file output  :) ).

Quote
while all this 4 processes have the same starting time.
Did you see this? Does this help us?
Yeah, I noticed but I already had the multi-job turned off in setup+

Quote
Hmmm, there should be a list somewhere, which Lazarus- and FPC-versions are compatible or not... Does somebody know of such a list?
I seem to remember there is one as well but my ddg-foo seem to be lacking today (e.g. unable to locate).

Did some further testing, unfortunately 3.2.0 is also unable to build Lazarus 2.0.6. Seems that the first candidate would be Lazarus 2.0.12 with fpc 3.2.0

I try again and ask what is the purpose for the Lazarus 2.0.6 version ? If it is really important then the only road left is something like an older machine or a VM running stretch, then install the 3.04 compiler and 2.06 lazarus. Leaving the door open to install newer versions so that existing code can be migrated to a newer version of both FPC and Lazarus in order to be able to bring the versions up to such an extend being able to compile/build everything on your current setup.
Today is tomorrow's yesterday.

Hartmut

  • Hero Member
  • *****
  • Posts: 905
Re: Fpcupdeluxe
« Reply #2572 on: March 27, 2025, 07:32:02 pm »
Hmmm, there should be a list somewhere, which Lazarus- and FPC-versions are compatible or not... Does somebody know of such a list?
I seem to remember there is one as well but my ddg-foo seem to be lacking today (e.g. unable to locate).

The only thing I could find is https://wiki.freepascal.org/Free_Pascal#Lazarus_and_the_Free_Pascal_Compiler where is written:
Code: [Select]
The recommended/required version of the Free Pascal Compiler for the Lazarus IDE depends from the Lazarus version:
...
Lazarus 1.8.0 - 2.0.8: FPC 3.0.4
Lazarus 2.0.10 - 2.0.12: FPC 3.2.0
But from this wording for me is not clear, that or whether the named FPC version is the only possible version. I assume, that there will be in most cases a range of possible versions.

Quote
Did some further testing, unfortunately 3.2.0 is also unable to build Lazarus 2.0.6. Seems that the first candidate would be Lazarus 2.0.12 with fpc 3.2.0
Meanwhile I tried to install Lazarus 2.0.6 and FCP 3.2.0 via fpcupdeluxe and it crashed with a "memory access error" as I had described in reply #2559.

Quote
I try again and ask what is the purpose for the Lazarus 2.0.6 version?
The purpose is, that I have an older project, which was created at that time with Lazarus 2.0.6 and FCP 3.0.4. Now I would like to do some changes on this project and of course the easiest way would be to use these 2 versions. With migrating projects to another LCL version I have made bad experiences in the past: difficult, very time consuming and very very much testing effort. I remember that especially in that project I had to fight hardly with some LCL events, which did not work as expected/needed and furthermore reacted different on Windows and Linux. So I had to create some huge and complicated workarounds until everything did what I needed. And now a different LCL version will behave probably different... Migrating to another FPC version was not so bad in the past. I think, because Lazarus 2.0.6 seems no longer to be possible, I will relinquish to modify that project.

I did not know, that installing older Lazarus / FPC versions is such a problem after some time (on Linux).

TRon

  • Hero Member
  • *****
  • Posts: 4308
Re: Fpcupdeluxe
« Reply #2573 on: March 28, 2025, 10:55:23 am »
The only thing I could find is https://wiki.freepascal.org/Free_Pascal#Lazarus_and_the_Free_Pascal_Compiler where is written:
...
I seem to remember there being a compatibility matrix/table in the wiki at one time. Still unable to locate it though  :(

Thank you for the link, I guess it is better than nothing.

Thought probably right it sounds a bit strict. Usually the mentioned FPC version is the minimal required version and because FPC also usually supports at least one release of backwards compatibility that should /in theory/ also work. That is, without introduced breaking changes (which should happen fewer and fewer by each new release). A similar construction also applies to/for Lazarus. It is just that the version you prefer are so far between that there are issues.

A hindsight advice: try to keep older written applications (at least a little) up to date and check for breaking changes with every release (and accommodate for that in your code when necessary).

Hence the advice from my previous post to install an older Linux distro in something like a VM and install the older versions of FPC/Lazarus, e.g. in order to try update old (incompatible) code step-by-step. Another possible solution is bite the bullit and update in one go.

Quote
I did not know, that installing older Lazarus / FPC versions is such a problem after some time (on Linux).
Unfortunately there are many breaking changes in the Linux runtime. Probably argued with a "if you strictly followed the guidelines you should not have any problems" but alas, here we are.

The only advise to give, I guess, is try and find the lowest FPC/Lazarus version available that is able to run for you (either VM or otherwise with an older version of your distro) and try if that these are still able to build and run your code and try to work your way up from there.

You are right in that the choices of FPCUpDeluxe to mix and match different FPC and Lazarus version numbers is perhaps a bit misleading as only certain combinations actually work and older versions do not actually build anymore on newer distributions. It would also be a tremendous amount of work to figure this out for all supported platforms and make something like FPCUpDeluxe act according to that information.

It might perhaps be obvious for someone that is familiar with FPC/Lazarus that f.e. Lazarus 4.0RC3 does not compile with FPC 2.0 (many new features have been introduced to the compiler since then and which Lazarus relies on) but someone new might perhaps be puzzled by it.
Today is tomorrow's yesterday.

Hartmut

  • Hero Member
  • *****
  • Posts: 905
Re: Fpcupdeluxe
« Reply #2574 on: March 28, 2025, 06:04:25 pm »
Thanks TRon for your detailed answer.

A hindsight advice: try to keep older written applications (at least a little) up to date and check for breaking changes with every release (and accommodate for that in your code when necessary).

During a lot of years I have written about 150 FPC/Lazarus programs which run on Linux (most of them run on Windows too) plus about 50 programs only for Windows. For me it would be absolute impossible to follow your advice. This would be a "fulltime job" (and one which makes absolutely no fun). I am only a hobbyist and my time for this hobby is limited...

Quote
Hence the advice from my previous post to install an older Linux distro in something like a VM and install the older versions of FPC/Lazarus

I agree that this seems to be the only practicable solution. Thanks again.

Fred vS

  • Hero Member
  • *****
  • Posts: 3532
    • StrumPract is the musicians best friend
Re: Fpcupdeluxe
« Reply #2575 on: March 28, 2025, 06:51:01 pm »
Hello.

When fpc 3.2.0 came, one of the fixes, for all previous projects that I used, was to add this at begin of each unit:
Code: Pascal  [Select][+][-]
  1. {$interfaces corba}
But the main problem was to adapt the new typinfo.
« Last Edit: March 28, 2025, 07:05:55 pm by Fred vS »
I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

Hartmut

  • Hero Member
  • *****
  • Posts: 905
Re: Fpcupdeluxe
« Reply #2576 on: March 29, 2025, 05:42:14 pm »
Hello Fred vS, if your last post is related to mine: until now I never used 'interface's and 'TypeInfo'.

Fred vS

  • Hero Member
  • *****
  • Posts: 3532
    • StrumPract is the musicians best friend
Re: Fpcupdeluxe
« Reply #2577 on: March 29, 2025, 06:06:58 pm »
Hello Fred vS, if your last post is related to mine: until now I never used 'interface's and 'TypeInfo'.

Yes it was for you.  Adding '{$interfaces corba}' was needed to make MSEgui project compatible from 3.0.4 to 3.2.0.
Maybe it could help for LCL project too.
More detail of change in 3.2.0. are here: https://wiki.freepascal.org/User_Changes_3.2.0.

For 'TypeInfo', surely you use it via LCL and I fear that you will need a Lazarus version compatible with fpc 3.2.0 because TypeInfo is very different vs 3.0.4.
Trying to adapt a Lazarus version who still use TypeInfo < 3.2.0 will not be easy (it was big pain to do it for MSEgui).

It would be interesting to see the errors you get when trying to compile your app with 3.2.0. and more recent Lazarus release compatible with 3.2.0, to check if the problems come mainly from fpc or from LCL.  And find the solutions.
« Last Edit: March 29, 2025, 06:09:35 pm by Fred vS »
I use Lazarus 2.2.0 32/64 and FPC 3.2.2 32/64 on Debian 11 64 bit, Windows 10, Windows 7 32/64, Windows XP 32,  FreeBSD 64.
Widgetset: fpGUI, MSEgui, Win32, GTK2, Qt.

https://github.com/fredvs
https://gitlab.com/fredvs
https://codeberg.org/fredvs

Hartmut

  • Hero Member
  • *****
  • Posts: 905
Re: Fpcupdeluxe
« Reply #2578 on: March 30, 2025, 11:36:25 am »
Thanks Fred vS for your infos. Until now I never used 'MSEgui' too.

It would be interesting to see the errors you get when trying to compile your app with 3.2.0. and more recent Lazarus release compatible with 3.2.0, to check if the problems come mainly from fpc or from LCL.  And find the solutions.

I can compile my project with Laz/FPC 2.0.10/3.2.0 without compiler errors. But I don't want to use these versions productively because I fear a different runtime behaviour as described in reply #2572 and very very much testing effort.

Hartmut

  • Hero Member
  • *****
  • Posts: 905
Re: Fpcupdeluxe
« Reply #2579 on: April 04, 2025, 06:55:29 pm »
In https://wiki.freepascal.org/Installing_Lazarus_on_Linux#Required_Linux_packages there is a link to https://github.com/LongDirtyAnimAlf/fpcupdeluxe/blob/master/installscripts/debian.sh

I tried the script in debian.sh and found 1 or 2 typo's:

1) This script includes in line 20:
Code: Bash  [Select][+][-]
  1. sudo apt-get install -y libXxf86vm-dev
but this did not work. I changed it to
Code: Bash  [Select][+][-]
  1. sudo apt-get install -y libxxf86vm-dev
(lower case "x") and this worked.

2) This script includes in line 16:
Code: Bash  [Select][+][-]
  1. sudo apt-get install -y libgtk2.0-0-dev
but I got message "Package libgtk2.0-0-dev could not be found". Maybe there is a typo too?

I'm not familiar with this stuff. Please could someone check (and correct) this? Thanks.

 

TinyPortal © 2005-2018