deal.II
deal.II is a finite element library written in C++ which can be used to write application programs to solve PDEs.
Installation
deal.II can be compiled without any dependencies. But it can also interface with external softwares mainly for linear algebra. You need a fairly recent c++ compiler and fortran (for trilinos, but this can be disabled). The GNU compilers are the natural choice. If you are on ubuntu, you can use synaptic package manager to install some of the softwares.
Installing on OSX using macports
Installing on OSX using homebrew
Gnuplot
Install gnuplot from your package manager.
Paraview/Visit/Mayavi
These are visualization tools built on VTK. Install atleast one of them.
Paraview: http://paraview.org/paraview/resources/software.php
Visit: https://wci.llnl.gov/simulation/computer-codes/visit/executables
Mayavi: http://code.enthought.com/projects/mayavi/
These softwares may also be available via your package manager.
Gmsh
Gmsh is a software for generating meshes. Install the latest version by downloading the executable from here. You can also download the source code and compile it yourself. Or your package manager might already have this. Ensure that you install the latest version.
For example, you can download the latest version for Linux (at the time of writing, it is 2.6.1). Then do
cd /opt
sudo tar zxvf ~/Downloads/gmsh-2.6.1-Linux.tgz
Then add the path to gmsh in your .bashrc file
PATH=$PATH:/opt/gmsh-2.6.1/bin
export PATH