RetroPie / RetroPie-Setup

Shell script to set up a Raspberry Pi/Odroid/PC with RetroArch emulator and various cores
Other
10.02k stars 1.38k forks source link

XU4 build failed due to unmet deps for sdl2 #2469

Open Technicalleigh opened 6 years ago

Technicalleigh commented 6 years ago

Hi devs, I'm installing RetroPie on an Odroid XU4 running Ubuntu 18.04 minimal. During the install script, sdl2 failed to build which caused some other targets after it to fail also. The log (below) mentions some unmet build dependencies; manually installing those packages and re-running the RetroPie install script solved the problem for me. Cheers!

https://github.com/RetroPie/RetroPie-Setup/blob/master/scriptmodules/supplementary/sdl2.sh

= = = = = = = = = = = = = = = = = = = = =
Building 'sdl2' : SDL (Simple DirectMedia Layer) v2.x
= = = = = = = = = = = = = = = = = = = = =
dpkg-buildpackage: info: source package libsdl2
dpkg-buildpackage: info: source version 2.0.8+1mali
dpkg-buildpackage: info: source distribution UNRELEASED
dpkg-buildpackage: info: source changed by Jools Wills <buzz@exotica.org.uk>
 dpkg-source --before-build 2.0.8+1mali
dpkg-buildpackage: info: host architecture armhf
dpkg-checkbuilddeps: error: Unmet build dependencies: libx11-dev libxcursor-dev libxext-dev libxi-dev libxinerama-dev libxrandr-dev libxss-dev libxxf86vm-dev
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
cp: cannot stat '../*.deb': No such file or directory
/opt/retropie/supplementary/usbromservice ~/RetroPie-Setup/tmp/build/usbromservice
Could not successfully build sdl2 - SDL (Simple DirectMedia Layer) v2.x (/home/retropie/RetroPie-Setup/tmp/build/sdl2/libsdl2-dev_2.0.8+1mali_armhf.deb not found).
Reading package lists...
Building dependency tree...
Reading state information...
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Successfully installed package(s): .
~/RetroPie-Setup/tmp/build/retroarch /opt/retropie/supplementary/usbromservice ~/RetroPie-Setup/tmp/build/usbromservice
blisstik commented 6 years ago

Hi @Technicalleigh,

I was wondering what GPU drivers are you using, fbdev?

blisstik commented 6 years ago

@joolswills - I'm trying to install retroarch package by itself on an XU4 using Ubuntu 18.04 minimal image from HK with the latest commits (8cf6a70) and still getting the errors compiling. Full log below:

Just like @Technicalleigh, I installed the package manually sudo apt install libsdl2-dev then re-ran the setup script after cleaning the folder fixed the issue.


RetroPie-Setup version: 4.4.2 (8cf6a70)
System: Linux odroid 4.14.55-146 #1 SMP PREEMPT Wed Jul 11 22:31:01 -03 2018 armv7l armv7l armv7l GNU/Linux

= = = = = = = = = = = = = = = = = = = = =
Installing dependencies for 'retroarch' : RetroArch - frontend to the libretro emulator cores - required by all lr-* emulators
= = = = = = = = = = = = = = = = = = = = =

Did not find needed package(s): libsdl2-dev. I am trying to install them now.

= = = = = = = = = = = = = = = = = = = = =
Installing dependencies for 'sdl2' : SDL (Simple DirectMedia Layer) v2.x
= = = = = = = = = = = = = = = = = = = = =

~/RetroPie-Setup/tmp/build/sdl2 ~/RetroPie-Setup

= = = = = = = = = = = = = = = = = = = = =
Getting sources for 'sdl2' : SDL (Simple DirectMedia Layer) v2.x
= = = = = = = = = = = = = = = = = = = = =

Already up to date.
~/RetroPie-Setup
~/RetroPie-Setup/tmp/build/sdl2 ~/RetroPie-Setup

= = = = = = = = = = = = = = = = = = = = =
Building 'sdl2' : SDL (Simple DirectMedia Layer) v2.x
= = = = = = = = = = = = = = = = = = = = =

dpkg-buildpackage: info: source package libsdl2
dpkg-buildpackage: info: source version 2.0.8+1mali
dpkg-buildpackage: info: source distribution UNRELEASED
dpkg-buildpackage: info: source changed by Jools Wills <buzz@exotica.org.uk>
 dpkg-source --before-build 2.0.8+1mali
