I am new to Lazarus but I am an experienced Linux user and a developer.
And I am used to install/configure/build software of all sorts.
But Lazarus and FreePascal are not easy!
If you are installing a new Lazarus over an old Lazarus, there will be some FPC/Lazarus settings that - as a general rule - always will confuse the new Lazarus. These settings - I guess they are in ~/.lazarus - must be removed so that Lazarus can recover/regenerate.
I have not used Ubuntu, or any derivative, for years because it is a oddball, buggy distribution IMO. And not making sure that their contributions to Debian gets upstream.
So, I am using Netrunner rolling release based on Debian testing. Their contributions gets back to the Debian project, and it provides both stability and a fresh, new set of packages. Highly recommended!
I don't like to use the Sourceforge hosted packages for Lazarus/FreePascal because they are not configured properly. Otherwise, if they were, Debian wouldn't think they need to be upgraded to older versions.
I've installed Lazarus 1.6.2 from Debian repositories and it works fine.
But not great.
Because you either have to do some magic as a root user or simply compile third-party packages in your project so that the ppu's can be found - or, I guess, figure out a way to specify the default unit output directory..
The next time I am going to install Lazarus, however, will be from source, so that Lazarus and FreePascal gets installed into my home directory. Which will enable me to compile/recompile the IDE and packages and also install new packages without running into permission issues.
One thing that I've already learned about Lazarus and FreePascal is that it is extremely sensitive. So if you are going to upgrade Lazarus, you better hunt down and completely remove each and every package!
Lastly, I think that Lazarus and FreePascal are really missing out on a big opportunity when it's not using a package manager of its own.
Python has that, Node.js has that, Rust has that, why not FPC/LCL ?
That would simplify installation/upgrade/modification to great extent.
The packages can be installed either locally or globally and that would mean that the only packages that needs to be maintained are one for Lazarus and one for FreePascal. All the rest are FreePascal packages.