Retroarch no longer builds successfully during update (Ubuntu 18.04.3)
-
Here is the libsdl2-dev output for 'apt show':
pi@retropie-pc:~$ apt show libsdl2-dev Package: libsdl2-dev Version: 2.0.8+dfsg1-1ubuntu1.18.04.4 Priority: optional Section: universe/libdevel Source: libsdl2 Origin: Ubuntu Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Original-Maintainer: Debian SDL packages maintainers <pkg-sdl-maintainers@lists.alioth.debian.org> Bugs: https://bugs.launchpad.net/ubuntu/+filebug Installed-Size: 4,321 kB Depends: libasound2-dev, libdbus-1-dev, libegl1-mesa-dev, libgl1-mesa-dev, libgles2-mesa-dev, libglu1-mesa-dev, libibus-1.0-dev, libmirclient-dev, libpulse-dev, libsdl2-2.0-0 (= 2.0.8+dfsg1-1ubuntu1.18.04.4), libsndio-dev, libudev-dev, libwayland-dev, libx11-dev, libxcursor-dev, libxext-dev, libxi-dev, libxinerama-dev, libxkbcommon-dev, libxrandr-dev, libxss-dev, libxt-dev, libxv-dev, libxxf86vm-dev Conflicts: libsdl-1.3-dev Replaces: libsdl-1.3-dev Homepage: https://www.libsdl.org/ Supported: 3y Download-Size: 683 kB APT-Sources: http://archive.ubuntu.com/ubuntu bionic-security/universe amd64 Packages Description: Simple DirectMedia Layer development files SDL is a library that allows programs portable low level access to a video framebuffer, audio output, mouse, and keyboard. . This package contains the files needed to compile and link programs which use SDL. N: There are 2 additional records. Please use the '-a' switch to see them.
When I first installed this Ubuntu/Retropie instance, I guess SDL was installed custom at the time. Would that explain why it is held back when updating? Should I run a sudo apt-get dist-upgrade to update them?
I noticed on the sdl2.sh script that the version installed is now 2.0.10, maybe this is irrelevant and i'm barking up the wrong tree there. Just to confirm, on x86 machines does that script no longer do anything if it isn't custom installed on 18.04?
I found on the forum that Jools suggested you can reinstall SDL from source by using sudo ./retropie_packages.sh sdl2 - however it sounds like from what you are saying it isn't valid on Ubuntu 18.04 as the standard version is used.
-
@mitu said in Retroarch no longer builds successfully during update (Ubuntu 18.04.3):
Try un-blocking the
sdl2
upgrade, see if they upgrade and check if you don't have a different (than the distro one) version oflibsdl2-dev
.Ah, sorry I have just seen this after posting a reply.
I will unblock SDL2 now and see what happens...
-
Sorry, had to go away and look up unholding commands for apt.... libdsl2-dev was indeed on hold.
I unheld that package, did a full apt update/upgrade, it updated those packages and installed some more dependencies. I then tried to reinstall RA again, and it worked! Thanks a lot!
So it looks like when I first installed Retropie on this box, SDL was custom installed with Ubuntu, and as a result updates to the package were held back. It was like this ever since I started messing with Retropie in Ubuntu. But when that changed so it was no longer custom installed, my packages remained held back I guess, causing this problem?
When I run apt-show with '-a', I now have one less entry than before. The 2.0.8+1 entry has gone since updating (which I think is what used to be installed by Retropie).
Just to ask, if you run:
apt show libsdl2-2.0.0 -a
Do you have two entries? I have two packages for libsdl2-2.0.0, one is version '2.0.8+dfsg1-1ubuntu1.18.04.4' and the other is '2.0.8+dfsg1-1ubuntu1'.
The same applies when I run 'apt show libsdl2-dev -a'.
Should I not just have one package for each?
In case you are interested, here is the output from my console in terms of unholding the package:
The following packages have been kept back: libsdl2-2.0-0 libsdl2-dev 0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded. pi@retropie-pc:~$ apt-mark showhold libsdl2-dev pi@retropie-pc:~$ sudo apt-mark unhold libsdl2-dev Canceled hold on libsdl2-dev. pi@retropie-pc:~$ sudo apt update Hit:1 http://ppa.launchpad.net/fengestad/stable/ubuntu bionic InRelease Hit:2 http://archive.ubuntu.com/ubuntu bionic InRelease Get:3 http://archive.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB] Hit:4 http://ppa.launchpad.net/ubuntu-x-swat/updates/ubuntu bionic InRelease Get:5 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB] Fetched 177 kB in 1s (308 kB/s) Reading package lists... Done Building dependency tree Reading state information... Done 2 packages can be upgraded. Run 'apt list --upgradable' to see them. pi@retropie-pc:~$ sudo apt upgrade Reading package lists... Done Building dependency tree Reading state information... Done Calculating upgrade... Done The following NEW packages will be installed: libcapnp-0.6.1 libmirclient-dev libmirclient9 libmircommon-dev libmircommon7 libmircookie-dev libmircookie2 libmircore-dev libmirco libmirprotobuf3 libprotobuf-dev libprotobuf10 libsndio-dev libxv-dev The following packages will be upgraded: libsdl2-2.0-0 libsdl2-dev 2 upgraded, 14 newly installed, 0 to remove and 0 not upgraded. Need to get 3,913 kB of archives. After this operation, 15.6 MB of additional disk space will be used. Do you want to continue? [Y/n] Y Get:1 http://archive.ubuntu.com/ubuntu bionic/main amd64 libcapnp-0.6.1 amd64 0.6.1-1ubuntu1 [658 kB] Get:2 http://archive.ubuntu.com/ubuntu bionic/main amd64 libmircore1 amd64 0.31.1-0ubuntu1 [26.5 kB] Get:3 http://archive.ubuntu.com/ubuntu bionic/main amd64 libmircommon7 amd64 0.31.1-0ubuntu1 [73.9 kB] Get:4 http://archive.ubuntu.com/ubuntu bionic/main amd64 libmirprotobuf3 amd64 0.31.1-0ubuntu1 [127 kB] Get:5 http://archive.ubuntu.com/ubuntu bionic/main amd64 libmirclient9 amd64 0.31.1-0ubuntu1 [199 kB] Get:6 http://archive.ubuntu.com/ubuntu bionic/main amd64 libmircore-dev amd64 0.31.1-0ubuntu1 [21.7 kB] Get:7 http://archive.ubuntu.com/ubuntu bionic/main amd64 libprotobuf10 amd64 3.0.0-9.1ubuntu1 [651 kB] Get:8 http://archive.ubuntu.com/ubuntu bionic/main amd64 libprotobuf-dev amd64 3.0.0-9.1ubuntu1 [959 kB] Get:9 http://archive.ubuntu.com/ubuntu bionic/main amd64 libmircommon-dev amd64 0.31.1-0ubuntu1 [13.9 kB] Get:10 http://archive.ubuntu.com/ubuntu bionic/main amd64 libmircookie2 amd64 0.31.1-0ubuntu1 [19.7 kB] Get:11 http://archive.ubuntu.com/ubuntu bionic/main amd64 libmircookie-dev amd64 0.31.1-0ubuntu1 [4,392 B] Get:12 http://archive.ubuntu.com/ubuntu bionic/main amd64 libmirclient-dev amd64 0.31.1-0ubuntu1 [47.8 kB] Get:13 http://archive.ubuntu.com/ubuntu bionic/universe amd64 libsndio-dev amd64 1.1.0-3 [13.3 kB] Get:14 http://archive.ubuntu.com/ubuntu bionic/main amd64 libxv-dev amd64 2:1.0.11-1 [32.5 kB] Get:15 http://archive.ubuntu.com/ubuntu bionic-security/universe amd64 libsdl2-dev amd64 2.0.8+dfsg1-1ubuntu1.18.04.4 [683 kB] Get:16 http://archive.ubuntu.com/ubuntu bionic-security/universe amd64 libsdl2-2.0-0 amd64 2.0.8+dfsg1-1ubuntu1.18.04.4 [382 kB] Fetched 3,913 kB in 0s (8,131 kB/s) Selecting previously unselected package libcapnp-0.6.1:amd64. (Reading database ... 165280 files and directories currently installed.) Preparing to unpack .../00-libcapnp-0.6.1_0.6.1-1ubuntu1_amd64.deb ... Unpacking libcapnp-0.6.1:amd64 (0.6.1-1ubuntu1) ... Selecting previously unselected package libmircore1:amd64. Preparing to unpack .../01-libmircore1_0.31.1-0ubuntu1_amd64.deb ... Unpacking libmircore1:amd64 (0.31.1-0ubuntu1) ... Selecting previously unselected package libmircommon7:amd64. Preparing to unpack .../02-libmircommon7_0.31.1-0ubuntu1_amd64.deb ... Unpacking libmircommon7:amd64 (0.31.1-0ubuntu1) ... Selecting previously unselected package libmirprotobuf3:amd64. Preparing to unpack .../03-libmirprotobuf3_0.31.1-0ubuntu1_amd64.deb ... Unpacking libmirprotobuf3:amd64 (0.31.1-0ubuntu1) ... Selecting previously unselected package libmirclient9:amd64. Preparing to unpack .../04-libmirclient9_0.31.1-0ubuntu1_amd64.deb ... Unpacking libmirclient9:amd64 (0.31.1-0ubuntu1) ... Selecting previously unselected package libmircore-dev:amd64. Preparing to unpack .../05-libmircore-dev_0.31.1-0ubuntu1_amd64.deb ... Unpacking libmircore-dev:amd64 (0.31.1-0ubuntu1) ... Selecting previously unselected package libprotobuf10:amd64. Preparing to unpack .../06-libprotobuf10_3.0.0-9.1ubuntu1_amd64.deb ... Unpacking libprotobuf10:amd64 (3.0.0-9.1ubuntu1) ... Selecting previously unselected package libprotobuf-dev:amd64. Preparing to unpack .../07-libprotobuf-dev_3.0.0-9.1ubuntu1_amd64.deb ... Unpacking libprotobuf-dev:amd64 (3.0.0-9.1ubuntu1) ... Selecting previously unselected package libmircommon-dev:amd64. Preparing to unpack .../08-libmircommon-dev_0.31.1-0ubuntu1_amd64.deb ... Unpacking libmircommon-dev:amd64 (0.31.1-0ubuntu1) ... Selecting previously unselected package libmircookie2:amd64. Preparing to unpack .../09-libmircookie2_0.31.1-0ubuntu1_amd64.deb ... Unpacking libmircookie2:amd64 (0.31.1-0ubuntu1) ... Selecting previously unselected package libmircookie-dev:amd64. Preparing to unpack .../10-libmircookie-dev_0.31.1-0ubuntu1_amd64.deb ... Unpacking libmircookie-dev:amd64 (0.31.1-0ubuntu1) ... Selecting previously unselected package libmirclient-dev:amd64. Preparing to unpack .../11-libmirclient-dev_0.31.1-0ubuntu1_amd64.deb ... Unpacking libmirclient-dev:amd64 (0.31.1-0ubuntu1) ... Selecting previously unselected package libsndio-dev:amd64. Preparing to unpack .../12-libsndio-dev_1.1.0-3_amd64.deb ... Unpacking libsndio-dev:amd64 (1.1.0-3) ... Selecting previously unselected package libxv-dev:amd64. Preparing to unpack .../13-libxv-dev_2%3a1.0.11-1_amd64.deb ... Unpacking libxv-dev:amd64 (2:1.0.11-1) ... Preparing to unpack .../14-libsdl2-dev_2.0.8+dfsg1-1ubuntu1.18.04.4_amd64.deb ... Unpacking libsdl2-dev:amd64 (2.0.8+dfsg1-1ubuntu1.18.04.4) over (2.0.8+1) ... Preparing to unpack .../15-libsdl2-2.0-0_2.0.8+dfsg1-1ubuntu1.18.04.4_amd64.deb ... Unpacking libsdl2-2.0-0:amd64 (2.0.8+dfsg1-1ubuntu1.18.04.4) over (2.0.8+1) ... Setting up libmircore-dev:amd64 (0.31.1-0ubuntu1) ... Setting up libmirprotobuf3:amd64 (0.31.1-0ubuntu1) ... Setting up libsndio-dev:amd64 (1.1.0-3) ... Setting up libprotobuf10:amd64 (3.0.0-9.1ubuntu1) ... Setting up libmircookie2:amd64 (0.31.1-0ubuntu1) ... Setting up libsdl2-2.0-0:amd64 (2.0.8+dfsg1-1ubuntu1.18.04.4) ... Setting up libxv-dev:amd64 (2:1.0.11-1) ... Setting up libcapnp-0.6.1:amd64 (0.6.1-1ubuntu1) ... Setting up libmircore1:amd64 (0.31.1-0ubuntu1) ... Setting up libprotobuf-dev:amd64 (3.0.0-9.1ubuntu1) ... Setting up libmircookie-dev:amd64 (0.31.1-0ubuntu1) ... Setting up libmircommon7:amd64 (0.31.1-0ubuntu1) ... Setting up libmirclient9:amd64 (0.31.1-0ubuntu1) ... Setting up libmircommon-dev:amd64 (0.31.1-0ubuntu1) ... Setting up libmirclient-dev:amd64 (0.31.1-0ubuntu1) ... Setting up libsdl2-dev:amd64 (2.0.8+dfsg1-1ubuntu1.18.04.4) ... Processing triggers for man-db (2.8.3-2ubuntu0.1) ... Processing triggers for libc-bin (2.27-3ubuntu1) ... pi@retropie-pc:~$ sudo apt update Hit:1 http://ppa.launchpad.net/fengestad/stable/ubuntu bionic InRelease Hit:2 http://archive.ubuntu.com/ubuntu bionic InRelease Hit:3 http://ppa.launchpad.net/ubuntu-x-swat/updates/ubuntu bionic InRelease Get:4 http://archive.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB] Get:5 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB] Fetched 177 kB in 1s (323 kB/s) Reading package lists... Done Building dependency tree Reading state information... Done All packages are up to date.
Thanks a lot!
-
@movisman said in Retroarch no longer builds successfully during update (Ubuntu 18.04.3):
Do you have two entries? I have two packages for libsdl2-2.0.0, one is version '2.0.8+dfsg1-1ubuntu1.18.04.4' and the other is '2.0.8+dfsg1-1ubuntu1'.
Yes, I have also 2 entries (unsurprisingly!). If you look carefully, one is from the main repository and one is from the updates repository, that's why there's 2 of them
apt show -a libsdl2-2.0-0 | grep -i APT [..] APT-Sources: http://de.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages APT-Sources: http://de.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
-
Maybe you disabled the custom sdl2 (used to be done for pcsx2 also. Check
/opt/retropie/configs/all/retropie.cfg
if you have anown_sdl2=0
or something -
@BuZz said in Retroarch no longer builds successfully during update (Ubuntu 18.04.3):
/opt/retropie/configs/all/retropie.cfg
Hi,
Hope you are good - no I never messed with changing sdl2 back to standard on this Ubuntu build. I don't use pcsx2 either but I remember when I played with this emulator a couple of years back you could disable custom SDL2. I don't have a retropie.cfg.
For whatever reason my libsdl2-dev package being held back seemed to be the cause of RA no longer building. I thought these were held back when Retropie used a custom SDL2, but Mitu said this is custom SDL2 is no longer used on Ubuntu. But whenever that change was made, my packages seemed to remain in a held state.
After unholding libsdl2-dev and doing a full update, Retroarch now builds without issue.
-
@mitu said in Retroarch no longer builds successfully during update (Ubuntu 18.04.3):
@movisman said in Retroarch no longer builds successfully during update (Ubuntu 18.04.3):
Do you have two entries? I have two packages for libsdl2-2.0.0, one is version '2.0.8+dfsg1-1ubuntu1.18.04.4' and the other is '2.0.8+dfsg1-1ubuntu1'.
Yes, I have also 2 entries (unsurprisingly!). If you look carefully, one is from the main repository and one is from the updates repository, that's why there's 2 of them
apt show -a libsdl2-2.0-0 | grep -i APT [..] APT-Sources: http://de.archive.ubuntu.com/ubuntu bionic-updates/universe amd64 Packages APT-Sources: http://de.archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
Cheers for clearing that up, I have this build nice and clean and didn't want any duplicate stuff installed. I now realise that this is just a list, displaying one entry from main and the other from updates.
Thanks!
-
So just to confirm, everything is working good now (thanks as always for the help), but to clarify about SDL2 - on Ubuntu Server 18.04.3, should this be using any sort of custom SDL by default, or was that since removed for this type of platform? Just to avoid any confusion on my part.
If it is not required, everything should be ok for me now since unholding that libsdl2-dev package and allowing it to update from the Ubuntu update repository. RA builds fine now since doing that. Before it looked like I was stuck on 2.0.8+1, which is what Retropie installed when I first installed this Ubuntu instance over a year ago.
Cheers!
-
@movisman it's normal that sdl2 is held. We do that in RetroPie to stop an os version overwriting. SDL should be updated when updating retropie and any package that uses sdl2 despite being held. So not sure why it didn't unless you only updated the script and no packages that used sdl2 after.
-
Ah right, so even for x86 on Ubuntu a custom SDL2 is still preferred / default?
The last time I did an update was September 2019 I think, and that would have included the script, all core packages, plus select emulators (I only installed what I needed when setting up originally), but this still includes the common Libretro ones, as well as a few experimental such as Amiga, Libretro GC/Saturn, etc.
The order I did things today was 1) update script, 2) then "all core packages", then 3) emulators one by one, then 4) other stuff like themes, drivers, etc. This has always worked previously.
When I was updating all the core packages today (after updating the script) I noticed a build error for Retroarch. Taking the libsdl2-dev package off hold and updating it resolved that issue.
What's the easiest way to go back to the custom SDL2 build (which looks like it should be 2.0.10 now looking at the sdl2.sh script?)
Thanks as always.
-
Hmm, i'm wondering if I do have any emulators installed which actually use SDL2. If this is the case, coupled with the fact I do not do a "full update", maybe means the SDL updating part was skipped? I don't know.
The reason I don't do a full update, is often I want to hold back one or two of the arcade emulators to avoid any potential romset breakage, as I only update my romsets once a year or so, at best.
Anyhow, I figured out the custom SDL2 install though via some posts on the forums, so I ran a ./retropie_packages.sh sdl2 and this installed 2.0.10, and also held back libsdl2-dev once again. It also freed up a load of dependencies too which I was able to safely remove.
Earlier in this thread though, @mitu mentioned that X11 was no longer targeted for custom SDL and provided this link:
https://github.com/RetroPie/RetroPie-Setup/pull/2696Hence why I thought custom SDL was not part of an Ubuntu / X11 instance anymore.
Anyway, to do some testing, after installing the custom SDL back on, I tried to update retroarch and it failed again during build, same error as before.
So I then ran ./retropie_packages.sh sdl2 revert - this then downgraded the packages back to standard.
I then tried to update retroarch again, and this time it worked.
So, for me, retroarch will only build when I have the standard SDL on the system, it does not work with the custom SDL on there. However it used to build fine without having to remove the custom SDL.
Any idea what might be going on?
-
-
Ah ha! No worries at all.
Maybe my issue stems from the fact that it used to be included, hence why I was held on 2.0.8+1 - but when it changed to no longer be included by default on x11, my package remained held with the custom SDL, which messes up the retroarch build. And it seems using the latest custom SDL Retroarch still doesn't build.
Is there any useful reason at this stage for me to use the custom SDL on x11 / Ubuntu install? Because if necessary, I can restore it now retroarch is up to date. However if you are not including it by default i'm wondering if I need to bother?
@mitu I know this is a retroarch bug, but do you think it is worth putting in a workaround (if you know of one) for those who run the custom SDL on x11, so that Retroarch still builds?
Cheers
-
@movisman said in Retroarch no longer builds successfully during update (Ubuntu 18.04.3):
@mitu I know this is a retroarch bug, but do you think it is worth putting in a workaround (if you know of one) for those who run the custom SDL on x11, so that Retroarch still builds?
At this point, I don't think it deserves a workaround. We'll see if it affects more people and then maybe include the RetroArch build patch.
-
Fair enough. I guess it's only likely to potentially affect people who had Retropie installed on x11 back when custom SDL was included by default. In this instance it seems the custom package stays on the system in the held state and will never go back to standard on its own, unless you unhold it yourself and let it update. That's what I found anyway. I guess this wouldn't affect loads of people but at least the fix is here on the forum if anyone comes across it.
Do you know what the custom SDL brings and is it useful to use on this platform type? I know you use standard but just wondering. My picade uses the custom SDL of course, as it's running on a Pi 3.
Thanks a lot.
-
@movisman said in Retroarch no longer builds successfully during update (Ubuntu 18.04.3):
Do you know what the custom SDL brings and is it useful to use on this platform type? I know you use standard but just wondering. My picade uses the custom SDL of course, as it's running on a Pi 3.
The custom build has a few patches related to joystick handling (fixing a crash and a regression), plus a few fixes and enhancements specific to the RPI, Mail GPUs and KMSDRM video driver. Apart from the joystick patches, there's nothing that would be of much importance when running on a PC/X11 environment.
You can see the additions at https://github.com/RetroPie/SDL-mirror/tree/retropie-2.0.10.
-
Thanks a lot for the info, I really appreciate it. And cheers for the help with working out the root cause of the build failure, again much appreciated.
I will stick to standard SDL for now then ,seeing as using custom will break subsequent Retroarch builds whenever I update.
Should I mention this on issue #9583 at the RA GitHub page, if it is technically a retroarch bug?
-
@movisman said in Retroarch no longer builds successfully during update (Ubuntu 18.04.3):
Should I mention this on issue #9583 at the RA GitHub page,
I don't think you have to, since the issue is already patched by one of the RetroArch's developers.
-
Ah gotcha, no worries at all. I see now that when you guys choose to go beyond 1.7.9, in theory it should be resolved. Will test again when RA is eventually bumped up to 1.8.2 or whatever.
Thanks a lot.
-
I'm having this same issue. For someone who is basically a n00b to linux systems, could someone please provide a succinct set of directions on how to fix this? I'm suddenly having update and power supply issues I can't figure out, despite all the helpful content out there. Would be much appreciated, by me and I'm sure many others.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.