Building Interface in 18.04


#1

Using this guide: https://docs.highfidelity.com/build-guide/linux
Output from step 10: https://transfer.sh/nJzRE/hifi.txt
Step 11 failed- “nothing to build”

I am using KDE Neon, built off of Ubuntu 18.04.


#2

I was able to build it in Ubuntu, but for some reason it seems to only build a dev version which I can’t use to connect to the main grid, only to my own server. Either way it seems like I got a little farther than you so I’ll try to help.

First of all there is a typo in step 10. Because I followed the instructions to the “Tee” and copy and pasted most of the commands, and don’t understand most of it, I ran into a problem with the two dots at the end coming right after the word “cmake”. They shouldn’t be part of the word, there should be a space between cmake and the “..”

It should be
$ cmake -DQT_CMAKE_PREFIX_PATH=/usr/local/Qt5.10.1/5.10.1/gcc_64/lib/cmake ..

Also, make sure that you did the part with the dependencies, and “Prepare Environment” because some older versions of “make” et al that used to work to build older versions, don’t work any more for the latest version. (I’m new to this but I read that in another post)

Anyway, I hope that helps some. Sorry if it didn’t.


#3

I can’t believe I missed that typo when copying and pasting commands!
Thank you for pointing that out.
I’ll also make the documentation team aware of the typo.

Also, as far as being unable to connect to servers go, what version of the interface are you running? If you ran the commands to a T you would be running 0.71.0 which is actually behind the current running protocol. We’re on 0.77.2


#4

To build a release version, you need to set some environment variable before letting CMake generate it’s files. These are the ones that I use:

RELEASE_TYPE=PRODUCTION
PRODUCTION_BUILD=1
STABLE_BUILD=1
RELEASE_BUILD=PRODUCTION
USE_STABLE_GLOBAL_SERVICES=1
BUILD_GLOBAL_SERVICES=STABLE

Once these are set in your build environment, run cmake, and then build. You should have a release version of the server.


#5

Marcus, what command do you use to add those to your env? I’m looking it up now; once I figure it out I’ll replace it with my post

finding many ways to do it; some permanent and some not.


#6

On Windows, the set command should work. On Linux try export.

Example for Windows:
set RELEASE_TYPE=PRODUCTION

Example for Linux:
export RELEASE_TYPE=PRODUCTION;


#7

Got it. So each line would be a separate export command, e.g.

export RELEASE_TYPE=PRODUCTION || export PRODUCTION_BUILD=1 || export STABLE_BUILD=1 || export RELEASE_BUILD=PRODUCTION || export USE_STABLE_GLOBAL_SERVICES=1 || export BUILD_GLOBAL_SERVICES=STABLE
correct?


#8

Here is what I put into a bash script for the cmake build step:

export RELEASE_TYPE=PRODUCTION;
export PRODUCTION_BUILD=1;
export STABLE_BUILD=1;
export RELEASE_BUILD=PRODUCTION;
export USE_STABLE_GLOBAL_SERVICES=1;
export BUILD_GLOBAL_SERVICES=STABLE;
env QT_CMAKE_PREFIX_PATH=/usr/local/Qt5.10.1/5.10.1/gcc_64/lib/cmake cmake -DCMAKE_BUILD_TYPE="Release"  -Wno-dev ..

#9

Yes, I should have mentioned “To a T except for the version”. I updated it to the current (as of yesterday) version 0.77.2

There is also one other small mistake in the build guide that threw me for a loop. On steps 7 and 8 you have to be in the hifi directory for those steps to work. So I had to do “$ cd hifi” first. And that became a problem in step 9 when you run the commands “$ mkdir -p hifi/build” and “$ cd hifi/build”, because I’m already in the hifi directory, so it makes another hifi sub directory. Then when I execute step 10’s cmake command it complains that it cant find the config file in the hifi directory, because I’m running the command from the hifi/hifi/build directory, instead of from the hifi/build directory.

So the solution is to fix step 7 to add “$ cd hifi” before the git fetch and git tag commands. And then edit step 9 to remove “hifi” from “$ mkdir -p hifi/build” and “$ cd hifi/build”.

That would be very helpful indeed. :slight_smile:


#10

@Marcus.Llewellyn Awesome, thanks for that! I’ll give it a try immediately.


#11

BTW, I just found a better build guide by going through github, it’s at


It is formatted better and has additional instructions for dealing with 18.04 video card problems.


Building a non-Dev Version of the interface for 18.04
#12

Thanks for that, Ultraparadigm. I should have checked the github.

The only issue I’m currently having is that when I open interface, I seem to be unable to make a connection to the server. I might have a port that should be open!

Here’s some logs: https://pastebin.com/TMTVARXG


#13

That sort of worked.
I was able to get to a tutorial area that was hosted locally in a “serverless” mode! very neat. However I can’t go anywhere except to my own server again. The goto window is empty. And I still can’t log in with my username or password. If I try a circle just sits there spinning forever while the console outputs all kinds of warnings.

