Ligthing problems

I have a problem with ligthing. In the picture below, the arms and legs of the robot are drawn with the same code as the center pole. But for some
reason, the lighting just works on the center pole. Does someone know whats going on??

The default is set for maximum efficiency. This is the case where your MODELVIEW transform does not contain any scales or shears (just rotates and translates).

If you do use scales in your MODELVIEW, then there is a (nowadays small) perf cost associated with renormalizing the normals to support this. You choose to accept that when you enable GL_NORMALIZE.

Also, if dusty fixed-function pipe memory serves, there is a GL_RESCALE_NORMAL enable that IIRC allegedly could be more efficient that GL_NORMALIZE if you just had uniform scales in your MODELVIEW. Might read up on it.