Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How I got the build working #204

Open
termermc opened this issue Mar 31, 2023 · 6 comments
Open

How I got the build working #204

termermc opened this issue Mar 31, 2023 · 6 comments

Comments

@termermc
Copy link

Since many people are having trouble getting it to build, here's the environment that I finally got it to build in:

OS: Debian 11 64bit (virtual machine)
Dependencies: make, g++, gcc, clang, python2

I installed Node v14.21.3 with NVM and did npm install normally. It took a very long time but eventually it built.

The build failed with Node 16 and versions earlier than 14.21.3, so use that version.

Perhaps these requirements can be put in the README.

@termermc
Copy link
Author

Prebuilt binaries for linux x86_64 and install instructions: https://git.termer.net/termer/mumble-web-prebuilt

@poVoq
Copy link

poVoq commented Apr 22, 2023

Do you have an idea how to get ICE working with your setup?

I am facing the same issue as described here: #112

This is what my mumble-web-proxy.toml looks like:

listen-ws = 64737
server = 'localhost:64738'
accept-invalid-certificate = true
ice-port-min = 49152
ice-port-max = 65535
ice-ipv4 = 'mypublicIPv4'

I am forwarding a UDP port range from 49152 to 65535 from the firewall router to the server that mumble-web-proxy runs on.

But both in the Firefox browser console and about:webrtc it tells me that ICE failed.

Thanks for the help!

Edit: hmm is it possible that this fails because the internal server mumble-web-proxy runs on is ipv6 capable, but the firewall is currently ipv4 only?

@termermc
Copy link
Author

@poVoq I would make sure that the ports are unblocked on both IPv4 and IPv6. I had loads of issues connecting over WebRTC. It wouldn't work on Chrome but it would work on Firefox for me, but some friends were unable to get it working on any browser on their computers. I tried using the fallback websocket transport, but it's nearly unusable.

In short, I don't have a satisfactory answer and I think the software isn't ready to be used widely.

@poVoq
Copy link

poVoq commented Apr 22, 2023

Not exactly the answer I was hoping for, but still thanks! I guess I need to get IPv6 working on my firewall...

@termermc
Copy link
Author

If you find more useful information, let me know

@Jackabomb
Copy link

Thanks for this helpful info, and for the prebuilt binaries.
These instructions worked for me on Debian 12 x64, with a couple tweaks.

Debian dropped support for Python 2 with Debian 12 (which is the current "stable" release) onward so new Debian installs either don't have a python binary at all, or it's a symlink to python3, both of which cause the build to fail.
For the first case, I got errors about "python executable not found" or "which python failed". If symlinked to python3, I got errors about all the print statements missing their parentheses...

There are several workarounds:

  • Stay on Debian 11 or any other distro that still packages Python 2 (2.7.18 worked for me).
  • Add lines for bullseye and bullseye security to your apt sources.list, then apt update && apt install python2
  • Build yourself a local copy of Python 2.7.18 from source (I think build-essentials was all I needed for dependencies) and prepend it to your PATH so it will get picked up ahead of the system's python executables.

I tried both the apt sources.list way, and the local Python build way. Both worked.
Obviously, if you upgraded from Debian 11 and haven't removed "obsolete or locally installed packages", it's possible you still have python2 installed, in which case you should be fine.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants