Bone heat weighting failed to find solution for one or more bones (tried all fix, don't work)
So I separated all objects and parented each one by one and it seems that the belt and torso are the issue. I tried to recalculate the normals and Remove doubles, but it seems that there is something wrong with the two. Maybe try Retopo-ing the the two. Also for whatever reason there is no weight appearing in the weight paint mode which brings me to the conclusion that you will have to manually weight paint the model after fixing the two objects of course.

Additionally I looked up the issue and found a concise list of the stuff you need to check in your model on a reddit forum Here it is:

Anything that has lots of intersecting meshes seems to bork the auto weightpainting. If you separate loose parts, weight all the parts, and then join them, you can get an approximate weight painting.
Other things worth checking
-Are the rig and mesh aligned on the axis properly?
-Have you applied scale and rotation on everything you're weighting?
-Did you make sure to keep the x - axis mirror option on when rigging? The weight painting gets wonky when things are less symmetrical.
-Have you removed double vertices, checked your mesh for bits that don't aren't connected, and recalculated normals?
-Is your mesh or armature too large? Sometimes scaling it down can help.
That error message is frustrating because it gives very few clues as to what you're doing wrong.

Here is the file: