Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2020-02

IDE rebuild fails on raspi4

8 messages · 3 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Tom Lisjac

Trying to get Lazarus working on the raspberry pi 4 with the latest Raspbian (Debian 10.2). Installed 2.0.0+dfsg-2 with synaptic from the Raspbian repos, but haven't been able to install components and rebuild the IDE, due to:

  VirtualTrees.pas(70,3) Fatal: Cannot find OleUtils used by VirtualTrees.

Got past a similar issue with fpdebug buy compiling it manually, but the VirtualTrees source shows OleUtils inside a Windows ifdef which isn't going to resolve on the pi:

unit VirtualTrees;
{$ifdef Windows}
  ...
  OleUtils,

Google hasn't been much help. Any suggestions for getting around this would be greatly appreciated.

Thanks,

-Tom
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20200207/e5161f64/attachment.html>

Reply by email

Werner Pamler
to Tom Lisjac
Tom Lisjac wrote 15 lines
Trying to get Lazarus working on the raspberry pi 4 with the latest Raspbian (Debian 10.2). Installed 2.0.0+dfsg-2 with synaptic from the Raspbian repos, but haven't been able to install components and rebuild the IDE, due to:   VirtualTrees.pas(70,3) Fatal: Cannot find OleUtils used by VirtualTrees. Got past a similar issue with fpdebug buy compiling it manually, but the VirtualTrees source shows OleUtils inside a Windows ifdef which isn't going to resolve on the pi: unit VirtualTrees; {$ifdef Windows}   ...   OleUtils,

I checked several versions of the Lazarus port on Luiz's github ((https://github.com/blikblum/VirtualTreeView-Lazarus - the version included in Lazarus is based on v5)), and they all have OleUtils outside the Windows ifdef, the code is:

uses
  {$ifdef Windows}
  Windows,
  ActiveX,
  CommCtrl,
  {$else}
  laz.FakeActiveX,
  {$endif}
  OleUtils,
  ....

In fact, OleUtils is a unit which provides some Windows-functionality for other widgetsets. However, it does not belong the VirtualTreeViews - it is contained in the lclextensions package which you must compile first, before touching VirtualTreeViews. Maybe it is sufficient to simply do a clean rebuild of the IDE.

Reply by email

Tom Lisjac
to Werner Pamler

Thanks Werner.

You are correct that oleutils is outside the Windows endif... my apologies. The monitor I'm using for the pi is very small and I should have used a magnifying glass to confirm the problem description before posting.

Per your comments, I was able to complete the IDE rebuild after manually compiling fpdebug, lclextensions, virtualtreeview and the onlinepackagemanager. However when I restart Lazarus, I have to recompile them again to do another rebuild. Not sure what's causing the lack of persistence, but Otto Dominguez also sent me a link to a set of 2.0.6 packages he's made for the pi4 and I think I'll give those a try.

Thanks again for your reply and suggestions,

-Tom

On Fri, Feb 7, 2020 at 11:09 AM Werner Pamler via lazarus <

Show quoted text 49 lines
wrote: Am 07.02.2020 um 11:16 schrieb Tom Lisjac via lazarus: > Trying to get Lazarus working on the raspberry pi 4 with the latest > Raspbian (Debian 10.2). Installed 2.0.0+dfsg-2 with synaptic from the > Raspbian repos, but haven't been able to install components and > rebuild the IDE, due to: > > VirtualTrees.pas(70,3) Fatal: Cannot find OleUtils used by VirtualTrees. > > Got past a similar issue with fpdebug buy compiling it manually, but > the VirtualTrees source shows OleUtils inside a Windows ifdef which > isn't going to resolve on the pi: > > unit VirtualTrees; > {$ifdef Windows} > ... > OleUtils, I checked several versions of the Lazarus port on Luiz's github ((https://github.com/blikblum/VirtualTreeView-Lazarus - the version included in Lazarus is based on v5)), and they all have OleUtils outside the Windows ifdef, the code is: uses {$ifdef Windows} Windows, ActiveX, CommCtrl, {$else} laz.FakeActiveX, {$endif} OleUtils, .... In fact, OleUtils is a unit which provides some Windows-functionality for other widgetsets. However, it does not belong the VirtualTreeViews - it is contained in the lclextensions package which you must compile first, before touching VirtualTreeViews. Maybe it is sufficient to simply do a clean rebuild of the IDE. -- _______________________________________________ lazarus mailing list https://lists.lazarus-ide.org/listinfo/lazarus

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20200209/08f5a5db/attachment.html>

