I'm going to post what I just had to do to compile pd from source in Ubuntu here, because it's the second or third time I've done it, and I still find it a total ordeal. (If nothing else, I'll probably refer back to this post myself if I ever have to do it again.) This is probably too late to help whoever originally posted this thread, and it might be redundant, since there are instructions on the page linked above, but I had problems with those, and I'm going to post what worked for me. Moreover, the documentation inside the tar itself for the build system (in terms of INSTALLs, READMEs and so on) is, in my opinion, fairly confusing, contradictory, and weak. Additionally, these instructions are going to be for compiling pd-extended from source, which I found much harder than just vanilla. So here goes:
firstly, I'm going to assume that you've downloaded and unzipped the tarball available here ('pd-extended for all platforms'): http://puredata.info/community/projects/software/pd-extended
Now, direct your terminal to the directory you unzipped it to, and execute the following:
cd ./packages/linux_make
(note: some sources, including the readme in the root directory, suggest that you should use the makefile in the pd/src directory. I found that this led in my case to a messy, half-broken installation without any properly functioning externals. The one in packages/linux_make seems to work much better for extended.)
make install
(this one will take a while!)
cd ./build
sudo cp -r usr /
IF you run across an error in make with one of the abstraction or external libraries, it may be possible to bypass this by editing the relevant makefile (found in either the externals or abstractions subfolder of the folder you unzipped, naturally). Basically, just open the makefile in question in a textfile, run a ctrl+f search for the name of the library you're having trouble with, and judiciously remove the instance of it which looks like it's telling make to install it. Some judgment is required on this one, but one clue is that it will probably occur in a list with a bunch of other library names around it.
I know the above is a little idiosyncratic, but it's the best way I found to install from source (after exploring many dead ends). I hope this post will be found useful by someone and won't just be considered redundant thread-bumping.