In OpenGL the camera faces the -z axis with the +y axis pointing up. I am using quaternions to represent the orientation of my objects (which works well) and am trying to do the same for the camera. I want the camera's initial orientation rotation to face the +x axis with the up vector being +z. I was attempting to initialize the camera's quaternion rotation by multiplying two 90 degree rotation quaternions in an effort to achieve this, but I believe I am experiencing gimbal lock because I cannot orient the camera properly (the first rotation works fine, the second one produces undesired results). I haven't been able to wrap my head around an axis-angle representation that will orient the camera the way I want.
I'm searching for an axis angle (or anything that can be converted to a quaternion really) that will provide the following rotation:
inital camera orientation: facing -z axis, +y pointing up
desired orientation: facing +x axis, +z pointing up
Note: I am already aware of gluLookAt, this problem was my attempt at understanding more about how everything works.