73

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?

Braiam
  • 69,112
Seldom
  • 833
  • 1
  • 7
  • 5

4 Answers4

115

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:

apt-file update

Now you can write a search to answer "what package provides the gl.h file?"

apt-file search "gl.h"

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:

apt-get install libmesa-dev

More info on the apt family of commands: https://help.ubuntu.com/community/AptGet/Howto

djeikyb
  • 32,005
60

For GL/gl.h use:

sudo apt install mesa-common-dev

You may also find these helpful, for, say, GL/glu.h:

sudo apt install libglu1-mesa-dev freeglut3-dev
Richard
  • 1,357
4

Ubuntu 20.04:

GL.h can be installed from the package libgl-dev.

sudo apt install libgl-dev

wesinat0r
  • 231
1

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.