alecjacobson / computer-graphics-bounding-volume-hierarchy

Computer Graphics Assignment about Bounding Volume Hierarchies
123 stars 45 forks source link

The GLFW library is not initialized #61

Open nativia002 opened 2 years ago

nativia002 commented 2 years ago

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

alecjacobson commented 2 years ago

Are you running on a server or your own machine?

On Tue, Feb 8, 2022, 3:06 PM Alicia @.***> wrote:

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: image] https://user-images.githubusercontent.com/51001763/153066720-137e307f-71c6-4e5d-99a5-235017ca7f96.png

— Reply to this email directly, view it on GitHub https://github.com/alecjacobson/computer-graphics-bounding-volume-hierarchy/issues/61, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARDJGLOTZO64PJFPVOFX33U2FZVJANCNFSM5N3PNOIQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you are subscribed to this thread.Message ID: <alecjacobson/computer-graphics-bounding-volume-hierarchy/issues/61@ github.com>

abhimadan commented 2 years ago

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).

nativia002 commented 2 years ago

I'm running on my own machine

nativia002 commented 2 years ago

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?

abhimadan commented 2 years ago

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.

nativia002 commented 2 years ago

Ohh I'm on WSL ubuntu

abhimadan commented 2 years ago

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

peter-sellars commented 2 years ago

I'm having the same problem. I looked at the issue above (https://github.com/microsoft/WSL/issues/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.

abhimadan commented 2 years ago

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.

peter-sellars commented 2 years ago

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?

abhimadan commented 2 years ago

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.

peter-sellars commented 2 years ago

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

abhimadan commented 2 years ago

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

peter-sellars commented 2 years ago

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?

abhimadan commented 2 years ago

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.