Trying to compile hifi


#1

I am trying to compile hifi, but I run into some missing libraries.

$ cmake … -GXcode
– Could NOT find FACEPLUS (missing: FACEPLUS_INCLUDE_DIRS FACEPLUS_LIBRARIES)
– Could NOT find LIBOVR (missing: LIBOVR_INCLUDE_DIRS LIBOVR_SRC_DIR)
– Could NOT find PRIOVR (missing: PRIOVR_INCLUDE_DIRS PRIOVR_LIBRARIES)
– Could NOT find SIXENSE (missing: SIXENSE_INCLUDE_DIRS SIXENSE_LIBRARIES)
– Could NOT find VISAGE (missing: VISAGE_BASE_INCLUDE_DIR VISAGE_OPENCV_INCLUDE_DIR VISAGE_OPENCV2_INCLUDE_DIR VISAGE_CORE_LIBRARY VISAGE_VISION_LIBRARY VISAGE_OPENCV_LIBRARY)
CMake Error at tests/CMakeLists.txt:5 (add_subdirectory):

Where can I download those, since they seem to be missing in the hifi git repository ?

There were some more missing libs, some of those I could install with brew install


#2

Hi @MarcelEdward it should still finish the compile. These messages are the third party libraries. e.g. here is my output on a compile that works.

Chriss-MacBook-Pro:build chris$ cmake … -GXcode
– Could NOT find FACEPLUS (missing: FACEPLUS_INCLUDE_DIRS FACEPLUS_LIBRARIES)
– Could NOT find FACESHIFT (missing: FACESHIFT_INCLUDE_DIRS FACESHIFT_LIBRARIES)
– Could NOT find LIBOVR (missing: LIBOVR_INCLUDE_DIRS LIBOVR_SRC_DIR)
– Could NOT find PRIOVR (missing: PRIOVR_INCLUDE_DIRS PRIOVR_LIBRARIES)
– Could NOT find SDL (missing: SDL_LIBRARY SDL_INCLUDE_DIR)
– Could NOT find SIXENSE (missing: SIXENSE_INCLUDE_DIRS SIXENSE_LIBRARIES)
– Could NOT find VISAGE (missing: VISAGE_BASE_INCLUDE_DIR VISAGE_OPENCV_INCLUDE_DIR VISAGE_OPENCV2_INCLUDE_DIR VISAGE_CORE_LIBRARY VISAGE_VISION_LIBRARY VISAGE_OPENCV_LIBRARY)
– Could NOT find LEAPMOTION (missing: LEAPMOTION_INCLUDE_DIRS LEAPMOTION_LIBRARIES)
– Found QXMPP: /usr/local/include/qxmpp
– Could NOT find RTMIDI (missing: RTMIDI_INCLUDE_DIRS RTMIDI_LIBRARIES)
– Configuring done
– Generating done


#3

I have it on my list to clean up that error message for libraries that are optional.


#4

Ah ok, they are optional.

Added some # before the find_package statements in the hifi/interface/CMakeList.txt file so the generation of the *.xcodeproj files does not break.
Also added a # in the hifi/CMakeList.txt file at the line with add_subdirectory(tests). The configure failed with a missing file. I hope the tests dir is also optional.

After the commenting out the Xcode files are generated with success … but still does not compiles in Xcode

The compilation now fails first at the leap motion library files (i got those, but apparently Xcode does not like them) and a moment later about RtMidi for not have some missing 64 bit references. So I out outcommented those also. And Xcode seems to happily compile hifi.

But interface now crashes upon startup … http://pastebin.com/f2shk5LC

It seems to crash on a EXC_BAD_ACCESS, do I have to set some config vars in the build settings like the c++ language dialect ?


#5

You should not need comments in the interface CMakeList.txt file - if your cmake build is having an issue on the test directory - try just commenting that out and see if that helps you build.


#6

nods, I should not out comment in the CMakeList.txt file.

I can get interface to start up without a crash when I out comment line 423 in Audio.cpp
// _peq.initialize( _inputFormat.sampleRate(), _audioInput->bufferSize() );

That was a little bit harder then I suspected, but I got a self compiled interface running and can log in with it in HF :smile:


#7

It seems like the crash is caused cause interface tried to initialize my webcam logitec cam which has only got a sample rate of 16000 … setting it to another input source made the crash go away.


#8

Hi @Chris when I compile in Xcode I get a ton of warnings (should be standard) and 2 errors which are:
1)main.cpp - Shell Script Invocation error (note no relevant classes found. No output generated.
2)main.cpp - Shell Script Invocation Error - Command /bin/sh emitted errors but did not return a nonzero exit code.

The interface does successfully build and run as it exists in the subdirectory /debug.

Am I ok or did I miss a step?