ds-hwang / gbm_es2_demo

Example OpenGL ES2 demo using GBM and DRM(KMS) modesetting
MIT License
58 stars 20 forks source link

error: 'GBM_BO_USE_LINEAR' was not declared in this scope #3

Open samsonluk opened 6 years ago

samsonluk commented 6 years ago

Any idea how to fix?

 # cmake ../
-- The C compiler identification is GNU 7.3.0
-- The CXX compiler identification is GNU 7.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29")
-- Checking for module 'libdrm'
--   Found libdrm, version 2.4.74
-- Checking for module 'gbm'
--   Found gbm, version 10.4.0
-- Checking for module 'egl'
--   Found egl, version 7.10
-- Checking for module 'glesv2'
--   Found glesv2, version
ged links drmgbmEGLGLESv2
gbm_es2_demo links ged
dma_buf_mmap_demo links ged
-- Configuring done
-- Generating done
-- Build files have been written to: /mnt/src/gbm_es2_demo/build
armhf ch root /mnt/src/gbm_es2_demo/build > # make
Scanning dependencies of target ged
[ 12%] Building CXX object ged_lib/CMakeFiles/ged.dir/drm_modesetter.cpp.o
[ 25%] Building CXX object ged_lib/CMakeFiles/ged.dir/egl_drm_glue.cpp.o
/mnt/src/gbm_es2_demo/ged_lib/egl_drm_glue.cpp: In member function 'bool ged::{anonymous}::StreamTextureImpl::Initialize(gbm_device*)':
/mnt/src/gbm_es2_demo/ged_lib/egl_drm_glue.cpp:147:46: error: 'GBM_BO_USE_LINEAR' was not declared in this scope
                         GBM_FORMAT_ARGB8888, GBM_BO_USE_LINEAR);
                                              ^~~~~~~~~~~~~~~~~
/mnt/src/gbm_es2_demo/ged_lib/egl_drm_glue.cpp:147:46: note: suggested alternative: 'GBM_BO_USE_WRITE'
                         GBM_FORMAT_ARGB8888, GBM_BO_USE_LINEAR);
                                              ^~~~~~~~~~~~~~~~~
                                              GBM_BO_USE_WRITE
/mnt/src/gbm_es2_demo/ged_lib/egl_drm_glue.cpp:164:50: warning: narrowing conversion of '((ged::{anonymous}::StreamTextureImpl*)this)->ged::{anonymous}::StreamTextureImpl::dimension_.ged::StreamTexture::Dimension::width' from 'size_t {aka unsigned int}' to 'EGLint {aka int}' inside { } [-Wnarrowing]
                                       dimension_.width,
                                       ~~~~~~~~~~~^~~~~
/mnt/src/gbm_es2_demo/ged_lib/egl_drm_glue.cpp:166:50: warning: narrowing conversion of '((ged::{anonymous}::StreamTextureImpl*)this)->ged::{anonymous}::StreamTextureImpl::dimension_.ged::StreamTexture::Dimension::height' from 'size_t {aka unsigned int}' to 'EGLint {aka int}' inside { } [-Wnarrowing]
                                       dimension_.height,
                                       ~~~~~~~~~~~^~~~~~
/mnt/src/gbm_es2_demo/ged_lib/egl_drm_glue.cpp:170:50: warning: narrowing conversion of '((ged::{anonymous}::StreamTextureImpl*)this)->ged::{anonymous}::StreamTextureImpl::dimension_.ged::StreamTexture::Dimension::stride' from 'size_t {aka unsigned int}' to 'EGLint {aka int}' inside { } [-Wnarrowing]
                                       dimension_.stride,
                                       ~~~~~~~~~~~^~~~~~
/mnt/src/gbm_es2_demo/ged_lib/egl_drm_glue.cpp: In member function 'bool ged::EGLDRMGlue::Impl::CreateFramebuffer(size_t, size_t, ged::EGLDRMGlue::Impl::Framebuffer&)':
/mnt/src/gbm_es2_demo/ged_lib/egl_drm_glue.cpp:478:47: warning: narrowing conversion of 'width' from 'size_t {aka unsigned int}' to 'EGLint {aka int ' inside { } [-Wnarrowing]
                                       EGL_NONE};
                                               ^
/mnt/src/gbm_es2_demo/ged_lib/egl_drm_glue.cpp:478:47: warning: narrowing conversion of 'height' from 'size_t {aka unsigned int}' to 'EGLint {aka int}' inside { } [-Wnarrowing]
/mnt/src/gbm_es2_demo/ged_lib/egl_drm_glue.cpp:478:47: warning: narrowing conversion of 'stride' from 'uint32_t {aka unsigned int}' to 'EGLint {aka int}' inside { } [-Wnarrowing]
/mnt/src/gbm_es2_demo/ged_lib/egl_drm_glue.cpp:478:47: warning: narrowing conversion of 'offset' from 'uint32_t {aka unsigned int}' to 'EGLint {aka int}' inside { } [-Wnarrowing]
ged_lib/CMakeFiles/ged.dir/build.make:75: recipe for target 'ged_lib/CMakeFiles/ged.dir/egl_drm_glue.cpp.o' failed
make[2]: *** [ged_lib/CMakeFiles/ged.dir/egl_drm_glue.cpp.o] Error 1
CMakeFiles/Makefile2:85: recipe for target 'ged_lib/CMakeFiles/ged.dir/all' failed
make[1]: *** [ged_lib/CMakeFiles/ged.dir/all] Error 2
Makefile:83: recipe for target 'all' failed
make: *** [all] Error 2
joone commented 6 years ago

Your gbm version is quite old. I'm using 18.1.3