Slowly I give up


#1

I run my Osgrid Islands at a virtual server. This is not so hard to manage and so I was really a bit naive, when I have started my project, to build hifi on my virtual server.
I run there Ubuntu 14.4, because I get an image for it from the hoster and Osgrid dos run well on it.

So I also have tried to build hifi. First there were a lot of errors with the packages, which were not to find. But it seems, this could be solved. But now I run in errors, I fully don’t understand.

The error log says:
Determining if the pthread_create exist failed with the following output:
Change Dir: /home/source/compile/CMakeFiles/CMakeTmp

Run Build Command:/usr/bin/make “cmTryCompileExec2772551087/fast”
/usr/bin/make -f CMakeFiles/cmTryCompileExec2772551087.dir/build.make CMakeFiles/cmTryCompileExec2772551087.dir/build
make[1]: Verzeichnis »/home/source/compile/CMakeFiles/CMakeTmp« wird betreten
/usr/bin/cmake -E cmake_progress_report /home/source/compile/CMakeFiles/CMakeTmp/CMakeFiles 1
Building C object CMakeFiles/cmTryCompileExec2772551087.dir/CheckSymbolExists.c.o
/usr/bin/cc -o CMakeFiles/cmTryCompileExec2772551087.dir/CheckSymbolExists.c.o -c /home/source/compile/CMakeFiles/CMakeTmp/CheckSymbolExists.c
Linking C executable cmTryCompileExec2772551087
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec2772551087.dir/link.txt --verbose=1
/usr/bin/cc CMakeFiles/cmTryCompileExec2772551087.dir/CheckSymbolExists.c.o -o cmTryCompileExec2772551087 -rdynamic
CMakeFiles/cmTryCompileExec2772551087.dir/CheckSymbolExists.c.o: In Funktion main': CheckSymbolExists.c:(.text+0x16): Nicht definierter Verweis aufpthread_create’
collect2: error: ld returned 1 exit status
make[1]: *** [cmTryCompileExec2772551087] Fehler 1
make[1]: Verzeichnis »/home/source/compile/CMakeFiles/CMakeTmp« wird verlassen
make: *** [cmTryCompileExec2772551087/fast] Fehler 2

File /home/source/compile/CMakeFiles/CMakeTmp/CheckSymbolExists.c:
/* */
#include <pthread.h>

int main(int argc, char** argv)
{
(void)argv;
#ifndef pthread_create
return ((int*)(&pthread_create))[argc];
#else
(void)argc;
return 0;
#endif
}

Determining if the function pthread_create exists in the pthreads failed with the following output:
Change Dir: /home/source/compile/CMakeFiles/CMakeTmp

Run Build Command:/usr/bin/make “cmTryCompileExec1139155742/fast”
/usr/bin/make -f CMakeFiles/cmTryCompileExec1139155742.dir/build.make CMakeFiles/cmTryCompileExec1139155742.dir/build
make[1]: Verzeichnis »/home/source/compile/CMakeFiles/CMakeTmp« wird betreten
/usr/bin/cmake -E cmake_progress_report /home/source/compile/CMakeFiles/CMakeTmp/CMakeFiles 1
Building C object CMakeFiles/cmTryCompileExec1139155742.dir/CheckFunctionExists.c.o
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create -o CMakeFiles/cmTryCompileExec1139155742.dir/CheckFunctionExists.c.o -c /usr/share/cmake-2.8/Modules/CheckFunctionExists.c
Linking C executable cmTryCompileExec1139155742
/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTryCompileExec1139155742.dir/link.txt --verbose=1
/usr/bin/cc -DCHECK_FUNCTION_EXISTS=pthread_create CMakeFiles/cmTryCompileExec1139155742.dir/CheckFunctionExists.c.o -o cmTryCompileExec1139155742 -rdynamic -lpthreads
/usr/bin/ld: cannot find -lpthreads
collect2: error: ld returned 1 exit status
make[1]: Verzeichnis »/home/source/compile/CMakeFiles/CMakeTmp« wird verlassen
make[1]: *** [cmTryCompileExec1139155742] Fehler 1
make: *** [cmTryCompileExec1139155742/fast] Fehler 2