dpkg-buildpackage: info: host architecture armhf
dpkg-checkbuilddeps: error: Unmet build dependencies: libx11-dev libxcursor-dev libxext-dev libxi-dev libxinerama-dev libxrandr-dev libxss-dev libxxf86vm-dev
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
cp: cannot stat '../*.deb': No such file or directory
~/RetroPie-Setup
Could not successfully build sdl2 - SDL (Simple DirectMedia Layer) v2.x (/home/pigaming/RetroPie-Setup/tmp/build/sdl2/libsdl2-dev_2.0.8+1mali_armhf.deb not found).
Hit:1 http://deb.odroid.in/5422-s bionic InRelease
Hit:2 http://ports.ubuntu.com/ubuntu-ports bionic InRelease
Hit:3 http://ports.ubuntu.com/ubuntu-ports bionic-updates InRelease
Hit:4 http://ports.ubuntu.com/ubuntu-ports bionic-backports InRelease
Hit:5 http://ports.ubuntu.com/ubuntu-ports bionic-security InRelease
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
The following package was automatically installed and is no longer required:
  kernel-common
Use 'sudo apt autoremove' to remove it.
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.
Successfully installed package(s): .
~/RetroPie-Setup/tmp/build/retroarch ~/RetroPie-Setup

= = = = = = = = = = = = = = = = = = = = =
Getting sources for 'retroarch' : RetroArch - frontend to the libretro emulator cores - required by all lr-* emulators
= = = = = = = = = = = = = = = = = = = = =

git clone --recursive --depth 1 --branch v1.7.3 "https://github.com/libretro/RetroArch.git" "/home/pigaming/RetroPie-Setup/tmp/build/retroarch"
Cloning into '/home/pigaming/RetroPie-Setup/tmp/build/retroarch'...
Note: checking out 'b2ceb50897bc5c314bbd653a583a95050f03e1e2'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

