Hi guys,
I admit, I am primarily a Windows guy, pretty tired of Microsoft's ways, but that's a different story. But Windows (tried 7 and 10) both did give me an absolutely hassle free jump-start with Lazarus. Download, install, works, period.
Over the weekend I gave MacOS a try. This was a bit more of work, but finally I got all together: XCODE from Apple, GDB from don't remember where, build it, sign it, and Lazarus on top. Seems to work, at least I could compile, run and debug the "Hello" demo, which is kind of a promising start.
Then I turned my attention to Linux, yesterday morning. Isn't that the guys who do always complain about poor Microsoft software quality, and say they do better? Well, it doesn't seem so. First attempt was to use a Linux Mint "Petra" (Ubuntu 13.10) I had lying around. Installation went well, "Hello" Test went well, but Lazarus choked on re-compiling itself, the Leakview component won't compile, message not helpful. I wasted considerable time re-downloading the package from source, browsing forums, asking others, but no progress, only the error messages changed from "don't know whats going on" to "absurd". All I got from the forums was shady remarks that Petra was outdated, though the problem with leakview doesn't look like a typical "outdated OS" problem to me.
Considering that Mint "Petra" is indeed quite outdated, I went for Mint "Serena" (Ubuntu 16.4) this morning. Expecting some hickups I installed it into a VMware and took a snapshot after the OS was tested OK, so I dodn't need to re-install the whole thing over and over to get a clean machine to start from.
Then Lazarus. I was really shocked about the carelessness the project seems to hamper starters like me. First of all, try to find proper installation instructions for Linux. There are dozens: outdated, incomplete, dead links, contradictory, even the official wiki page at
http://wiki.freepascal.org/Lazarus_release_version_for_Ubuntustarts with a "this page is outdated" warning (dating back almost 2 years), and the installation attempts all didn't work, no matter which of the described methods I tried. Each try wasted considerable time and resources downloading a lot of stuff and installing it, some even without complaints, but after starting Lazarus I wasn't even able to open a single demo project without ignoring several seriously looking errors first, none (zero, nada, 0) projects would compile, not even the basic "application" with nothing but an empty form.
Then - though some "gurus" explicitly told me to do not - I gave the built-in Software Manager a try. Searching for "Lazarus" reveals 26 (!) different packages. Two can be ruled out easily, 24 remain. We got "Lazarus" (SDK depencendy package <-- ???), Lazarus-IDE, Lazarus-1.6 (Suite) and 21 more. Looking into the details they all look the same, so I choose the top one with the most reviews.
Download and install runs well, Lazarus first start, first error, what a warm welcome: though the package description proudly presents itself as the metapacket of packets, pulling in all that's required, Lazarus on first start complains about FPC sources missing. Back to Software manager: FPC Sources: no hit, Free Pascal Sources: no hit, FPC-Source: gotcha. 4 hits, again the packages seem to be identical. Though they have different names. Looking into the details ... ouch ... says it is Version 3.0.0+dfsg-2, while Lazarus sais it is Version +dfsg-1. And most of all it says: "installed". And "0B of disk space required". Must be a very efficient compression.
So who is right: Lazarus saying not installed, or Software Manager saying installed (0Bytes) or what? Next search: where is fpc installed (if it is installed at all): some sources say etc/alternatives, others say usr/local, others say usr/[my username], i finally find promising files in /usr/share/fpcsrc, and Lazarus indeed accepts that path.
Nevertheless, no project will compile, if I try, I get a series of error messages (the project ist only a blank form with no code in it and no controls on it - the thing you get if you just open Lazarus and tell it to create a project of type "Application"):
"Compile Project, Target: /home/linder/tmp/project1: Access violation
$0887A1B0
$0887A861
$0887A7E9
$084148B1
$08418653
$08105EA8
, Errors: 7
Panic: internal error: Access violation
Panic: internal error: $0887A1B0
Panic: internal error: $0887A861
Panic: internal error: $0887A7E9
Panic: internal error: $084148B1
Panic: internal error: $08418653
Panic: internal error: $08105EA8
"
This is much like my three year old, repeating the same complaint over and over, but not giving any useful infos about why and what to do now.
All I can do is tell you that the mentioned directory does exist, it is actually even created on compile if I delete it, and that the compile process seems to crash somewhere in the middle, since a ton of files is created in that directory. No executable though.
Recently I was said, in a forum post, that Lazarus was used by 10 thousands of people without complaints, I really wonder how they get their installations right, and which OSses they are on, but maybe it's just me, expecting too much, having a bad Karma, whatever?
So now the final question (thanks to whoever read that far): if I really don't give a damn what Linux distro I am using (reasonable stability in a VMWare environment is probebly the only must-have for me right now), what do I have to install, and how do I do it, so that I get a working Lazarus/FPC installation? I am willing to do a handstand after every packet, bow towards Helsinki or Lake Oswego every half an hour, whatever is necessary, as long as I get a Lazarus installation in Linux which lets me
- write a simple program on Linux
- run an simple program on Linux
- debug a simple program on Linux
- recompile Lazarus on Linux
Any hints welcome.
Armin.