Falcor icon indicating copy to clipboard operation
Falcor copied to clipboard

"No context API selected"

Open stolk opened this issue 6 years ago • 5 comments

Using the Linux Build instructions. (dependencies installed, downloaded vulkan SDK, set up the vulkan env.) set SAMPLE_CONFIG to Debug. executed 'make Debug'

On Ubuntu, using libglfw3-dev version 3.1.2-3

...
Framework/Source//SampleTest.cpp
Framework/Source//MultiRendererSample.cpp
Framework/Source//Sample.cpp
Framework/Source//ArgList.cpp
Framework/Source/API/GpuTimer.cpp
Framework/Source/API/Formats.cpp
Framework/Source/API/ComputeContext.cpp
Framework/Source/API/TypedBuffer.cpp
Framework/Source/API/VAO.cpp
Framework/Source/API/BlendState.cpp
Framework/Source/API/Sampler.cpp
Framework/Source/API/RenderContext.cpp
Framework/Source/API/FBO.cpp
Framework/Source/API/CopyContext.cpp
Framework/Source/API/Texture.cpp
Framework/Source/API/ConstantBuffer.cpp
Framework/Source/API/Resource.cpp
Framework/Source/API/DescriptorSet.cpp
Framework/Source/API/StructuredBuffer.cpp
Framework/Source/API/Device.cpp
Framework/Source/API/ResourceViews.cpp
Framework/Source/API/ComputeStateObject.cpp
Framework/Source/API/Window.cpp
In file included from Framework/Source/API/Window.cpp:54:0:
/usr/include/GLFW/glfw3native.h:102:3: error: #error "No context API selected"
  #error "No context API selected"
   ^
Framework/Source/API/Window.cpp: In static member function ‘static Falcor::Window::SharedPtr Falcor::Window::create(const Falcor::Window::Desc&, Falcor::Window::ICallbacks*)’:
Framework/Source/API/Window.cpp:361:27: error: ‘GLFW_FALSE’ was not declared in this scope
         if (glfwInit() == GLFW_FALSE)
                           ^
Framework/Source/API/Window.cpp:370:41: error: ‘GLFW_NO_API’ was not declared in this scope
         glfwWindowHint(GLFW_CLIENT_API, GLFW_NO_API);
                                         ^
Framework/Source/API/Window.cpp: In member function ‘void Falcor::Window::msgLoop()’:
Framework/Source/API/Window.cpp:424:37: error: ‘glfwFocusWindow’ was not declared in this scope
         glfwFocusWindow(mpGLFWWindow);
                                     ^
At global scope:
cc1plus: error: unrecognized command line option ‘-Wno-misleading-indentation’ [-Werror]
cc1plus: error: unrecognized command line option ‘-Wno-nonnull-compare’ [-Werror]
cc1plus: all warnings being treated as errors
Makefile:170: recipe for target 'Framework/Source/API/Window.o' failed
make: *** [Framework/Source/API/Window.o] Error 1

stolk avatar Mar 18 '18 17:03 stolk

It looks like libglfw3-dev on Ubuntu LTS doesn't do Vulkan. I'll try to build libglfw3 from source instead.

stolk avatar Mar 18 '18 17:03 stolk

Error goes away with libglfw3 built from source.

stolk avatar Mar 18 '18 18:03 stolk

I also had to build ffmpeg from source.

And add -Wno-strict-overflow flag to get around:

Framework/Source/../Externals/dear_imgui/imgui_demo.cpp: In member function ‘void ExampleAppConsole::Draw(const char*, bool*)’:
Framework/Source/../Externals/dear_imgui/imgui_demo.cpp:2129:13: error: assuming signed overflow does not occur when assuming that (X - c) > X is always false [-Werror=strict-overflow]
     void    Draw(const char* title, bool* p_open)

stolk avatar Mar 18 '18 18:03 stolk

Kai-Hwa, Please update the readme. We don't need to provide binaries, just mention that it might be required to build FFMPEG and GLFW on Ubuntu

nbentyNV avatar Mar 18 '18 18:03 nbentyNV

@kyaoNV please update the readme for 3.0

nbentyNV avatar Mar 28 '18 05:03 nbentyNV