I don’t know, what there is false.
If somebody has some idea, please let me know.


#2

Very cryptic, I don’t understand. Did you have problems with the shell script? Packages are likely incorrect.


#3

I have no clue. This is written in the CMakeError.log of hifi. So the devs should know, what this dos mean. It dos run well through many steps of the build process. Here is also the CMakeOutput.log. https://dl.dropboxusercontent.com/u/48725104/CMakeOutput.log


#4

Hier is also this part from the Terminal messages:

[ 25%] Building CXX object libraries/shared/CMakeFiles/shared.dir/src/PerfStat.cpp.o
/home/source/hifi/libraries/shared/src/PerfStat.cpp:39:114: error: macro “qCDebug” passed 5 arguments, but takes just 1
qCDebug(shared, “%s took %.2lf seconds %s”, _message, elapsedsec, (_alwaysDisplay ? “” : “WARNING!”) );
^
/home/source/hifi/libraries/shared/src/PerfStat.cpp:44:81: error: macro “qCDebug” passed 5 arguments, but takes just 1
(_alwaysDisplay || (elapsedmsec < 10) ? “” : “WARNING!”));
^
/home/source/hifi/libraries/shared/src/PerfStat.cpp:48:77: error: macro “qCDebug” passed 5 arguments, but takes just 1
(_alwaysDisplay || (elapsedmsec < 10) ? “” : “WARNING!”));
^
/home/source/hifi/libraries/shared/src/PerfStat.cpp:52:76: error: macro “qCDebug” passed 4 arguments, but takes just 1
qCDebug(shared, “%s took %.2lf milliseconds”, _message, elapsedmsec);
^
/home/source/hifi/libraries/shared/src/PerfStat.cpp: In destructor ‘PerformanceWarning::~PerformanceWarning()’:
/home/source/hifi/libraries/shared/src/PerfStat.cpp:39:13: error: ‘qCDebug’ was not declared in this scope
qCDebug(shared, “%s took %.2lf seconds %s”, _message, elapsedsec, (_alwaysDisplay ? “” : “WARNING!”) );
^
/home/source/hifi/libraries/shared/src/PerfStat.cpp:38:20: warning: unused variable ‘elapsedsec’ [-Wunused-variable]
double elapsedsec = (end - _start) / 1000000.0;
^
/home/source/hifi/libraries/shared/src/PerfStat.cpp:43:21: error: ‘qCDebug’ was not declared in this scope
qCDebug(shared, “%s took %.1lf milliseconds %s”, _message, elapsedmsec,
^
/home/source/hifi/libraries/shared/src/PerfStat.cpp:47:17: error: ‘qCDebug’ was not declared in this scope
qCDebug(shared, “%s took %.2lf milliseconds %s”, _message, elapsedmsec,
^
/home/source/hifi/libraries/shared/src/PerfStat.cpp:52:9: error: ‘qCDebug’ was not declared in this scope
qCDebug(shared, “%s took %.2lf milliseconds”, _message, elapsedmsec);
^


#5

Now have seen, that there are missing SDK:

– Could NOT find Sixense (missing: SIXENSE_INCLUDE_DIRS SIXENSE_LIBRARIES)
– Could NOT find Faceshift (missing: FACESHIFT_INCLUDE_DIRS FACESHIFT_LIBRARIES)
– Could NOT find LeapMotion (missing: LEAPMOTION_INCLUDE_DIRS LEAPMOTION_LIBRARIES)
– Could NOT find RtMidi (missing: RTMIDI_INCLUDE_DIRS RTMIDI_LIBRARIES)
– Could NOT find RSSDK (missing: RSSDK_INCLUDE_DIRS RSSDK_LIBRARIES)

???


#6

Well RtMidi is found now after installing of librtmidi-dev. But where will I get the Faceshift, Sixense and LeapMotion SDK?


#7

Hey @summer4me… you don’t need all those optional packages for just hosting a domain-server / assignment-client. Which version of QT do you have installed?


#8

thanks toys, good to know, that I don’t need it. Well my problem is, that the messages are so cryptic, that I fully don’t know, where the errors come and what I really need.
I have installed qt5. But I haven’t the CMakefiles in the local folder. They are here:

So I have set: cmake …/hifi/ -DQT_CMAKE_PREFIX_PATH=/usr/lib/x86_64-linux-gnu/cmake/qt5

No clue, if this is right.


#9

Try to install the missing packages with:

sudo apt-get install libqt5xmlpatterns5-dev qttools5-dev-tools

That wil fix the cmake errors


#10

And to run interface on ubuntu after compilation you will need to install:

sudo apt-get install qml-module-qtgraphicaleffects qml-module-qtwebkit qml-module-qtquick-controls

and maybe libqtwebkit-qmlwebkitplugin


#11

Thanks @MarcelEdward, but they are already all installed. I meantime have installed all, what I have found to qt5, but it dos not work.

https://dl.dropboxusercontent.com/u/48725104/ubuntu-files.sh


#12

Maybe the pre compiled wil work for you:

http://verhagen.org/hifi/domain-server.tar.gz
http://verhagen.org/hifi/assignment-client.tar.gz


#13

cmake …/hifi/ -DQT_CMAKE_PREFIX_PATH=/usr/lib/x86_64-linux-gnu/cmake/qt5
it is not needed give cmake the qt dir. It works with from within the source/compile dir

cmake …/hifi/

You have got more installed than I have, it is hard to say if you got some package installed which does break your cmake or build of hifi.
My best guess the candidates for breaking the build would be libjack-dev and libjack0


#14

Thanks. Will look at the precompiled version. I don’t think, that a package has broken the build. The error is the same from the begin.


#15

Have downloaded the precompiled files, but how and were I have to install them?


#16

There are some docs on the stack manager found at https://docs.highfidelity.com/v1.0/docs/stack-manager-creating-your-own-domain

The linux stack manager does not have a gui so you should run it from a terminal.

After that you should be able to access the settings at http://localhost:40100/settings/


#17

well yes, I have installed a stack manager at my Mac and this works fine. But now I try to install hifi at a virtual server. How the domain server is to start at a virtual server? Dos it run in a screen? For Osgrid the command for example is /usr/bin/screen -fa -S SIM-up-Service0 -d -m -U mono OpenSim.exe -physics=OpenDynamicsEngine

How I have understood, after the start I can configure it with the Server IP, if I haven’t a domain name until now.


#18

it runs in a screen, something like:
screen -S stack -d -m ./stack-manager

if it runs ok you should be able to do http://localhost:40100/settings/

what do you mean with a virtual server ?
It will run ok on a vps


#19

Wait. You mentioned Ubuntu 14. Unless something has changed since I last tried compiling it on an Ubuntu server, the Qt5 packages in Ubuntu 14’s depository are not the required ones. In the past, they were okay, but with the recent change in version requirement (5.4.1), this makes a lot of things have issues.

@summer4me… In your linux server, try running “qmake --version”. This should tell you what version of Qt is installed on your system. If it is not at least 5.4.1, then that would be the problem. Just want to rule out version issues.

EDIT: Ah okay, you have a precompiled set working. Hmm…


#20

ahh I really have Qt version 5.2.1. So this is the problem of compiling. Thanks @MarcelEdward @FlameSoulis. Ok so I somehow must get a new version.
@MarcelEdward until now I have from you the file domain-server.tar.gz and assignment-client.tar.gz. I have it unzip in folders. What I have to do now? Sorry for my many questions. But I learn.