compiler is to do compile work,it translate your source code to object code only.
tool chain is a set of developing tools,include compiler,linker,libraries,dump,.etc.
with a tool chain,you can develop the complete application,it can be run in real.
for example as below:
arm-linux-gcc is a cross compiler.
but arm-linux-gcc & arm-linux-ld &arm-linux-dump ,etc are a tool chain.
aamirali - you are nearly there with your description. In its broadest sense a tool-chain can be any set of tools that you use together to produce something, e.g. schematic capture - auto router - gerber generator is a tool-chain. But assuming you are talking about software development tool chains then...
A compiler takes your source code and compiles it into "machine code" - i.e. a binary representation that a processor can read from memory and execute. In "C" like languages programs are normally made up of several files and some libraries, the compiler generates a binary output file for each C source file. These individual files need to be linked together so that a function call to a library or another C source file actually points to the correct address, A linker does this.
So at the simplest level for C the tool chain is a compiler and linker. But it might include make files to automate the build, a programmer for burning the target, etc.
However, personally I wouldn't say libraries are part of the tool-chain because they become part of the deliverable product. The tool-chain is the things used to build the product but are not part of the finished product.