Checking out files:   9% (479/5211)   
Checking out files:  10% (522/5211)   
Checking out files:  11% (574/5211)   
Checking out files:  12% (626/5211)   
Checking out files:  12% (645/5211)   
Checking out files:  13% (678/5211)   
Checking out files:  14% (730/5211)   
Checking out files:  15% (782/5211)   
Checking out files:  15% (791/5211)   
Checking out files:  16% (834/5211)   
Checking out files:  17% (886/5211)   
Checking out files:  18% (938/5211)   
Checking out files:  18% (944/5211)   
Checking out files:  19% (991/5211)   
Checking out files:  20% (1043/5211)   
Checking out files:  21% (1095/5211)   
Checking out files:  21% (1096/5211)   
Checking out files:  22% (1147/5211)   
Checking out files:  23% (1199/5211)   
Checking out files:  23% (1245/5211)   
Checking out files:  24% (1251/5211)   
Checking out files:  25% (1303/5211)   
Checking out files:  26% (1355/5211)   
Checking out files:  26% (1387/5211)   
Checking out files:  27% (1407/5211)   
Checking out files:  28% (1460/5211)   
Checking out files:  29% (1512/5211)   
Checking out files:  29% (1550/5211)   
Checking out files:  30% (1564/5211)   
Checking out files:  31% (1616/5211)   
Checking out files:  32% (1668/5211)   
Checking out files:  32% (1712/5211)   
Checking out files:  33% (1720/5211)   
Checking out files:  34% (1772/5211)   
Checking out files:  35% (1824/5211)   
Checking out files:  36% (1876/5211)   
Checking out files:  36% (1880/5211)   
Checking out files:  37% (1929/5211)   
Checking out files:  38% (1981/5211)   
Checking out files:  39% (2033/5211)   
Checking out files:  39% (2048/5211)   
Checking out files:  40% (2085/5211)   
Checking out files:  41% (2137/5211)   
Checking out files:  42% (2189/5211)   
Checking out files:  42% (2217/5211)   
Checking out files:  43% (2241/5211)   
Checking out files:  44% (2293/5211)   
Checking out files:  45% (2345/5211)   
Checking out files:  45% (2387/5211)   
Checking out files:  46% (2398/5211)   
Checking out files:  47% (2450/5211)   
Checking out files:  48% (2502/5211)   
Checking out files:  48% (2537/5211)   
Checking out files:  49% (2554/5211)   
Checking out files:  50% (2606/5211)   
Checking out files:  51% (2658/5211)   
Checking out files:  51% (2694/5211)   
Checking out files:  52% (2710/5211)   
Checking out files:  53% (2762/5211)   
Checking out files:  54% (2814/5211)   
Checking out files:  54% (2852/5211)   
Checking out files:  55% (2867/5211)   
Checking out files:  56% (2919/5211)   
Checking out files:  57% (2971/5211)   
Checking out files:  57% (3008/5211)   
Checking out files:  58% (3023/5211)   
Checking out files:  59% (3075/5211)   
Checking out files:  60% (3127/5211)   
Checking out files:  60% (3160/5211)   
Checking out files:  61% (3179/5211)   
Checking out files:  62% (3231/5211)   
Checking out files:  63% (3283/5211)   
Checking out files:  63% (3312/5211)   
Checking out files:  64% (3336/5211)   
Checking out files:  65% (3388/5211)   
Checking out files:  66% (3440/5211)   
Checking out files:  67% (3492/5211)   
Checking out files:  68% (3544/5211)   
Checking out files:  69% (3596/5211)   
Checking out files:  69% (3609/5211)   
Checking out files:  70% (3648/5211)   
Checking out files:  71% (3700/5211)   
Checking out files:  72% (3752/5211)   
Checking out files:  73% (3805/5211)   
Checking out files:  74% (3857/5211)   
Checking out files:  74% (3869/5211)   
Checking out files:  75% (3909/5211)   
Checking out files:  76% (3961/5211)   
Checking out files:  77% (4013/5211)   
Checking out files:  77% (4016/5211)   
Checking out files:  78% (4065/5211)   
Checking out files:  79% (4117/5211)   
Checking out files:  79% (4145/5211)   
Checking out files:  80% (4169/5211)   
Checking out files:  81% (4221/5211)   
Checking out files:  82% (4274/5211)   
Checking out files:  82% (4279/5211)   
Checking out files:  83% (4326/5211)   
Checking out files:  84% (4378/5211)   
Checking out files:  84% (4385/5211)   
Checking out files:  85% (4430/5211)   
Checking out files:  86% (4482/5211)   
Checking out files:  86% (4533/5211)   
Checking out files:  87% (4534/5211)   
Checking out files:  88% (4586/5211)   
Checking out files:  89% (4638/5211)   
Checking out files:  89% (4658/5211)   
Checking out files:  90% (4690/5211)   
Checking out files:  91% (4743/5211)   
Checking out files:  92% (4795/5211)   
Checking out files:  93% (4847/5211)   
Checking out files:  93% (4886/5211)   
Checking out files:  94% (4899/5211)   
Checking out files:  95% (4951/5211)   
Checking out files:  96% (5003/5211)   
Checking out files:  97% (5055/5211)   
Checking out files:  98% (5107/5211)   
Checking out files:  99% (5159/5211)   
Checking out files: 100% (5211/5211)   
Checking out files: 100% (5211/5211), done.
patching file input/input_driver.c
Hunk #1 succeeded at 411 (offset 31 lines).
Hunk #2 succeeded at 1120 with fuzz 1 (offset 59 lines).
patching file menu/widgets/menu_entry.c
patching file input/drivers_joypad/udev_joypad.c
~/RetroPie-Setup
~/RetroPie-Setup/tmp/build/retroarch ~/RetroPie-Setup

= = = = = = = = = = = = = = = = = = = = =
Building 'retroarch' : RetroArch - frontend to the libretro emulator cores - required by all lr-* emulators
= = = = = = = = = = = = = = = = = = = = =

