cinder / Cinder

Cinder is a community-developed, free and open source library for professional-quality creative coding in C++.
http://libcinder.org
Other
5.34k stars 943 forks source link

Raspberry pi 3 Headless #2011

Open colinbouvry opened 6 years ago

colinbouvry commented 6 years ago

Hello, I use Raspberry pi 3 armv7 with raspbian stretch I try to compile with

cmake .. -DCINDER_HEADLESS_GL=egl

but I have this error :

Building CXX object CMakeFiles/cinder.dir/src/cinder/app/linux/WindowImplLinuxHeadless.cpp.o /usr/bin/c++ -DCINDER_GL_ES -DCINDER_GL_ES_2 -DCINDER_GL_ES_2_RPI -DCINDER_LINUX_EGL_ONLY -DCINDER_LINUX_EGL_ONLY -DCINDER_HEADLESS -DCINDER_HEADLESS_GL_EGL -DFT2_BUILD_LIBRARY -DFT_DEBUG_LEVEL_TRACE -D_GLIBCXX_USE_CXX11_ABI=0 -D_UNIX -isystem /home/pi/Cinder/include -isystem /home/pi/Cinder/include/oggvorbis -isystem /home/pi/Cinder/src/AntTweakBar -isystem /home/pi/Cinder/include/freetype -isystem /opt/vc/include -isystem /opt/vc/include/interface/vmcs_host/linux -isystem /opt/vc/include/interface/vcos/pthreads -isystem /usr/include/arm-linux-gnueabihf -isystem /usr/include/glib-2.0 -isystem /usr/lib/arm-linux-gnueabihf/glib-2.0/include -isystem /usr/include/gstreamer-1.0 -isystem /usr/lib/arm-linux-gnueabihf/gstreamer-1.0/include -isystem /usr/include/libdrm -I/home/pi/Cinder/include/EGL-Registry -I/home/pi/Cinder/include/jsoncpp -I/home/pi/Cinder/include/tinyexr -I/home/pi/Cinder/src/linebreak -I/home/pi/Cinder/src/oggvorbis/vorbis -I/home/pi/Cinder/src/r8brain -I/home/pi/Cinder/include/glfw -std=c++14 -g -Wfatal-errors -o CMakeFiles/cinder.dir/src/cinder/app/linux/WindowImplLinuxHeadless.cpp.o -c /home/pi/Cinder/src/cinder/app/linux/WindowImplLinuxHeadless.cpp In file included from /usr/include/c++/6/memory:81:0, from /home/pi/Cinder/include/cinder/Cinder.h:106, from /home/pi/Cinder/include/cinder/app/Renderer.h:27, from /home/pi/Cinder/include/cinder/app/RendererGl.h:26, from /home/pi/Cinder/src/cinder/app/linux/WindowImplLinuxHeadless.cpp:24: /usr/include/c++/6/bits/unique_ptr.h: In instantiation of ‘void std::default_delete<_Tp>::operator()(_Tp*) const [with _Tp = cinder::app::WindowImplLinux::NativeWindow]’: /usr/include/c++/6/bits/unique_ptr.h:239:17: required from ‘std::unique_ptr<_Tp, _Dp>::~unique_ptr() [with _Tp = cinder::app::WindowImplLinux::NativeWindow; _Dp = std::default_delete<cinder::app::WindowImplLinux::NativeWindow>]’ /home/pi/Cinder/src/cinder/app/linux/WindowImplLinuxHeadless.cpp:32:22: required from here /usr/include/c++/6/bits/unique_ptr.h:74:22: error: invalid application of ‘sizeof’ to incomplete type ‘cinder::app::WindowImplLinux::NativeWindow’ static_assert(sizeof(_Tp)>0, ^ compilation terminated due to -Wfatal-errors. CMakeFiles/cinder.dir/build.make:5489: recipe for target 'CMakeFiles/cinder.dir/src/cinder/app/linux/WindowImplLinuxHeadless.cpp.o' failed make[2]: *** [CMakeFiles/cinder.dir/src/cinder/app/linux/WindowImplLinuxHeadless.cpp.o] Error 1 make[2]: Leaving directory '/home/pi/Cinder/build' CMakeFiles/Makefile2:70: recipe for target 'CMakeFiles/cinder.dir/all' failed make[1]: *** [CMakeFiles/cinder.dir/all] Error 2 make[1]: Leaving directory '/home/pi/Cinder/build' Makefile:86: recipe for target 'all' failed make: *** [all] Error 2 Any idea ?

PetrosKataras commented 6 years ago

1997 should contain more info but the gist is that the egl option is not supported on the RPi. That said, I could imagine that running normally on the RPi, without an actual display attached could also potentially work. Have you given that a try already?