pion / obs-wormhole

Supercharge OBS with WebRTC. Remote WebRTC Sources and Serverless Broadcasting
https://pion.ly/
96 stars 18 forks source link

Issue with compiling `./glfw/src/x11_platform.h:33:10: fatal error: X11/Xlib.h: No such file or directory` #31

Open CharlesDerek opened 1 year ago

CharlesDerek commented 1 year ago

The master branch fails to run go build on ubuntu/debian.

I even tried installing x11proto-core-dev, and pkg-config via apt-get and it still fails. Is there something i'm missing? Go envs and path are all properly set because my other projects are working fine with go commands in the same parent directory.

Your environment.

What did you do?

user@linuxNode:~/Documents/test$ pwd
/home/user/Documents/test
user@linuxNode:~/Documents/test$ git clone https://github.com/pion/obs-wormhole.git
Cloning into 'obs-wormhole'...
remote: Enumerating objects: 126, done.
remote: Counting objects: 100% (53/53), done.
remote: Compressing objects: 100% (30/30), done.
remote: Total 126 (delta 28), reused 25 (delta 23), pack-reused 73
Receiving objects: 100% (126/126), 60.00 KiB | 1.39 MiB/s, done.
Resolving deltas: 100% (63/63), done.
user@linuxNode:~/Documents/test$ cd obs-wormhole/
user@linuxNode:~/Documents/test/obs-wormhole$ go build
go build github.com/go-gl/gl/v3.2-core/gl:
# pkg-config --cflags  -- gl gl
pkg-config: exec: "pkg-config": executable file not found in $PATH
# github.com/go-gl/glfw/v3.3/glfw
In file included from ./glfw/src/internal.h:188,
                 from ./glfw/src/context.c:30,
                 from ../../../go/pkg/mod/github.com/go-gl/glfw/v3.3/glfw@v0.0.0-20200222043503-6f7a984d4dc4/c_glfw.go:4:
./glfw/src/x11_platform.h:33:10: fatal error: X11/Xlib.h: No such file or directory
   33 | #include <X11/Xlib.h>
      |          ^~~~~~~~~~~~
compilation terminated.
user@linuxNode:~/Documents/test/obs-wormhole$ ls -la obs-wormhole
ls: cannot access 'obs-wormhole': No such file or directory
user@linuxNode:~/Documents/test/obs-wormhole$ ls
examples  go.mod  go.sum  home.go  internal  main.go  README.md  renovate.json  router.go  signaling.go

What did you expect?

Some binary implementation of a web accessible gateway to a hardware device such as a camera or microphone via a localized index.html and obs. Is a specific Scene or Source supposed to be created before running the go build?

What happened?

A possible path error or dependency unresolved on build/get. Installing pkg-config and X11 with sudo apt-get install pkg-config x11proto-core-dev Had no resolve.