I have been a Debian user for years and I love it to bits, but it takes a long time to learn.
As far as I'm concerned Debian and Ubuntu are the same thing.
Installing software that Debian or Ubuntu give you as part of the distro is easy because if you just apt-get install it. In one command the OS will figure out all of the dependencies and download and install everything that you need, but no more.
It means I can start off with a tiny minimum install from a 120meg ISO image and then grow it.
How cool is that?
However....
Suppose I want a package that is not supplied by Debian. Then things get interesting.
Either you need to find someone who has put together a server which has the stuff you need and add their repository to you /etc/apt/sources.list
a good example is debian-multimedia.org
of course you have to trust them though because whoever maintains that server can put anything on your machine if you use it
But what if there is no kind soul who has done that before you. Then I'm afraid you have to handle the dependancies yourself.
Basically you download the lazarus and fpc .deb packages that you want into a folder
then you do
cd folder
dpkg -i *.deb
Now you are going to get a bunch of errors because of unmet dependancies.
Now you go to
http://packages.debian.org and find the missing packages
do
apt-get install list-of-packages
then you try dpkg -i *.deb again
you might find that you get dependencies where you already have the right package but it's not new enough
in that case you have to hunt around for a newer package (maybe from ubuntu or an experimental release of debian) and add that into the folder
eventually you either destroy your system or have a working lazarus
that's how I did it anyway
not for the faint of heart though.
I'm afraid that part of the problem is that developers put a .deb package together for their software and fill in the dependencies for what they've got. Suppose that they have somesw.09 and you have only somesw.07 because debian Lenny includes .07
It doesn't mean that the software necessarily actually needs .09, but because thats what the developer had that's what he puts.
because he does that he effectively forces you to upgrade half of your stable system to the same level as his bleeding edge developer box, which is a nightmare
Personally I wish that developers/package maintainers would actually try out their package on a freshly built stable release box, but they just don't.
I'm not sure how rpm based systems like fedora would behave any differently as I have invested so many years in Debian that I'm not going to bother to find out now.
I've also used NetBSD and the pkgsrc system has some remarkably similar characteristics to apt with its dependency checking etc.