Oculus Extension scons build fails with 'boost/thread/locks.hp' No such file or directory

xanderxenxanderxen Posts: 22

Please help. I get an error trying to build the extension with scons.
It errors when it reaches converion.cpp when it tries to include <boost/thread/locks.hpp>
Hopefully somebody has some ideas and can give me some help.
I've searched as much as I could find in the docs and forums and online but keep running up short. I realize I could just copy the executables but this should work yes?
Here is some info. (starting with the error itself)

C:\dev\FabricEngine-2.1.0-Windows-x86_64\include\FabricEDK.h(1257) : warning C4624: 'Fabric::EDK::KL::TypeInfo' : destructor could not be generated because a base class destructor is inaccessible or deleted
src\conversion.cpp(8) : fatal error C1083: Cannot open include file: 'boost/thread/locks.hpp': No such file or directory
scons: *** [build\conversion.obj] Error 2
scons: building terminated because of errors.

The locks.hpp file is there where it should be.
I think my environment variables are set up correctly, so I am not sure why it is unable to locate it. (shown below in case something is incorrect)
I am using boost_1_55_0
I am on a Windows 8.1 64 bit machine and using this version of fabric

I have my environment variables set up as follows ( a bit redundant but I've seen different programs requiring different named environment variables )

BOOST_INCLUDE_DIR C:\dev\boost_1_55_0
boost c:\dev\boost_1_55_0
BOOST_INCLUDEDIR C:\dev\boost_1_55_0\boost
BOOST_LIBRARY_DIR C:\dev\boost_1_55_0\libs
BOOST_LIBRARYDIR C:\dev\boost_1_55_0\libs
(Side note: I've also tried setting the library dirs to C:\dev\boost_1_55_0\lib64-msvc-12.0)
BOOST_PATH C:\dev\boost_1_55_0
BOOST_ROOT C:\dev\boost_1_55_0
FABRIC_DIR C:\dev\FabricEngine-2.1.0-Windows-x86_64
FABRIC_EXTS_INSTALL_DIR C:\dev\FabricEngine-2.1.0-Windows-x86_64\Exts

I have these included in my Path Environment variables
C:\Program Files\Autodesk\Maya2016\bin;
C:\Program Files (x86)\CMake\bin;

I installed the latest oculus_runtime_sdk_0.8.0.0_win.exe and ovr_sdk_win_0.8.0.0
My Oculus-2.0.0 directory is below the Exts folder along with the Oculus directory that was copied from the stage folder
I copied the Presets from the Oculus-2.0.0\stage\Presets also, to


  • xanderxenxanderxen Posts: 22

    Also.. I am always first opening a command shell and running prompt.bat from the Fabric root directory, then cd into the Exts to the Oculus-2.0.0 where I type scons.

  • xanderxenxanderxen Posts: 22

    And also tried running environment.bat first

  • xanderxenxanderxen Posts: 22
    edited March 2016

    If I just run prompt.bat without environment.bat when I run scons I get a different error

    C:\dev\FabricEngine-2.1.0-Windows-x86_64\bin\kl2edk.exe src\Oculus.fpm.json -o build
    src\ovrDescription.kl:5:9: error: no extension or type named 'Math'
    src\ovrViewportCallback.kl:5:9: error: no extension or type named 'InlineDrawing'
    src\ovrViewportCallback.kl:6:9: error: no extension or type named 'Singletons'
    scons: *** [build\Oculus.h] Error 2
    scons: building terminated because of errors.

  • borjaborja Administrator, Fabric Employee Posts: 480 admin

    Hi @xanderxen

    I see that your BOOST_INCLUDE_DIR points to the root of Boost and not the include folder.

    In any case, we are close to put a binary build of the Oculus extension against Fabric 2.1.0 in the repo.

    Borja Morales
    Technical Product Manager
    Fabric Software Inc.

  • xanderxenxanderxen Posts: 22

    Hi @borja,
    I have gotten it working in Fabric 2.0.1 now. I will look forward to the 2.1 release. What include directory are you referring to? I couldn't find anything in the docs on where this include directory is located. There is no include directory directly under my boost_1_55_0 dir nor under the subdir "boost_1_55_0\boost". What is odd, is that I still have BOOST_INCLUDE_DIR pointing to the the boost root dir "C:\dev\boost_1_55_0" and scons completes successfully.
    I do see 6 warnings from FabricEDK.h about "Fabric::EDK::KL::TypeInfo' : destructor could not be generated".
    It also warns about missing presetGUID for OculusRenderign.canvas /OculusTracking.canvas and OculusWorldXfo.canvas.

    When I load the cube.canvas scene, I see some output in the cmd shell from which I launched canvas saying"node 'OvrDevice': 'ports' : index 1: port 'index' : no pin named 'index'. I am not sure what that is about nor if it is an actual issue. The bigger problem is that there is a very large amount of jitter when I move/rotate my head when running the cube.canvas sample. It is running a low frame rate of around 60-68 fps (currently set at max fps continuous interactive). When I run the Oculus Configuration utility Demo Scene (Desk) it looks very smooth.
    I am running an Oculus approved machine (64G Ram, 64-it OS, Win 8.1, 3.5Ghz Intel CPU, NVidia GeForce GTX980)
    Any thoughts on the jitter issue?

  • HelgeHelge Moderator, Fabric Employee Posts: 314 Fabric Employee

    @xanderxen good to see you got it working.

    we are undergoing a major reconstruction for the extension. With our upcoming feature inside of Fabric, the new realtime renderer, we'll have full support for Oculus. At some point in the future we'll likely have a distribution which has prebuilt binaries for the different support hardware, including Oculus of course.

    Feel free to ping me privately if you have any additional questions.


    I hope this helps!

    Research Engineer @ Fabric Software

  • xanderxenxanderxen Posts: 22
    edited March 2016

    That's great news about about the Oculus support @Helge. Thanks for the post. I will probably take you up on the offer and follow up privately with some additional questions.

Sign In or Register to comment.