textures with solid shape calls

Okay, I’m not using wire frames anymore. Instead, I am using glutSolidDodecahedron() to create my shape. Now I want to stick an image like a decal onto the thing.
The glut call by itself produces a hedron with white faces. I tried to do glEnable(TEXTURE_2D) to stick my greyscale image onto the hedron. What resulted was a hedron with a solid grey color applied to all sides. Do I have to use texture coordinates? If so, how? WHat am I doing wrong?

You can use auto texture coordinates:
glTExgeni(gl_S,GL_TEXTURE_GEN_MODE,GL_OBJECT_LINEAR);
glTExgeni(gl_T,GL_TEXTURE_GEN_MODE,GL_OBJECT_LINEAR);
glEnable(GL_TEXTURE_GEN_S);
glEnable(GL_TEXTURE_GEN_T);

But this will make shape badly-textured.

Another way is to use glTexCoord - insert them before each glVertex.