[WARNING] [hifi.entities] Call to QUrl(“https://metaverse.highfidelity.com/api/v1/commerce/marketplace_key”) failed! Error: QNetworkReply::NetworkError(UnknownNetworkError)
[WARNING] [default] qrc:///qml/LoginDialog/LinkAccountBody.qml:95:5: QML QQuickItem: Binding loop detected for property “height”
a bunch of “[WARNING] [hifi.animation] Rig: Missing joint …”

and then repeats the following over an over again…
[WARNING] [qt.network.ssl] QSslSocket: cannot call unresolved function ERR_get_error
[WARNING] [hifi.networking] Ignoring attempt to save current address with an invalid url: QUrl("")
[qt.network.ssl] QSslSocket: cannot call unresolved function SSL_library_init
[qt.network.ssl] QSslSocket: cannot call unresolved function SSLv23_client_method
[qt.network.ssl] QSslSocket: cannot call unresolved function SSL_CTX_new
Xlib: sequence lost (0x3a901 > 0x2a908) in reply type 0x23!

Is there an address that I could try to input into the goto address bar to get to the main grid manually?


#14

Yes, I’m having the exact same situation, and similar output. If you installed the domain-server and assignment-client then you can still get to your own local area and build any persistent structure that you want. Instead of logging in, click the link in the bottom right of the screen that says “No thanks, take me inworld >” and then type in “localhost” in the address bar.

But as far connecting to the main grid, I’m at a loss. :frowning:


#15

If we’re talking Ubuntu 18.04 here, you may need to be sure you have libssl1.0-dev installed. 18.04 comes with libssl1.1 which isn’t compatible.


#16

Oh my god! That did the trick. Thank you!

I just did:
$ sudo apt-get -y install libssl1.0-dev

And now it working great! I’m so happy. I’ve been fiddling with this for a week. Thank you, Thank you!


#17

The only values that honestly matter are:

export RELEASE_TYPE=PRODUCTION
export STABLE_BUILD=1
export BUILD_TYPE=Release

You can also request only the server’s binaries with:

-DSERVER_ONLY=1

This works universally for Ubuntu 16.04 and 18.04.

As for libssl1.0-dev, that was updated into the instructions in Github. I had helped test it so that’s why I know it works.


Linux build problem with vcpkg
#18

I’ve just had a huge crash on the linux install, something with the vcpkg I think.

I’m about to follow the instructions on this page so far, see how I go.


#19

so does someone with more linux experience than me (ie ANY linux experience) care to help out?

This is where it’s going wrong (I think) and how to fix it.

Error Message

ubuntu@ip-172-zz-zz-zz : ~/hifi/build $ cmake -DQT_CMAKE_PREFIX_PATH=/usr/local/Qt5.10.1/5.10.1/gcc_64/lib/cmake …

[’/home/ubuntu/hifi/prebuild.py’, ‘–build-root’, ‘/home/ubuntu/hifi/build’]

Warning: Environment variable HIFI_VCPKG_BASE not set, using /tmp/hifi/vcpkg

Using vcpkg path /tmp/hifi/vcpkg/c1966b8c

Writing tag c1966b8c_1 to /tmp/hifi/vcpkg/c1966b8c/.id

Installing host tools

Running command

[’/tmp/hifi/vcpkg/c1966b8c/vcpkg’, ‘–vcpkg-root’, ‘/tmp/hifi/vcpkg/c1966b8c’, ‘install’, ‘–triplet’, ‘x64-linux’, ‘hifi-host-tools’]

The following packages will be built and installed:

  • glslang[core]:x64-linux

hifi-host-tools[core]:x64-linux

  • hifi-scribe[core]:x64-linux

  • spirv-tools[core]:x64-linux

Additional packages (*) will be modified to complete this operation.

Starting package 1/4: spirv-tools:x64-linux

Building package spirv-tools[core]:x64-linux…

– Using cached /tmp/hifi/vcpkg/c1966b8c/downloads/KhronosGroup-SPIRV-Tools-v2018.5.tar.gz

– Using source at /tmp/hifi/vcpkg/c1966b8c/buildtrees/spirv-tools/src/v2018.5-97b9b8962f

– Using cached /tmp/hifi/vcpkg/c1966b8c/downloads/KhronosGroup-SPIRV-Headers-801cca8104245c07e8cc53292da87ee1b76946fe.tar.gz

– Using source at /tmp/hifi/vcpkg/c1966b8c/buildtrees/spirv-tools/src/e1b76946fe-366d3642fc

CMake Error at scripts/cmake/vcpkg_find_acquire_program.cmake:232 (message):

Could not find python. Please install it via your package manager.

Call Stack (most recent call first):

ports/spirv-tools/portfile.cmake:21 (vcpkg_find_acquire_program)

scripts/ports.cmake:71 (include)

Error: Building package spirv-tools:x64-linux failed with: BUILD_FAILED

Please ensure you’re using the latest portfiles with .\vcpkg update, then

submit an issue at https://github.com/Microsoft/vcpkg/issues including:

Package: spirv-tools:x64-linux

Vcpkg version: 2018.10.20-unknownhash

Additionally, attach any relevant sections from the log files above.

Traceback (most recent call last):

File “/home/ubuntu/hifi/prebuild.py”, line 94, in <module>

main()

File “/home/ubuntu/hifi/prebuild.py”, line 84, in main

pm.setupDependencies()

File “/home/ubuntu/hifi/hifi_vcpkg.py”, line 168, in setupDependencies

self.run([‘install’, ‘–triplet’, self.hostTriplet, ‘hifi-host-tools’])

File “/home/ubuntu/hifi/hifi_vcpkg.py”, line 158, in run

hifi_utils.executeSubprocess(actualCommands, folder=self.path)

File “/home/ubuntu/hifi/hifi_utils.py”, line 61, in executeSubprocess

’ '.join(processArgs[1:]),

RuntimeError: Call to “/tmp/hifi/vcpkg/c1966b8c/vcpkg” failed.

arguments:

–vcpkg-root /tmp/hifi/vcpkg/c1966b8c install --triplet x64-linux hifi-host-tools

CMake Error at CMakeLists.txt:30 (message):

vcpkg configuration missing.

– Configuring incomplete, errors occurred!

ubuntu@ip-172-zz-zz-zz : ~/hifi/build $


#20

Did you try installing Python?