Checking operating system ... Linux (Ubuntu 18.04.1 LTS 18.04)
Checking for suitable working C compiler ... /usr/bin/gcc works
Checking for suitable working C++ compiler ... /usr/bin/g++ works
Checking for pkg-config ... /usr/bin/pkg-config
Checking for availability of switch -std=gnu99 in /usr/bin/gcc ... yes
Checking for availability of switch -Wno-unused-result in /usr/bin/gcc ... yes
Checking for availability of switch -Wno-unused-variable in /usr/bin/gcc ... yes
Checking function sd_get_machine_names in -lsystemd ... no
Checking presence of package bcm_host ... no
Checking function bcm_host_init in -lbcm_host ... no
Checking presence of package egl ... no
Checking existence of -lEGL ... yes
Checking function ass_library_init in -lass ... no
Checking function pthread_create in -lpthread ... yes
Checking function pthread_key_create in -lpthread ... yes
Checking function dlopen in -ldl ... yes
Checking function socket in -lc ... yes
Checking function getaddrinfo in -lc ... yes
Checking existence of -lminiupnpc ... no
Checking function fcntl in -lc ... yes
Checking function getopt_long in -lc ... yes
Checking presence of package alsa ... 1.1.3
Checking presence of package rsound >= 1.1 ... no
Checking presence of package libroar ... no
Checking presence of package sdl2 >= 2.0.0 ... no
Forced to build with package sdl2, but cannot locate. Exiting ...
Makefile:10: config.mk: No such file or directory
rm -rf obj-unix
rm -f retroarch
rm -f *.d
Makefile:10: config.mk: No such file or directory
config.mk is outdated or non-existing. Run ./configure again.
Makefile:182: recipe for target 'config.mk' failed
make: *** [config.mk] Error 1
~/RetroPie-Setup
Could not successfully build retroarch - RetroArch - frontend to the libretro emulator cores - required by all lr-* emulators (/home/pigaming/RetroPie-Setup/tmp/build/retroarch/retroarch not found).

Log ended at: Wed Aug 22 16:53:39 UTC 2018
Total running time: 0 hours, 0 mins, 53 secs
Technicalleigh commented 6 years ago

GPU driver was fbdev-mali. To clarify, I did not install libsdl2 from the repository -- my understanding is that it does not contain the code needed for the XU4's GPU, so it's necessary to use RetroPie's patched version. After running 'apt-get install libx11-dev libxcursor-dev libxext-dev libxi-dev libxinerama-dev libxrandr-dev libxss-dev libxxf86vm-dev', the setup script was able to build SDL2 and exit successfully.

Ultimately, I wasn't able to use it, though... Trying to start 'emulationstation', I got the dreaded "Error creating SDL window! Could not initialize EGL." I gave up and installed the Odroid Retro Arena image on another SD card. (I still have the broken install on a separate SD card if there's anything devs would like me to check for them.)

blisstik commented 6 years ago

Awesome. Same here. I'm using the ORA 1.1. I was hoping to create my own image based on official repo.

techiejon commented 6 years ago

Same issue here, latest 18.04 image from oDroid, and latest build from github for retropi. I see comments to this on other sites going 6 months back? seems as though it is missing needed files.

quartist commented 6 years ago

Hi,

fresh install on kernel 4.14.5-92 lvl10 Error creating SDL window! Could not initialize EGL

how to correct install (compile) sdl2 on odroid xu4?

bs2kbs2k commented 5 years ago

I installed Xorg and libsdl2-dev before installing and it WORKED! --edit--- The ES RAN without any error

teras commented 5 years ago

Same problem with me. With odroid C2.

Any updates on this issue?

blisstik commented 5 years ago

On XU4, if you are on kernel 3.10, use this

make clean platform=odroid BOARD="ODROID-XU3" ARCH=arm make

teras commented 5 years ago

On XU4, if you are on kernel 3.10, use this

Is there any similar command for C2?

quartist commented 5 years ago

On XU4, if you are on kernel 3.10, use this make clean platform=odroid BOARD="ODROID-XU3" ARCH=arm make

ok. When I use 4.14.5 ?

joolswills commented 5 years ago

Sorry for the delay on this. I believe the problem may be resolved. Some changes related to vero4k changed the dependencies and it actually broke source builds for the RPI too. Only noticed just now as working on SDL 2.0.9

mseidl commented 5 years ago

root@odroid:~# apt install libglvnd-dev libegl1 libgles1 libgles2 mali-fbdev Reading package lists... Done Building dependency tree Reading state information... Done mali-fbdev is already the newest version (0.1-1). Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation:

The following packages have unmet dependencies: mali-fbdev : Conflicts: libegl1 Conflicts: libgles1 Conflicts: libgles2 E: Unable to correct problems, you have held broken packages.

I end up with requirements for both mali-fbdev and the libgle packages which conflict with each other.

I made a pr for odroid n2 support, but it but I have a conflics too with the mali-fbdev too.