24 junho, 2017

Compilando EmulationStation no Debian 9

Instale algumas dependências:

sudo apt-get install -y libsdl2-dev libboost-system-dev libboost-filesystem-dev libboost-date-time-dev libboost-locale-dev libfreeimage-dev libfreetype6-dev libeigen3-dev libcurl4-openssl-dev libasound2-dev libgl1-mesa-dev build-essential cmake git
Baixe o código fonte:
git clone https://github.com/Aloshi/EmulationStation
cd EmulationStation
git checkout unstable
Aplique o seguinte patch*:
patch -p1 < /home/dan/emulationstation-2.0.1a-float.patch
Compile e instale:
cmake .
make
sudo make install

Bom divertimento!






*Se você não aplicar o patch irá receber a seguinte mensagem de erro:
In file included from /tmp/a/EmulationStation/es-core/src/Renderer_draw_gl.cpp:9:0:/tmp/a/EmulationStation/es-core/src/Util.h:18:22: error: ‘float round(float)’ conflicts with a previous declaration float round(float num);                      ^In file included from /usr/include/c++/6/complex:44:0,                 from /usr/include/eigen3/Eigen/Core:80,                 from /usr/include/eigen3/Eigen/Dense:1,                 from /tmp/a/EmulationStation/es-core/src/Renderer.h:7,                 from /tmp/a/EmulationStation/es-core/src/Renderer_draw_gl.cpp:2:/usr/include/c++/6/cmath:1790:3: note: previous declaration ‘constexpr float std::round(float)’   round(float __x)   ^~~~~/tmp/a/EmulationStation/es-core/src/Renderer_draw_gl.cpp: In function ‘void Renderer::drawRect(float, float, float, float, unsigned int, GLenum, GLenum)’:/tmp/a/EmulationStation/es-core/src/Renderer_draw_gl.cpp:90:24: error: call of overloaded ‘round(float&)’ is ambiguous   drawRect((int)round(x), (int)round(y), (int)round(w), (int)round(h), color, blend_sfactor, blend_dfactor);                        ^In file included from /usr/include/features.h:364:0,                 from /usr/include/x86_64-linux-gnu/c++/6/bits/os_defines.h:39,                 from /usr/include/x86_64-linux-gnu/c++/6/bits/c++config.h:507,                 from /usr/include/c++/6/string:38,                 from /tmp/a/EmulationStation/es-core/src/platform.h:18,                 from /tmp/a/EmulationStation/es-core/src/Renderer_draw_gl.cpp:1:/usr/include/x86_64-linux-gnu/bits/mathcalls.h:326:1: note: candidate: double round(double) __MATHCALLX (round,, (_Mdouble_ __x), (__const__)); ^In file included from /usr/include/c++/6/complex:44:0,                 from /usr/include/eigen3/Eigen/Core:80,                 from /usr/include/eigen3/Eigen/Dense:1,                 from /tmp/a/EmulationStation/es-core/src/Renderer.h:7,                 from /tmp/a/EmulationStation/es-core/src/Renderer_draw_gl.cpp:2:/usr/include/c++/6/cmath:1794:3: note: candidate: constexpr long double std::round(long double)   round(long double __x)   ^~~~~/usr/include/c++/6/cmath:1790:3: note: candidate: constexpr float std::round(float)   round(float __x)   ^~~~~In file included from /tmp/a/EmulationStation/es-core/src/Renderer_draw_gl.cpp:9:0:/tmp/a/EmulationStation/es-core/src/Util.h:18:7: note: candidate: float round(float) float round(float num);       ^~~~~/tmp/a/EmulationStation/es-core/src/Renderer_draw_gl.cpp:90:39: error: call of overloaded ‘round(float&)’ is ambiguous   drawRect((int)round(x), (int)round(y), (int)round(w), (int)round(h), color, blend_sfactor, blend_dfactor);                                       ^In file included from /usr/include/features.h:364:0,                 from /usr/include/x86_64-linux-gnu/c++/6/bits/os_defines.h:39,                 from /usr/include/x86_64-linux-gnu/c++/6/bits/c++config.h:507,                 from /usr/include/c++/6/string:38,                 from /tmp/a/EmulationStation/es-core/src/platform.h:18,                 from /tmp/a/EmulationStation/es-core/src/Renderer_draw_gl.cpp:1:/usr/include/x86_64-linux-gnu/bits/mathcalls.h:326:1: note: candidate: double round(double) __MATHCALLX (round,, (_Mdouble_ __x), (__const__)); ^In file included from /usr/include/c++/6/complex:44:0,                 from /usr/include/eigen3/Eigen/Core:80,                 from /usr/include/eigen3/Eigen/Dense:1,                 from /tmp/a/EmulationStation/es-core/src/Renderer.h:7,                 from /tmp/a/EmulationStation/es-core/src/Renderer_draw_gl.cpp:2:/usr/include/c++/6/cmath:1794:3: note: candidate: constexpr long double std::round(long double)   round(long double __x)   ^~~~~/usr/include/c++/6/cmath:1790:3: note: candidate: constexpr float std::round(float)   round(float __x)   ^~~~~In file included from /tmp/a/EmulationStation/es-core/src/Renderer_draw_gl.cpp:9:0:/tmp/a/EmulationStation/es-core/src/Util.h:18:7: note: candidate: float round(float) float round(float num);       ^~~~~/tmp/a/EmulationStation/es-core/src/Renderer_draw_gl.cpp:90:54: error: call of overloaded ‘round(float&)’ is ambiguous   drawRect((int)round(x), (int)round(y), (int)round(w), (int)round(h), color, blend_sfactor, blend_dfactor);                                                      ^In file included from /usr/include/features.h:364:0,                 from /usr/include/x86_64-linux-gnu/c++/6/bits/os_defines.h:39,                 from /usr/include/x86_64-linux-gnu/c++/6/bits/c++config.h:507,                 from /usr/include/c++/6/string:38,                 from /tmp/a/EmulationStation/es-core/src/platform.h:18,                 from /tmp/a/EmulationStation/es-core/src/Renderer_draw_gl.cpp:1:/usr/include/x86_64-linux-gnu/bits/mathcalls.h:326:1: note: candidate: double round(double) __MATHCALLX (round,, (_Mdouble_ __x), (__const__)); ^In file included from /usr/include/c++/6/complex:44:0,                 from /usr/include/eigen3/Eigen/Core:80,                 from /usr/include/eigen3/Eigen/Dense:1,                 from /tmp/a/EmulationStation/es-core/src/Renderer.h:7,                 from /tmp/a/EmulationStation/es-core/src/Renderer_draw_gl.cpp:2:/usr/include/c++/6/cmath:1794:3: note: candidate: constexpr long double std::round(long double)   round(long double __x)   ^~~~~/usr/include/c++/6/cmath:1790:3: note: candidate: constexpr float std::round(float)   round(float __x)   ^~~~~In file included from /tmp/a/EmulationStation/es-core/src/Renderer_draw_gl.cpp:9:0:/tmp/a/EmulationStation/es-core/src/Util.h:18:7: note: candidate: float round(float) float round(float num);       ^~~~~/tmp/a/EmulationStation/es-core/src/Renderer_draw_gl.cpp:90:69: error: call of overloaded ‘round(float&)’ is ambiguous   drawRect((int)round(x), (int)round(y), (int)round(w), (int)round(h), color, blend_sfactor, blend_dfactor);                                                                     ^In file included from /usr/include/features.h:364:0,                 from /usr/include/x86_64-linux-gnu/c++/6/bits/os_defines.h:39,                 from /usr/include/x86_64-linux-gnu/c++/6/bits/c++config.h:507,                 from /usr/include/c++/6/string:38,                 from /tmp/a/EmulationStation/es-core/src/platform.h:18,                 from /tmp/a/EmulationStation/es-core/src/Renderer_draw_gl.cpp:1:/usr/include/x86_64-linux-gnu/bits/mathcalls.h:326:1: note: candidate: double round(double) __MATHCALLX (round,, (_Mdouble_ __x), (__const__)); ^In file included from /usr/include/c++/6/complex:44:0,                 from /usr/include/eigen3/Eigen/Core:80,                 from /usr/include/eigen3/Eigen/Dense:1,                 from /tmp/a/EmulationStation/es-core/src/Renderer.h:7,                 from /tmp/a/EmulationStation/es-core/src/Renderer_draw_gl.cpp:2:/usr/include/c++/6/cmath:1794:3: note: candidate: constexpr long double std::round(long double)   round(long double __x)   ^~~~~/usr/include/c++/6/cmath:1790:3: note: candidate: constexpr float std::round(float)   round(float __x)   ^~~~~In file included from /tmp/a/EmulationStation/es-core/src/Renderer_draw_gl.cpp:9:0:/tmp/a/EmulationStation/es-core/src/Util.h:18:7: note: candidate: float round(float) float round(float num);       ^~~~~es-core/CMakeFiles/es-core.dir/build.make:278: recipe for target 'es-core/CMakeFiles/es-core.dir/src/Renderer_draw_gl.cpp.o' failedmake[2]: *** [es-core/CMakeFiles/es-core.dir/src/Renderer_draw_gl.cpp.o] Error 1CMakeFiles/Makefile2:217: recipe for target 'es-core/CMakeFiles/es-core.dir/all' failedmake[1]: *** [es-core/CMakeFiles/es-core.dir/all] Error 2Makefile:149: recipe for target 'all' failedmake: *** [all] Error 2

Nenhum comentário:

Postar um comentário