I am a complete Linux/Ubuntu noob, so I apologize for any dumb portions of this question or follow up ones.
I am trying to get a program that my software engineering class's group wrote onto my home computer. At school, we have Linux, and it will compile and run fine there. I downloaded VMWare, installed Ubuntu on a virtual machine, and now am trying to get my program to open.
When ever I try to run my make file however, I get an error that says
gcc -I../include -pthread -O1 -c rain.c
In file included from rain.c:19:0:
../include/GL/glfw.h:176:21: fatal error: GL/gl.h: No such file or directory
compilation terminated.
make: *** [rain.o] Error 1
Would anyone happen to know why it can't find this file, when it can on my school computers? And what I'd need to do to download it or get it in the right spot?
I'd guess you don't have whatever dev package(s) provide gl.h.
apt-file
is the command line tool to use.First, make sure it's up to date:
Now you can write a search to answer "what package provides the gl.h file?"
I don't have an ubuntu box just now to check, but I'd guess the result will be something like mesa-dev or opengl-dev.
Once you know what package provides "gl.h", (let's pretend the result from apt-file is "libmesa-dev"), install it:
More info on the apt family of commands: https://help.ubuntu.com/community/AptGet/Howto
For
GL/gl.h
use:You may also find these helpful, for, say,
GL/glu.h
:Ubuntu 20.04:
GL.h
can be installed from the packagelibgl-dev
.sudo apt install libgl-dev
You can also build glproto (link), libdrm (link), and then mesa (link) from source. While many other packages may contain this header file, it's important to go to the source. This will reduce the memory footprint of your installations and ensure you have the latest and/or greatest version.