Interface won't connect on Ubuntu 16.04


#1

Hi,

I managed to compile High Fidelity with no problems on Ubuntu 16.04. I was also able to connect to Welcome once, Friday last week. However, for one reason or another, that just won’t work anymore.

When I run interface, the interface does start, I can log in and I can see at least a few places under Go To menu. However, if I try to actually go to Welcome, I just get NOT CONNECTED in the title bar and “Unable to connect to this domain. Click the ‘GO TO’ button on the toolbar to visit another domain.” error pop up. The same happens for dev-welcome and other places.

Running a domain server and assignment client locally does work, and I am able to connect to that. IOW, it seems to me that there’s something funky going on with networking. However, being a complete newcomer to High Fidelity, I don’t really know where to start with debugging. I’ll be happy to provide more details, but at this point I’m not exactly sure what’s relevant. Any ideas? Thanks!


#2

Hi @jukkae,

Welcome is running of our stable branch, if a protocol change was pushed to master and you pulled that change, you would not be able to connect to welcome anymore.
Try connecting to dev-welcome, that one is running of master.


#3

Hi @c,

Thanks for the quick reply! I tried connecting to dev-welcome with a fresh build off of master. Furthermore, I also tried connecting to welcome with a build off of stable. Neither works, nor could either build connect to any other domain. I checked the interface logs, and as far as I can tell here’s the relevant lines. Sorry for the rather long paste:

[06/07 10:56:04] [DEBUG] [hifi.networking] Trying to go to URL "hifi://dev-welcome/4.93274,0.567692,-54.7552/0,-0.0303994,0,0.999538"
[06/07 10:56:04] [DEBUG] [hifi.networking] Trying to go to URL "hifi://dev-welcome/4.93274,0.567692,-54.7552/0,-0.0303994,0,0.999538"
[06/07 10:56:05] [DEBUG] [hifi.networking] Possible domain change required to connect to domain with ID QUuid("{417fd3a6-3566-4520-afa1-f694839d15e2}") via ice-server at "54.219.149.220"
[06/07 10:56:05] [DEBUG] [hifi.networking] Resetting current domain connection information.
[06/07 10:56:05] [DEBUG] [hifi.networking] Soft reset
[06/07 10:56:05] [DEBUG] [hifi.networking] Hard reset in NodeList DomainHandler.
[06/07 10:56:05] [DEBUG] [hifi.interface] Application title set to: jukkae @ dev-welcome (NOT CONNECTED) (build dev)
[06/07 10:56:05] [DEBUG] [hifi.networking] ICE server socket is at 54.219.149.220:7337
[06/07 10:56:05] [DEBUG] [hifi.networking] Sending packet to ICE server to request connection info for peer with ID "417fd3a6-3566-4520-afa1-f694839d15e2"
[06/07 10:56:05] [DEBUG] [hifi.networking] ICE required to connect to domain via ice server at "54.219.149.220"
[06/07 10:56:05] [DEBUG] [default] ConnectionMonitor: Starting timer
[06/07 10:56:05] [DEBUG] [hifi.networking] Waiting for ICE discovered domain-server socket. Will not send domain-server check in.
[06/07 10:56:05] [DEBUG] [hifi.networking] Sending packet to ICE server to request connection info for peer with ID "417fd3a6-3566-4520-afa1-f694839d15e2"
[06/07 10:56:05] [DEBUG] [hifi.networking] Possible domain change required to connect to domain with ID QUuid("{417fd3a6-3566-4520-afa1-f694839d15e2}") via ice-server at "54.219.149.220"
[06/07 10:56:06] [DEBUG] [hifi.networking] Waiting for ICE discovered domain-server socket. Will not send domain-server check in.
[06/07 10:56:06] [DEBUG] [hifi.networking] Sending packet to ICE server to request connection info for peer with ID "417fd3a6-3566-4520-afa1-f694839d15e2"
[06/07 10:56:07] [DEBUG] [hifi.networking] Waiting for ICE discovered domain-server socket. Will not send domain-server check in.
[06/07 10:56:07] [DEBUG] [hifi.networking] Sending packet to ICE server to request connection info for peer with ID "417fd3a6-3566-4520-afa1-f694839d15e2"
[06/07 10:56:07] [DEBUG] [hifi.networking] Trying to go to URL "hifi://dev-welcome/4.93274,0.567692,-54.7552/0,-0.0303994,0,0.999538"
[06/07 10:56:08] [DEBUG] [hifi.networking] Waiting for ICE discovered domain-server socket. Will not send domain-server check in.
[06/07 10:56:08] [DEBUG] [hifi.networking] Sending packet to ICE server to request connection info for peer with ID "417fd3a6-3566-4520-afa1-f694839d15e2"
[06/07 10:56:08] [DEBUG] [hifi.networking] Possible domain change required to connect to domain with ID QUuid("{417fd3a6-3566-4520-afa1-f694839d15e2}") via ice-server at "54.219.149.220"
[06/07 10:56:09] [DEBUG] [hifi.networking] Waiting for ICE discovered domain-server socket. Will not send domain-server check in.
[06/07 10:56:09] [DEBUG] [hifi.networking] Sending packet to ICE server to request connection info for peer with ID "417fd3a6-3566-4520-afa1-f694839d15e2"
[06/07 10:56:10] [DEBUG] [hifi.networking] Waiting for ICE discovered domain-server socket. Will not send domain-server check in.
[06/07 10:56:10] [DEBUG] [hifi.networking] Sending packet to ICE server to request connection info for peer with ID "417fd3a6-3566-4520-afa1-f694839d15e2"
[06/07 10:56:10] [DEBUG] [hifi.networking] Trying to go to URL "hifi://dev-welcome/4.93274,0.567692,-54.7552/0,-0.0303994,0,0.999538"
[06/07 10:56:10] [DEBUG] [default] ConnectionMonitor: Showing connection failure window
[06/07 10:56:10] [DEBUG] [default] DialogsManager::setDomainConnectionFailureVisibility: visible true
[06/07 10:56:10] [DEBUG] [hifi.networking] Possible domain change required to connect to domain with ID QUuid("{417fd3a6-3566-4520-afa1-f694839d15e2}") via ice-server at "54.219.149.220"
[06/07 10:56:11] [DEBUG] [hifi.networking] Waiting for ICE discovered domain-server socket. Will not send domain-server check in.
[06/07 10:56:11] [DEBUG] [hifi.networking] Sending packet to ICE server to request connection info for peer with ID "417fd3a6-3566-4520-afa1-f694839d15e2"
[06/07 10:56:12] [DEBUG] [hifi.networking] Waiting for ICE discovered domain-server socket. Will not send domain-server check in.
[06/07 10:56:12] [DEBUG] [hifi.networking] Sending packet to ICE server to request connection info for peer with ID "417fd3a6-3566-4520-afa1-f694839d15e2"
[06/07 10:56:12] [DEBUG] [hifi.networking] Trying to go to URL "hifi://dev-welcome/4.93274,0.567692,-54.7552/0,-0.0303994,0,0.999538"
[06/07 10:56:13] [DEBUG] [hifi.networking] Waiting for ICE discovered domain-server socket. Will not send domain-server check in.
[06/07 10:56:13] [DEBUG] [hifi.networking] Sending packet to ICE server to request connection info for peer with ID "417fd3a6-3566-4520-afa1-f694839d15e2"
[06/07 10:56:13] [DEBUG] [hifi.networking] Possible domain change required to connect to domain with ID QUuid("{417fd3a6-3566-4520-afa1-f694839d15e2}") via ice-server at "54.219.149.220"```

This snippet is from trying to connect to `dev-welcome` with a build from `master`, but the logs for trying to connect to `welcome` with `stable` build look pretty much the same - only the URLs and IDs are different. What should I try next? Thanks!

#4

Could you PM me a full log of you trying to connect to dev-welcome off of master?


#5

You’re lucky, I can’t even get it to compile. I guess because I am using all the latest tools.


#6

One thing to watch out for is an incredible sensitivity to pass all the env vars or CMAKE flags precisely correct. One wrong move and you suddenly end up with Interface/Stack on Linux that can only connect to stack you compiled or Interface that can only connect to stack you compiled. It’s pretty much a nightmare of undocumented/twisted flags and even after digging through cmake files trying to figure it all out… it’s more luck than science if you get it right.

There’s variable for version number, build type, services type and bunch of other stuff mainly, it seems, intended for HiFi’s internal compile farm, but, to make a “production” version of Interface on Linux requires you to set some of those or weird things happen… weird things like not having correct ICE server - wrong proto versions and all sorts of other nightmares.


#7

Would you happen to have those latest flags handy? It was easy to build interface in linux a few months ago. Wtf happened to that? I’m losing faith in this project.


#8

PM sent, thanks!

To get it compiling, I set QT_CMAKE_PREFIX_PATH=/l/eerikaj1/qt/5.9/gcc_64/lib/cmake/ – the location naturally depends on where QT is installed – and CXXFLAGS=-std=c++11. Can’t say anything about any of those other envvars and CMAKE flags, so if there’s any magic that should be done with those, I’m probably missing that, too.


#9

High Fidelity is currently developed and built using Qt 5.6.2. However, it will soon transition to using Qt 5.9 - see https://github.com/highfidelity/hifi/pull/10628

EDIT: 5.9, not 6.9


#10

Thanks, I was completely unaware of this. Recompiled with Qt 5.6.2 – however, the problem still persists.


#11

I’m not able to build it with the latest tools:
gcc/g++ 6.3
cmake 3.9

CMake Error at /hifi/thrall/hifi/build/ext/makefiles/glm/project/src/glm-stamp/glm-build-.cmake:16 (message):
Command failed: 2

'make'

See also

/hifi/build/ext/makefiles/glm/project/src/glm-stamp/glm-build-*.log

This error isn’t new and it can be seen in commit build logs as well (but for macos).
Even when I got around this error I still get tons of linker errors because the cmake files have gotten broken again (like they have many times before).

Then again maybe I misconfigured something when I reinstalled my OS (although I couldn’t imagine what).

Has anybody been able to get interface to compile in linux lately? Is it just me?

Really wish I could checkout an older version.


#12

I believe there may be problems building using cmake 3.9. cmake 3.8 or earlier should work OK (I’m using 3.3.2).


#13

I’m using cmake 3.5.1 and gcc/g++ 5.4.0.


#14

Ahhh when I reinstalled linux I forgot to set g++ as my c++ compiler so I wasn’t linking right. Stupid noob mistake.

export CXX=g++