automatic weights feature seems to be broken
One of the requirements for automatic bone weighting is to have a single mesh; your is made of many separate parts. I selected the main (body) vertices, then inverted the selection, hid the selected spare parts, then the auto weight went allright. Then you will have to manually weight the spare parts (or join them with the main mesh, manifold and unbroken). Auto weighting is an useful shortcut, but we cannot ask it for the complete job.