3 ms·
Yeah, about that recompile. About 2 years ago I started to learn Raspberry Pi. All good and nice, Lazarus runs directly on Pi, until I needed some network funct
by unnouinceput 5y ago
Yeah, about that recompile. About 2 years ago I started to learn Raspberry Pi. All good and nice, Lazarus runs directly on Pi, until I needed some network functionality. Found some components and tried to recompile the IDE, to install those. Errors over errors, wasted 2 days and couldn't make it work. I had to use a previous version of those components that were already compiled/packaged - no idea how to name this - where I took them from some repository and then magically appeared inside Lazarus' component palette - no recompile was needed. I gave up on Free Pascal/Lazarus and went back to Delphi - nowadays, with FMXLinux, you can target Debian without a hiccup.
I liked Lazarus idea of gazillion targets, until I actually wanted to compile for those targets - started reading forums, manuals, wasted a week. You wanna know why I prefer Delphi? Because all I have to do is select the target in a selector and that's it. So until Lazarus will not require recompile and switching targets will be just as easy as in Delphi, it will remain a toy.
- badsectoracula 5y agoI'm not sure what you downloaded but components need to become part of the IDE to work, you can't just copy something - unless that something also includes a precompiled version of Lazarus. In any case it sounds like an issue with the components you downloaded, not Lazarus itself - it is very possible the components you found were not compatible with the version of Lazarus you got or with Raspberry Pi / ARM. Also FPC contains already several packages that provide networking functionality so you may not even needed those components. But using Raspberry Pi to judge Lazarus isn't IMO a good idea, desktop development on Raspberry Pi is a bit of a niche case and the device is underpowered, so you'll end up with issues. Not that it is impossible, i just installed FPC 3.2.2 and compiled Lazarus 2.0.8 (i prefer to compile Lazarus from sources instead of using any binaries as it avoids the broken packages that distros often provide) on my RPi2, though it took half an hour for the build to finish (i did use "make bigide" though, which builds a few extra components and the sdcard is some painfully slow C4). But after that it worked fine.
- unnouinceput 5y agoIf I remember correctly I used some integrated repository in Lazarus to use a previous version of those network components, then Lazarus did do something, but it took only like 2 minutes and then those components appeared on palette. And I disagree with you, I think RPi is perfect for Lazarus. In my case I used an RPi zero (WH) which currently runs a server I made in Lazarus, a Frankenstein's monster of a server if you want. It controls an electromagnetic lock on my main door, to allow kids to open the door using their phones (Android, I made the app in there in Delphi's FireMonkey). It will also water our plants when we go to vacation, by controlling a pump (Same Android app has another section that will allow to start the pump). Also I connected a webcam and view its output through the same server, to see the plants in question. Probably in the future I'll create my own smart lights and connect those to same server. And same RPi zero has Pi-Hole installed. All in all Lazarus, after initial hurdle, proved quite good on Raspberry Pi. But it's too much hassle compared with Delphi.
- badsectoracula 5y agoYou most like used the online package manager then, what this does is download the sources and recompile the IDE so you did recompile the IDE. The 2 minute recompilation makes sense considering it is RPi. Note that i did not write that Lazarus is bad for Raspberry Pi (on the contrary it is among the few actual IDEs you'll be able to use with the RPi considering how weak it is and how overbloated pretty much every other IDE with a similar overall featureset is), i wrote that judging Lazarus based on how it works with Raspberry Pi is not a good idea because it is a niche case, so you will find roadblocks that wont exist in other more mainstream configurations. It is simple reality that not as many Lazarus developers pay attention to ARM-based Linux desktop environments and Raspberry Pi as they do for x86-based Linux desktop environments and x86-based Windows. For most things it works because FPC and Lazarus are good at being cross platform and the libraries are largely the same between x86 and ARM Linux, but things aren't equal. (of course you can use it to judge how Lazarus works with Raspberry Pi specifically, but this experience isn't something that can be extended to everything Lazarus supports)