Reply by email

Bo Berglund
to Tom Lisjac: Trying to get Lazarus working on the raspberry pi 4 with the latest Raspbian (Debian…
Tom Lisjac wrote
Trying to get Lazarus working on the raspberry pi 4 with the latest Raspbian (Debian 10.2).

I guess you mean Raspbian Buster then?

I have FPC/Lazarus on several of my RPi units ranging from RPi2B via RPi3B to RPi4B.

I have had no problems installing release versions FPC 3.0.4 + Lazarus 2.0.6 from sources obtained by SVN checkout.
I am using an old and trusted install script I wrote several years ago and it "just works" to get the basic stuff installed.

It does so to /home/pi/dev/... in order to not mess with anything in /usr/... etc.

Also I use pcp directories for every install I have, right now 2.0.2, 2.0.4 and 2.0.6 on my latest RPi4B.

Concerning the small screen:
I run my systems via VNC from my big screen Windows PC and the only glitch I have had so far is that the Lazarus IDE may suddenly crash unexpectedly.
But this has not happened once since I installed AutoSave in Lazarus via OnLine Package Manager, so this is for sure something I recommend using (plus of course subversion for project sources).

HTH

Bo Berglund Developer in Sweden

Reply by email

Tom Lisjac
to Bo Berglund

HI Bo,

Thanks for your reply and comments... very helpful!

Since your svn builds work without issue on the pi4, it looks like my persistence problem is with the lazarus package from the raspbian repo. Otto Dominguez also replied privately and provided some details about why. He also generously included a links to a set of 2.0.6 Lazarus packages he made for the pi4:

https://app.box.com/s/7g54gml6p9bfn10157go430oyputw2au

I'm going to uninstall the raspbian package and try Otto's. Ultimately I'd like to do my own builds on the pi as it appears the 4B is actually usable for serious development were previous versions were too slow for my taste. :) Otto included a link to a forum thread where he announced his build procedure and packages:

https://wiki.freepascal.org/Build_current_FPC_and_Lazarus_for_Raspbian

Is your build process similar on the pi4?

Thanks,

-Tom

On Mon, Feb 10, 2020 at 1:41 PM Bo Berglund via lazarus <

Show quoted text 44 lines
wrote: On Fri, 7 Feb 2020 10:16:36 +0000, Tom Lisjac via lazarus wrote: >Trying to get Lazarus working on the raspberry pi 4 with the latest >Raspbian (Debian 10.2). I guess you mean Raspbian Buster then? I have FPC/Lazarus on several of my RPi units ranging from RPi2B via RPi3B to RPi4B. I have had no problems installing release versions FPC 3.0.4 + Lazarus 2.0.6 from sources obtained by SVN checkout. I am using an old and trusted install script I wrote several years ago and it "just works" to get the basic stuff installed. It does so to /home/pi/dev/... in order to not mess with anything in /usr/... etc. Also I use pcp directories for every install I have, right now 2.0.2, 2.0.4 and 2.0.6 on my latest RPi4B. Concerning the small screen: I run my systems via VNC from my big screen Windows PC and the only glitch I have had so far is that the Lazarus IDE may suddenly crash unexpectedly. But this has not happened once since I installed AutoSave in Lazarus via OnLine Package Manager, so this is for sure something I recommend using (plus of course subversion for project sources). HTH -- Bo Berglund Developer in Sweden -- _______________________________________________ lazarus mailing list https://lists.lazarus-ide.org/listinfo/lazarus

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20200212/c575ab53/attachment.html>

Reply by email

Bo Berglund
to Tom Lisjac
Tom Lisjac wrote

No, I am not building any packages for my installations.

Instead I have written a script that handles everything for the *installation* including dependencies etc.
It is designed to be executed on a pristine RPi3B or RPi4B device and the result is an installation within the pi user's home directory, below /home/pi/dev and using /home/pi/bin and a few other local dirs.

I have posted the script and RPi seed compilers on my blog site: http://blog.boberglund.com/

The script there is now updated to use the current release versions Fpc 3.0.4 and Lazarus 2.0.6 and download the help files.

(Also sent the script privately to Tom Lisjac )

Bo Berglund Developer in Sweden

Reply by email

Bo Berglund
to Tom Lisjac: Thanks for your reply and comments... very helpful! Since your svn builds work without…
Tom Lisjac wrote
Thanks for your reply and comments... very helpful! Since your svn builds work without issue on the pi4, it looks like my persistence problem is with the lazarus package from the raspbian repo.

One heads-up here:
------------------
I have discovered that on my RPi4 with Lazarus IDE when interacting with it via VNC I am experiencing random IDE crashes that leaves me with unsaved source edits. :(

This did not happen before Xmas, so it might be a combination of versions of Raspbian Buster, Raspbian VNC server, Real VNC client on Windows 10 and possibly Windows 10 itself (I updated in December from Win7 to Win10). It was very infuriating when working on a project.

SOLUTION FOUND:
---------------
I started to search for a way to have Lazarus save my project regularly while I am working so as not to lose edits when the crashes happen. Turns out that OnLine Package Manager has a useful package called "AutoSave" already available!

I installed it and set the save time to 10 seconds. After this was done the crashes no longer happen!
And my sources are constantly saved to disk

Win-Win! Highly recommended to use.

Bo Berglund Developer in Sweden

Reply by email

Tom Lisjac
to Bo Berglund: On Wed, 12 Feb 2020 00:21:06 +0000, Tom Lisjac via lazarus No, I am not building any…

Hi Bo,

Again, thanks for your many useful replies.

Your approach to doing a local user build is a good one and what I'll also do on the problematic Raspbian. May also try it on another distro I like called Devuan. They used to release Pi versions but stopped with the 4B, so I'll have to build their latest 2.1 from scratch as well. Your install script is very readable and clarifies the OS configuration I'll need to support Lazarus builds.

It will be time consuming to build both the OS and Lazarus on the PI4, but I'm sure it will be a more enjoyable use of my spare time then trying to find something intelligent to watch on US TV. :)

Thanks,

-Tom

On Wed, Feb 12, 2020 at 9:31 AM Bo Berglund via lazarus <

Show quoted text 37 lines
wrote: On Wed, 12 Feb 2020 00:21:06 +0000, Tom Lisjac via lazarus wrote: > >https://wiki.freepascal.org/Build_current_FPC_and_Lazarus_for_Raspbian > >Is your build process similar on the pi4? No, I am not building any packages for my installations. Instead I have written a script that handles everything for the *installation* including dependencies etc. It is designed to be executed on a pristine RPi3B or RPi4B device and the result is an installation within the pi user's home directory, below /home/pi/dev and using /home/pi/bin and a few other local dirs. I have posted the script and RPi seed compilers on my blog site: http://blog.boberglund.com/ The script there is now updated to use the current release versions Fpc 3.0.4 and Lazarus 2.0.6 and download the help files. (Also sent the script privately to Tom Lisjac ) -- Bo Berglund Developer in Sweden -- _______________________________________________ lazarus mailing list https://lists.lazarus-ide.org/listinfo/lazarus

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20200217/2e2e5aec/attachment.html>

Reply by email