dilevin / computer-graphics-meshes

Computer Graphics Assignment about Meshes
1 stars 6 forks source link

Issue with building project #6

Closed AllenLXL closed 5 years ago

AllenLXL commented 5 years ago

when I run exe file on teaching lab computer, I get the following errors:

GLX: Failed to create context: GLXBadFBConfigThe GLFW library is not initializedThe GLFW library is not initializedThe GLFW library is not initialized[1]    22992 segmentation fault  ./obj

Does anyone know how to solve this? thx.

WChrisK commented 5 years ago

You're running it through the windowed desktop right? Not the terminal? Just want to rule out the easy stuff first ;)

AllenLXL commented 5 years ago

yes, I am sitting in teaching lab...

WChrisK commented 5 years ago

I'm going to take a wild guess:

It might be possible that the computer hardware in most of the teaching labs is using an outdated OpenGL version. You can check this w/ glxinfo -B on the computer and see what it prints. For example, my computer (using Ubuntu 18.04) says

OpenGL version string: 4.6.0 NVIDIA 390.87
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)

If you see that the version is less than 3.3, that might mean the hardware on the computer is not only very old, but probably can't create an OpenGL context if libigl wants to request one that is using modern OpenGL.

A possible solution would be to try the computer room that has the 'graphics' computers. I don't remember the room number, but there's one on the second floor that is close to the CSSU. If you walk towards the CSSU doors, before going in you'd turn right and walk down the hallway, and it'd be the first one of your left IIRC. In there I believe are supposed to be computers with better graphics cards. You should try those and see if they work.

While there could be many reasons, this is the next thing I'd try to do.

EDIT: Assuming the CSSU didn't move that is, I don't recall if they moved to a room nearby from the original place that they used to have for years at the end of the hallway.

EDIT2: It does look like libigl is using modern OpenGL, particularly version 3.3 according to this:

    glfwWindowHint(GLFW_SAMPLES, 8);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
    glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);

so if you do see something that's 3.2 or less, that is likely to be why. I also haven't investigated further whether it drops back to a legacy context or not.

EDIT3: Yay lots of edits, maybe you could try changing this value in the cmake file and see if it helps (doubt but who knows...) option(LIBIGL_WITH_OPENGL_GLFW "Use GLFW" ON) change it to OFF and see if it works after running cmake again.

AllenLXL commented 5 years ago

Thanks Chris! I just used another computer and that problem is gone!