batocera-linux / batocera-emulationstation

MIT License
318 stars 246 forks source link

CMake Error #422

Closed Lichtenshtein closed 4 years ago

Lichtenshtein commented 4 years ago

Hi. I am trying to build a batocera-emulationstation on my OrangePi PC board

Linux RetrOrangePi 5.2.14-sunxi 5.97 SMP Thu Sep 19 01:04:45 CEST 2019 armv7l armv7l armv7l GNU/Linux

But I get the following error, how can I fix it?

root@RetrOrangePi:~# git clone --recursive https://github.com/batocera-linux/batocera-emulationstation.git
Cloning into 'batocera-emulationstation'...
remote: Enumerating objects: 30972, done.
remote: Total 30972 (delta 0), reused 0 (delta 0), pack-reused 30972
Receiving objects: 100% (30972/30972), 22.00 MiB | 2.42 MiB/s, done.
Resolving deltas: 100% (18963/18963), done.
Submodule 'external/pugixml' (https://github.com/zeux/pugixml.git) registered for path 'external/pugixml'
Cloning into '/root/batocera-emulationstation/external/pugixml'...
remote: Enumerating objects: 12, done.
remote: Counting objects: 100% (12/12), done.
remote: Compressing objects: 100% (9/9), done.
remote: Total 8666 (delta 4), reused 8 (delta 3), pack-reused 8654
Receiving objects: 100% (8666/8666), 6.19 MiB | 3.04 MiB/s, done.
Resolving deltas: 100% (5982/5982), done.
Submodule path 'external/pugixml': checked out '7247a823b72259a2b814696838d02f7424a8ce0e'
root@RetrOrangePi:~# cd batocera-emulationstation
root@RetrOrangePi:~/batocera-emulationstation# git submodule update --init
root@RetrOrangePi:~/batocera-emulationstation# mkdir build
root@RetrOrangePi:~/batocera-emulationstation# cd build
root@RetrOrangePi:~/batocera-emulationstation/build# cmake ..
-- The C compiler identification is GNU 7.4.0
-- The CXX compiler identification is GNU 7.4.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
CEC enabled
libMali.so found
-- Looking for XOpenDisplay in /usr/lib/arm-linux-gnueabihf/libX11.so;/usr/lib/arm-linux-gnueabihf/libXext.so
-- Looking for XOpenDisplay in /usr/lib/arm-linux-gnueabihf/libX11.so;/usr/lib/arm-linux-gnueabihf/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Found X11: /usr/lib/arm-linux-gnueabihf/libX11.so
-- Found Freetype: /usr/lib/arm-linux-gnueabihf/libfreetype.so (found version "2.8.1")
-- Looking for FreeImage...
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'freeimage'
--   No package 'freeimage' found
-- Found FreeImage: optimized;/usr/lib/arm-linux-gnueabihf/libfreeimage.so;debug;/usr/lib/arm-linux-gnueabihf/libfreeimage.so
-- Could NOT find SDLMIXER (missing: SDLMIXER_INCLUDE_DIR SDLMIXER_LIBRARY)
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Found SDL2: /usr/local/lib/libSDL2main.a;/usr/local/lib/libSDL2.so;-lpthread
-- Found CURL: /usr/lib/arm-linux-gnueabihf/libcurl.so (found version "7.58.0")
-- Checking for module 'libvlc>=1.0.0'
--   Found libvlc, version 3.0.8
-- VLC library found
-- Found VLC: /usr/include/vlc
-- Found Rapidjson: /usr/include
-- Looking for libCEC...
-- Checking for module 'libcec'
--   No package 'libcec' found
-- Could not locate libCEC
-- Found ALSA: /usr/lib/arm-linux-gnueabihf/libasound.so (found version "1.1.3")
-- Found Intl: /usr/include
-- Native language support enabled.
Building the pot file
LANG = ar
LANG = ca
LANG = de
LANG = el
LANG = es
LANG = es_MX
LANG = eu_ES
LANG = fr
LANG = hu
LANG = it
LANG = jp_JP
LANG = ko
LANG = nb_NO
LANG = nl
LANG = nn_NO
LANG = pl
LANG = pt_BR
LANG = pt_PT
LANG = ru_RU
LANG = sv_SE
LANG = tr
LANG = zh_CN
LANG = zh_TW
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
OPENGLES_INCLUDE_DIR (ADVANCED)
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-app
   used as include directory in directory /root/batocera-emulationstation/es-app
   used as include directory in directory /root/batocera-emulationstation/es-app
   used as include directory in directory /root/batocera-emulationstation/es-app
   used as include directory in directory /root/batocera-emulationstation/es-app
   used as include directory in directory /root/batocera-emulationstation/es-app
   used as include directory in directory /root/batocera-emulationstation/es-app
   used as include directory in directory /root/batocera-emulationstation/es-app
   used as include directory in directory /root/batocera-emulationstation/es-app
SDLMIXER_INCLUDE_DIR (ADVANCED)
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-app
   used as include directory in directory /root/batocera-emulationstation/es-app
   used as include directory in directory /root/batocera-emulationstation/es-app
   used as include directory in directory /root/batocera-emulationstation/es-app
   used as include directory in directory /root/batocera-emulationstation/es-app
   used as include directory in directory /root/batocera-emulationstation/es-app
   used as include directory in directory /root/batocera-emulationstation/es-app
   used as include directory in directory /root/batocera-emulationstation/es-app
   used as include directory in directory /root/batocera-emulationstation/es-app
SDLMIXER_LIBRARY (ADVANCED)
    linked by target "es-core" in directory /root/batocera-emulationstation/es-core
    linked by target "emulationstation" in directory /root/batocera-emulationstation/es-app

-- Configuring incomplete, errors occurred!
See also "/root/batocera-emulationstation/build/CMakeFiles/CMakeOutput.log".
See also "/root/batocera-emulationstation/build/CMakeFiles/CMakeError.log".

I only found a similar ticket in the EmulationStation repository without an answer https://github.com/Aloshi/EmulationStation/issues/749

tcamargo commented 4 years ago

Mesa3D and sdlmixer development headers are probably missing.

Lichtenshtein commented 4 years ago

I followed the instruction and installed all required packages. But I still get an error.

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
OPENGLES_INCLUDE_DIR (ADVANCED)
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-core
   used as include directory in directory /root/batocera-emulationstation/es-app
   used as include directory in directory /root/batocera-emulationstation/es-app
   used as include directory in directory /root/batocera-emulationstation/es-app
   used as include directory in directory /root/batocera-emulationstation/es-app
   used as include directory in directory /root/batocera-emulationstation/es-app
   used as include directory in directory /root/batocera-emulationstation/es-app
   used as include directory in directory /root/batocera-emulationstation/es-app
   used as include directory in directory /root/batocera-emulationstation/es-app
   used as include directory in directory /root/batocera-emulationstation/es-app
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.3 LTS
Release:        18.04
Codename:       bionic

\\UPD.

CMakeOutput.log

lbrpdx commented 4 years ago

It looks like you're missing the openGL dev package. Maybe something called like "mesa" or "glx-mesa" dev, depending on your distribution (not familiar with RetrOrange Pi).

Lichtenshtein commented 4 years ago

It looks like you're missing the openGL dev package. Maybe something called like "mesa" or "glx-mesa" dev, depending on your distribution (not familiar with RetrOrange Pi).

No, installed all the packages that are associated with "mesa", nothing helps, still something's missing. Or "cmake" is looking for something in the wrong place and i don’t know what and how to fix it.

apt list --installed | grep mesa

libd3dadapter9-mesa/bionic-updates,now 19.2.8-0ubuntu0~18.04.3 armhf [installed]
libd3dadapter9-mesa-dev/bionic-updates,now 19.2.8-0ubuntu0~18.04.3 armhf [installed]
libegl-mesa0/bionic-updates,now 19.2.8-0ubuntu0~18.04.3 armhf [installed]
libegl1-mesa/bionic-updates,now 19.2.8-0ubuntu0~18.04.3 armhf [installed]
libegl1-mesa-dev/bionic-updates,now 19.2.8-0ubuntu0~18.04.3 armhf [installed]
libgl1-mesa-dev/bionic-updates,now 19.2.8-0ubuntu0~18.04.3 armhf [installed]
libgl1-mesa-dri/bionic-updates,now 19.2.8-0ubuntu0~18.04.3 armhf [installed]
libgl1-mesa-glx/bionic-updates,now 19.2.8-0ubuntu0~18.04.3 armhf [installed]
libglapi-mesa/bionic-updates,now 19.2.8-0ubuntu0~18.04.3 armhf [installed]
libgles2-mesa/bionic-updates,now 19.2.8-0ubuntu0~18.04.3 armhf [installed]
libgles2-mesa-dev/bionic-updates,now 19.2.8-0ubuntu0~18.04.3 armhf [installed]
libglu1-mesa/bionic,now 9.0.0-2.1build1 armhf [installed]
libglu1-mesa-dev/bionic,now 9.0.0-2.1build1 armhf [installed]
libglw1-mesa/bionic,now 8.0.0-1.1 armhf [installed]
libglw1-mesa-dev/bionic,now 8.0.0-1.1 armhf [installed]
libglx-mesa0/bionic-updates,now 19.2.8-0ubuntu0~18.04.3 armhf [installed]
libosmesa6/bionic-updates,now 19.2.8-0ubuntu0~18.04.3 armhf [installed]
libosmesa6-dev/bionic-updates,now 19.2.8-0ubuntu0~18.04.3 armhf [installed]
libwayland-egl1-mesa/bionic-updates,now 19.2.8-0ubuntu0~18.04.3 armhf [installed]
mesa-common-dev/bionic-updates,now 19.2.8-0ubuntu0~18.04.3 armhf [installed]
mesa-opencl-icd/bionic-updates,now 19.2.8-0ubuntu0~18.04.3 armhf [installed]
mesa-utils/bionic,now 8.4.0-1 armhf [installed]
mesa-utils-extra/bionic,now 8.4.0-1 armhf [installed]
mesa-va-drivers/bionic-updates,now 19.2.8-0ubuntu0~18.04.3 armhf [installed]
mesa-vdpau-drivers/bionic-updates,now 19.2.8-0ubuntu0~18.04.3 armhf [installed]
mesa-vulkan-drivers/bionic-updates,now 19.2.8-0ubuntu0~18.04.3 armhf [installed]
mir-client-platform-mesa-dev/bionic,now 0.31.1-0ubuntu1 armhf [installed]
mir-client-platform-mesa5/bionic,now 0.31.1-0ubuntu1 armhf [installed]
mir-platform-graphics-mesa-kms13/bionic,now 0.31.1-0ubuntu1 armhf [installed]
mir-platform-graphics-mesa-x13/bionic,now 0.31.1-0ubuntu1 armhf [installed]
Lichtenshtein commented 4 years ago

Well, i think i did it myself. I duplicated the folder /usr/include/GL to /usr/include/GLES and made some changes to /root/batocera-emulationstation/build/CMakeCache.txt

But i can't run batocera-emulationstation c'se of total mess up with system paths since in RetrOrangePi they are different /userdata/system/configs/emulationstation is in /etc/emulationstation/, etc. i guess i have to find and change all of them and compile again to make it run

P.S. Never ran batocera before. I just liked the ability to change the localization, the variability of the settings, the great functionality of the skins. Looks amazing, especially with the Ckau-Book skin. Wanted to have it all instead of standart RetroPie emulationstation, but it turned out that everything is not so simple (as always in linux systems for me).

//UPD. So, i think i managed to change all the paths i found to simillar in RetroOrangePi ones - there's no error message "can't create /userdata/blabla directory" at start now. But i totally ruined my installation with installing/uninstalling Mesa packages thing so only option is to install fresh firmware and try batocera-emulationstation again on fresh system. If it doesn’t work out, i have to start all over again and ruin the system again :\ Wish me luck :D

//UPD2. It works, finally!

rostomzer commented 4 years ago

Well, i think i did it myself. I duplicated the folder /usr/include/GL to /usr/include/GLES and made some changes to /root/batocera-emulationstation/build/CMakeCache.txt

But i can't run batocera-emulationstation c'se of total mess up with system paths since in RetrOrangePi they are different /userdata/system/configs/emulationstation is in /etc/emulationstation/, etc. i guess i have to find and change all of them and compile again to make it run

P.S. Never ran batocera before. I just liked the ability to change the localization, the variability of the settings, the great functionality of the skins. Looks amazing, especially with the Ckau-Book skin. Wanted to have it all instead of standart RetroPie emulationstation, but it turned out that everything is not so simple (as always in linux systems for me).

//UPD. So, i think i managed to change all the paths i found to simillar in RetroOrangePi ones - there's no error message "can't create /userdata/blabla directory" at start now. But i totally ruined my installation with installing/uninstalling Mesa packages thing so only option is to install fresh firmware and try batocera-emulationstation again on fresh system. If it doesn’t work out, i have to start all over again and ruin the system again :\ Wish me luck :D

//UPD2. It works, finally!

please can you help me changing those pathes ? i want to compile one for my retropie and didnt get it working inside it. thank you in advance