Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

Retroarch no longer builds successfully during update (Ubuntu 18.04.3)



  • Hi there,

    I was just doing a cursory update to my Retropie installation, which has been successful numerous times before. I think the last time I did an update across the board was around September 2019.

    I updated the setup script and chose to update my core applications. However Retroarch produces a build error. I have uploaded the full log for the attempted Retroarch install here:
    https://pastebin.com/Yr6UDL8D

    The main bit of interest is probably this:

    gfx/common/sdl2_common.c: In function ‘sdl2_set_handles’:
    gfx/common/sdl2_common.c:70:55: error: ‘union <anonymous>’ has no member named ‘wl’
              video_driver_display_set((uintptr_t)info.info.wl.display);
                                                           ^
    gfx/common/sdl2_common.c:71:54: error: ‘union <anonymous>’ has no member named ‘wl’
              video_driver_window_set((uintptr_t)info.info.wl.surface);
                                                          ^
    Makefile:211: recipe for target 'obj-unix/release/gfx/common/sdl2_common.o' failed
    make: *** [obj-unix/release/gfx/common/sdl2_common.o] Error 1
    make: *** Waiting for unfinished jobs....
    ~/RetroPie-Setup
    Could not successfully build retroarch - RetroArch - frontend to the libretro emulator cores - required by all lr-* emulators (/home/pi/RetroPie-Setup/tmp/build/retroarch/retroarch not found).
    

    Any ideas what might be going on here? This is just a standard update to 1.7.9.2 - I haven't changed the retroarch update script.

    Thanks!



  • I did spot this:
    https://github.com/libretro/RetroArch/issues/9583

    Similar error, but it looks like it was resolved here for the Retropie build:
    https://github.com/RetroPie/RetroPie-Setup/pull/2941

    But for me I still get the error.

    I will add that my build is based on Ubuntu Server 18.04.3, I accidentally missed off the server bit in the thread title.

    Thanks


  • Global Moderator

    @movisman said in Retroarch no longer builds successfully during update (Ubuntu 18.04.3):

    I did spot this:
    https://github.com/libretro/RetroArch/issues/9583

    Yes, that's the cause of the issue - it's a RetroArch bug.

    Similar error, but it looks like it was resolved here for the Retropie build:
    https://github.com/RetroPie/RetroPie-Setup/pull/2941

    It looks like it's not, since you cannot install it ?
    On non-X11 systems, the solution was to disable Wayland when building RetroArch, but on PC systems, that may be necessary - so it's left there.

    The strange thing is that I don't get this error and didn't happen during testing. What version of sdl2 do you have installed ? Can you run

    apt show libsdl2-2.0.0
    

    and post the output ?



  • Indeed, it absolutely refuses to build on this box, but was fine previously of course. Retroarch is still on 1.7.6 at the moment. I have updated all other packages with no issue.

    What version of sdl2 do you have installed ? Can you run

    apt show libsdl2-2.0.0
    

    and post the output ?

    Indeed I can - here you go:

    pi@retropie-pc:~$ apt show libsdl2-2.0.0
    Package: libsdl2-2.0-0
    Version: 2.0.8+dfsg1-1ubuntu1.18.04.4
    Priority: optional
    Section: universe/libs
    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: 1,292 kB
    Depends: libasound2 (>= 1.0.27), libc6 (>= 2.27), libpulse0 (>= 0.99.1), libsndio6.1 (>= 1.1.0), libwayland-client0 (>= 1.9.91), libwayland-cursor0 (>= 1.0.2), libwayland-egl1-mesa (>= 10.0.2) | libwayland-egl1, libx11-6 (>= 2:1.2.99.901), libxcursor1 (>> 1.1.2), libxext6, libxi6 (>= 2:1.2.99.4), libxinerama1, libxkbcommon0 (>= 0.5.0), libxrandr2 (>= 2:1.2.99.3), libxss1, libxxf86vm1
    Conflicts: libsdl-1.3-0
    Replaces: libsdl-1.3-0
    Homepage: https://www.libsdl.org/
    Task: kubuntu-desktop, kubuntu-full, lubuntu-gtk-desktop, lubuntu-desktop, lubuntu-qt-desktop, ubuntustudio-video, ubuntustudio-graphics, ubuntustudio-audio, ubuntukylin-desktop, ubuntu-budgie-desktop
    Supported: 3y
    Download-Size: 382 kB
    APT-Sources: http://archive.ubuntu.com/ubuntu bionic-security/universe amd64 Packages
    Description: Simple DirectMedia Layer
     SDL is a library that allows programs portable low level access to a video
     framebuffer, audio output, mouse, and keyboard.
     .
     This version of SDL is compiled with X11 and Wayland graphics drivers and OSS,
     ALSA, sndio and PulseAudio sound drivers.
    
    N: There are 2 additional records. Please use the '-a' switch to see them.
    

    I haven't messed with SDL so it should be on the 2.0.8 custom build, when I run apt update on this box the SDL packages are held back from updating. If I run an apt list --upgradable I get this:

    libsdl2-2.0-0/bionic-security,bionic-updates 2.0.8+dfsg1-1ubuntu1.18.04.4 amd64 [upgradable from: 2.0.8+1]
    libsdl2-dev/bionic-security,bionic-updates 2.0.8+dfsg1-1ubuntu1.18.04.4 amd64 [upgradable from: 2.0.8+1]
    

    Let me know what you think.

    Thanks!



  • When I run it with the '-a' switch, I get this additional information, possibly not of any use but here it is anyway:

    Package: libsdl2-2.0-0
    Version: 2.0.8+dfsg1-1ubuntu1
    Priority: optional
    Section: universe/libs
    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: 1,284 kB
    Depends: libasound2 (>= 1.0.27), libc6 (>= 2.27), libpulse0 (>= 0.99.1), libsndio6.1 (>= 1.1.0), libwayland-client0 (>= 1.9.91), libwayland-cursor0 (>= 1.0.2), libwayland-egl1-mesa (>= 10.0.2) | libwayland-egl1, libx11-6 (>= 2:1.2.99.901), libxcursor1 (>> 1.1.2), libxext6, libxi6 (>= 2:1.2.99.4), libxinerama1, libxkbcommon0 (>= 0.5.0), libxrandr2 (>= 2:1.2.99.3), libxss1, libxxf86vm1
    Conflicts: libsdl-1.3-0
    Replaces: libsdl-1.3-0
    Homepage: https://www.libsdl.org/
    Task: kubuntu-desktop, kubuntu-full, lubuntu-gtk-desktop, lubuntu-desktop, lubuntu-qt-desktop, ubuntustudio-video, ubuntustudio-graphics, ubuntustudio-audio, ubuntukylin-desktop, ubuntu-budgie-desktop
    Supported: 3y
    Download-Size: 378 kB
    APT-Sources: http://archive.ubuntu.com/ubuntu bionic/universe amd64 Packages
    Description: Simple DirectMedia Layer
     SDL is a library that allows programs portable low level access to a video
     framebuffer, audio output, mouse, and keyboard.
     .
     This version of SDL is compiled with X11 and Wayland graphics drivers and OSS,
     ALSA, sndio and PulseAudio sound drivers.
    
    Package: libsdl2-2.0-0
    Version: 2.0.8+1
    Status: install ok installed
    Priority: optional
    Section: libs
    Source: libsdl2
    Maintainer: Debian SDL packages maintainers <pkg-sdl-maintainers@lists.alioth.debian.org>
    Installed-Size: 1,182 kB
    Depends: libasound2 (>= 1.0.27), libc6 (>= 2.27), libpulse0 (>= 0.99.1), libsndio6.1 (>= 1.1.0), libx11-6 (>= 2:1.2.99.901), libxcursor1 (>> 1.1.2), libxext6, libxi6 (>= 2:1.2.99.4), libxinerama1, libxrandr2 (>= 2:1.2.99.3), libxss1, libxxf86vm1, libudev0 | libudev1, libdbus-1-3
    Conflicts: libsdl-1.3-0, libsdl2
    Replaces: libsdl-1.3-0, libsdl2
    Homepage: http://www.libsdl.org/
    Download-Size: unknown
    APT-Manual-Installed: yes
    APT-Sources: /var/lib/dpkg/status
    Description: Simple DirectMedia Layer
     SDL is a library that allows programs portable low level access to
     a video framebuffer, audio output, mouse, and keyboard.
     .
     This package contains the shared library, compiled with X11 graphics drivers and OSS, ALSA and PulseAudio sound drivers.
    
    
    

  • Global Moderator

    I have the exact sdl2 version installed. Maybe libsdl2-dev is different ?

    I haven't messed with SDL so it should be on the 2.0.8 custom build, when I run apt update on this box the SDL packages are held back from updating. If I run an apt list --upgradable I get this:
    [..]

    You have the distro version for the packages, just like I have. I don't have anything held, since sdl2 is no longer installed custom on Ubuntu 18.04 (see https://github.com/RetroPie/RetroPie-Setup/pull/2696).


  • Global Moderator

    Try un-blocking the sdl2 upgrade, see if they upgrade and check if you don't have a different (than the distro one) version of libsdl2-dev.



  • @mitu

    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 of libsdl2-dev.

    Ah, sorry I have just seen this after posting a reply.

    I will unblock SDL2 now and see what happens...



  • @mitu

    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!


  • Global Moderator

    @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
    

  • administrators

    Maybe you disabled the custom sdl2 (used to be done for pcsx2 also. Check /opt/retropie/configs/all/retropie.cfg if you have an own_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!



  • @BuZz @mitu

    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!


  • administrators

    @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.



  • @BuZz

    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.



  • @BuZz

    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/2696

    Hence 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?


  • administrators

    @movisman I forgot I disabled it by default :-)

    It doesn't work with the custom due to the bug @mitu mentioned - so maybe we can just enable his workaround/fix for x11 but it's a retroarch bug basically.



  • @BuZz

    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



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.