Please publish the correct installation for Linux Ubuntu 16.04.1 LTS


#1

date:11 Dec,2016
Please publish officially the correct installation for Linux Ubuntu 16.04.1 LTS.
Please type the complete list of commands from start to end in one simple text file.
Thanks in advance!


Undefined symbol error
#2

wget http://debian.highfidelity.com/pool/h/hi/hifi-qt5.6.1_5.6.1_amd64.deb
sudo dpkg -i hifi-qt5.6.1_5.6.1_amd64.deb
sudo apt-get install libasound2 libxmu-dev libxi-dev freeglut3-dev libasound2-dev libjack0 libjack-dev libxrandr-dev libudev-dev libssl-dev
git clone https://github.com/highfidelity/hifi
mkdir -p hifi/build
cd hifi/build
cmake … -DQT_CMAKE_PREFIX_PATH=/usr/local/Qt5.6.1/5.6/gcc_64/lib/cmake
make
cd interface/
./interface


#3

OK, using the latest build everything went well until running interface. I had to install libnvtt2 and it’s dev package.

ric@iam:/opt/src/hifi/build/interface$ ./interface
./interface: symbol lookup error: /opt/src/hifi/build/ext/makefiles/nvtt/project/lib/libnvtt.so: undefined symbol: _ZN3ZOH5Utils6FORMATE
ric@iam:/opt/src/hifi/build/interface$

I have no clue what that symbol error is.


#4

Forgot to mention after installing libnvtt package I had to make clean and make again for it to compile without complaining it was missing various libs from the libvntt package. You might add libnvtt for nvidia users. No clue what AMD users need.


#5

So far no luck. So, I just rm -rf’d the entire hifi directory to start over again, now that libnvrtt packages are installed. I will report back. Does hifi make use of nVidia CUDA??


#6

OK, after completely blowing away hifi and rebuilding again with every deb package added that remotely looked like libnvtt. I got exactly the same result. Drat. I had Hifi running just fine several years ago when it first came out. Now it just makes me crazy. Running Debian Stretch/Sid with 16 gigs of ram, two nvidia 750Ti cards with a gig of ram each. Next, I’m going to do this on Ubuntu. Wish me luck. “I"LL BE BAACK!”


#7

Exact same result. Anyone knows what gives??


#8

Looks like it might be an issue with this latest build if HiFi, keep getting Version Mismatch on my Domain-server incredibly frustrating, i’d like to start working on some things.


#9

I’ve been wanted to work on this since the beginning. Funny thing, the initial builds worked just fine. It was GREAT!! Not no mo’. Funny that there has been no “official response” in several weeks. Ric


#10

ric@iam:/opt/src/hifi/build/interface$ ./interface
./interface: symbol lookup error: /opt/src/hifi/build/ext/makefiles/nvtt/project/lib/libnvtt.so: undefined symbol: _ZN3ZOH5Utils6FORMATE

Same damn thing again, anyone have a clue??


#11

