alecjacobson/computer-graphics-bounding-volume-hierarchy

The GLFW library is not initialized

Opened this issue · 15 comments

I ran rays on rubber ducky and it printed the chart out fine but then I got all this stuff printed after about glfw? and then a segfault.

Is there something that I should be installing? I'm running locally using ubuntu and I installed all the packages that were mentioned on the assignment page.

image

Did you set the DISPLAY environment variable? Aside from installing opengl, you need to configure your X server correctly (see this page for example: https://stackoverflow.com/questions/662421/no-x11-display-variable-what-does-it-mean).

I'm running on my own machine

I set the DISPLAY env variable and now it says X11: Failed to open display as well as GLFW library is not initialized
image

Should I be running this on a server instead of my own machine?

No, an "X server" is confusingly what runs on your machine (the X client also runs on your machine in this case but the protocol is designed for more general scenarios). It's generally easier to run opengl programs locally than on a remote server, and I don't even think the school servers are set up to forward opengl-rendered data. I do think the problem is with your display variable though.

Just to make sure, are you on native ubuntu or WSL ubuntu? I don't think opengl works on the latter.

Ohh I'm on WSL ubuntu

If you'd like to continue with WSL then take a look at this issue: microsoft/WSL#6430, but to make things easier I'd recommend using native Windows for future assignments.

I'm having the same problem. I looked at the issue above (microsoft/WSL#6430), but it didn't work. I set the right IP address as my DISPLAY and changed my firewall settings, but I still get the error that GLFW isn't initialized. At this point, I think I'll use Windows.

How can I download the libraries for a4 (and cmake) on Windows? I downloaded cmake as part of the Visual Studio Build Tools, but my compilation doesn't succeed anymore.

I'd recommend downloading cmake from their website and using that. The windows cmake build tool is weird IMO and when I used windows in the past, I've generally preferred command line cmake + using the generated sln file in Visual Studio.

I've downloaded cmake and mingw64 successfully through Chocolatey. I've added the mingw64 bin folder to my path, but when I do "cmake .." in a new build directory, I get this error:
image

What could be the problem?

It's trying to create a Visual Studio project but you don't have it installed. I'd strongly suggest using Visual Studio over mingw for this assignment and future assignments, since it works a bit more reliably with cmake.

Thanks for the help!
I followed your advice and I can now run "cmake .." in the build directory. However, I end up with the following. I'm a bit confused because there's no executable (ex. rays). Are these the correct contents of the build directory, and if so, how can I run the program?
image

Yes, you now have to open the .sln file in Visual Studio and compile from there.

Hi, after following your advice, I was able to build the executables. However, there were a huge amount of warnings (here):. I also got this error when I ran "rays.exe ../data/rubber-ducky.obj".
image

This whole situation is very confusing, because I never had any error or warning when I used "make" or ran the executable on WSL. This error is with Eigen, so I tried including both Eigen/Core and Eigen/Geometry in the ray_intersect_triangle_brute_force.cpp file then rebuilding, but the error still appears. Is there a problem with how I'm including Eigen files, or is there a bug with my brute force code that only appears in VS?

Remember that you're in the directory build_vs\Debug relative to the root of the repo, while the data folder is in data, so to reference it from that directory, you need to use ..\..\data. This is because unlike with makefiles, visual studio lets you keep track of debug and release builds simultaneously, by putting them in different directories. If you just run the code from Visual Studio directly and change the command line arguments for running an executable (see this page if you're not sure how to do it: https://cs-people.bu.edu/deht/CS585/VSTutorial/#CommandLineArgs), it will set the working directory to build_vs so you won't have these problems.