The GL_UNIFORM_BUFFER not defined error is because it's only available in current bzr head PyOpenGL. The version was changed because of reports that certain machines were unable to compile without a 330 declaration; 120 is apparently the last version that "supports" the fixed pipeline.