Maybe the code is broken. Do you use a RELEASE tag?
I go to download page ( https://highfidelity.com/download ) and take note of release version (beta 6731 in this moment).
Go to this version: git checkout tags/RELEASE-6731
Then compile as described above.

I have two computers with ubuntu 16.04 and nvidia cards and hifi works well.


#12

Ubuntu 18.04 :

~/hifi/build$ interface/interface
interface/interface: symbol lookup error: /home/jmferrerm/hifi/build/ext/makefiles/nvtt/project/lib/libnvtt.so: undefined symbol: _ZN3ZOH5Utils6FORMATE

Could you solve the problem and run the interface ?


#13

Nope, and I haven’t tried since …which is a damn shame


#14

Decided to try again! This time I’m using Ubuntu xenial Ubuntu studio, with a realtime kernel. Will let you know how it goes. Ric


#15

I have found the problem but I don’t know how to solve it.
When interface is compiled the file hifi/build/ext/makefiles/nvtt/project/lib/libnvtt.so appears and it is used to compile and run interface.
The point is that our version of ubuntu is compiled with the libnvtt.so version in package libnvtt-dev. Install the package with apt-get install libnvtt-dev and this file will appear:

 /usr/lib/x86_64-linux-gnu/libnvtt.so

So the question is, how to configure compilation to use /usr/lib/x86_64-linux-gnu/libnvtt.so instead of other.

One more tip about compilation. You can install qt5.10.1 this way:

wget http://debian.highfidelity.com/pool/h/hi/hifiqt5.10.1_5.10.1_amd64.deb
sudo dpkg -i hifiqt5.10.1_5.10.1_amd64.deb
ln -s /usr/local/Qt5.10.1/ ${HOME}/Qt

And you can add hifi repo adding to your sources.list :

deb http://debian.highfidelity.com stable main

Those packages will appear:

$ apt-cache search hifi | grep hifi
hifi-qt - no description given
hifi-qt5.6.1 - no description given
hifiqt5.5.1 - no description given
hifiqt5.6.1 - no description given
hifiqt.5.6.2 - no description given
hifiqt5.6.2 - no description given
hifiqt5.9.0 - no description given
hifiqt5.9.1 - no description given
hifiqt5.10.1 - Qt libraries needed by High Fidelity packages
hifi-dev-assignment-client - High Fidelity Assignment clients. Services target a local domain server. Different assignment clients are managed independently with systemd.
hifi-dev-domain-server - High Fidelity Domain server.
hifi-dev-ice-server - High Fidelity ICE server.
hifi-assignment-client - High Fidelity Assignment clients. Services target a local domain server. Different assignment clients are managed independently with systemd.
hifi-domain-server - High Fidelity Domain server.
hifi-ice-server - High Fidelity ICE server.

#16

I’ve never had this problem on ubuntu-16.04 but am experiencing it now that I’ve moved to ubuntu-18.04.

The missing symbol is defined in the libnvimage.so file, which is built as part of the nvtt external dependency:

jet:~/work/hifi$ find ./ -type f -name "*.so" -exec nm -o {} 2>/dev/null \; | grep _ZN3ZOH5Utils6FORMATE
./build/ext/makefiles/nvtt/project/src/nvtt-build/src/nvimage/libnvimage.so:000000000025ef70 B _ZN3ZOH5Utils6FORMATE
./build/ext/makefiles/nvtt/project/src/nvtt-build/src/nvtt/libnvtt.so:                 U _ZN3ZOH5Utils6FORMATE
./build/ext/makefiles/nvtt/project/lib/libnvtt.so:                 U _ZN3ZOH5Utils6FORMATE
./build/ext/makefiles/nvtt/project/lib/libnvimage.so:000000000025ef70 B _ZN3ZOH5Utils6FORMATE

However I’m having trouble figuring out how to change the build process to pick this up. I’ve even manually modified the big link command that builds the interface executable to try to link libnvimage.so but that isn’t working.

Sigh… link errors are always such a headache.


#17

I have a “workaround” for this which allows me to move forward on my own machine but doesn’t actually fix the build for everyone else. I’ll continue to try to find a real fix but in the meantime perhaps this recipe will also work for others.

What I did:

(1) Uninstall these packages: libnvtt-dev, libnvtt2
(2) Download the latest nvtt source code from here: https://github.com/castano/nvidia-texture-tools
The VERSION file was saying "2.2.1"
(3) Change the configure file to build="release" and -DVNTT_SHARED=1
(4) ./configure
(5) make
(6) sudo make install
(7) The shared libraries will have been installed in /usr/local/lib/ which was not being found by default on my system so…
(8) Use sudo powers to make symlinks to the four libnv* files in /usr/local/lib/ from /usr/lib/
(9) Run interface


Troubles with Ubuntu 18.04
#18

Another thing I’ve learned about building/running hifi on ubuntu-18.04:

You want to install libssl1.0-dev not libssl-dev (a.k.a. libssl-1.1.0). When using libssl-1.1 the compile may succeed but the hifi servers will fail at runtime.


#19

You are my hero!

Thank you very much