RetroPie on Odroid XU4 fails to build KMSXX
-
You have not provided any info about your setup so I can't tell what OS and which version you're using, but the
meson
build tool is too old for thekmsxx
utility to be succesfully built.
Use a more recent OS (Ubuntu 22.04/Debian 12 Bookworm) and this error will go away. -
-
Yes, the Ubuntu release you're using is too old. Try with a more recent release from https://odroid.in/ubuntu_24.04lts/XU3_XU4_MC1_HC1_HC2/.
-
@mitu i updated to 24.04 and ran the same process to install retropie on the odroid but now it is failing to install emulationstation and some other emulators. I tried using 3 different sd cards.
does retropie only work with 18.04 on the odroid?
-
@retrodroid said in RetroPie on Odroid XU4 fails to build KMSXX:
I tried using 3 different sd cards.
I don't think the card is at fault.
does retropie only work with 18.04 on the odroid?
It used to, when the page was written/updated. It seems that at least
kmsxx
is not working anymore, but 18.04 is already out of support from Canonical/downstream and should not be used for new installation. Some emulators will also fail to build due to older versions of libraries/compilers - perhaps is time we deprecate it completely in RetroPie-Setup.I don't have an Odroid to test the 24.04 image (regular PC Ubuntu 24.04 dosen't have these issues) - if you can attach the compilation log(s) on pastebin.com we can try and fix it.
-
@mitu I tired to use pastebin but it says my log exceeds the limit. i think it is around 7mb.
I am trying 22.04 and see if it gives the same error
-
Just post the error part, not the entire install log. If you re-run the installation for indidual packages, they'll generate a separate file which you can use.
-
@mitu this part?
collect2: error: ld returned 1 exit status
make[2]: *** [es-app/CMakeFiles/emulationstation.dir/build.make:788: emulationstation] Error 1
make[2]: Leaving directory '/home/retrodroid/RetroPie-Setup/tmp/build/emulationstation'
make[1]: *** [CMakeFiles/Makefile2:248: es-app/CMakeFiles/emulationstation.dir/all] Error 2
make[1]: Leaving directory '/home/retrodroid/RetroPie-Setup/tmp/build/emulationstation'
make: *** [Makefile:156: all] Error 2
Removing additional swap
Could not successfully build emulationstation - EmulationStation - Frontend used by RetroPie for launching emulators (/home/retrodroid/RetroPie-Setup/tmp/build/emulationstation/emulationstation not found).
/home/retrodroid/RetroPie-Setup
Update is available - updating ... -
@retrodroid A bit more would be needed and please use pastebin.com.
-
-
Thanks, I see the error is coming from SDL'2 Mali driver:
.... /usr/bin/ld: /usr/lib/arm-linux-gnueabihf/libSDL2.so: undefined reference to `gbm_bo_get_width' /usr/bin/ld: /usr/lib/arm-linux-gnueabihf/libSDL2.so: undefined reference to `gbm_bo_set_user_data' /usr/bin/ld: /usr/lib/arm-linux-gnueabihf/libSDL2.so: undefined reference to `gbm_bo_get_height' /usr/bin/ld: /usr/lib/arm-linux-gnueabihf/libSDL2.so: undefined reference to `gbm_bo_destroy' /usr/bin/ld: /usr/lib/arm-linux-gnueabihf/libSDL2.so: undefined reference to `gbm_surface_destroy' /usr/bin/ld: /usr/lib/arm-linux-gnueabihf/libSDL2.so: undefined reference to `gbm_surface_lock_front_buffer' /usr/bin/ld: /usr/lib/arm-linux-gnueabihf/mali-egl/libgbm.so.1: undefined reference to `gbm_device_get_fd' /usr/bin/ld: /usr/lib/arm-linux-gnueabihf/libSDL2.so: undefined reference to `gbm_bo_write' /usr/bin/ld: /usr/lib/arm-linux-gnueabihf/libSDL2.so: undefined reference to `gbm_bo_get_stride' /usr/bin/ld: /usr/lib/arm-linux-gnueabihf/libSDL2.so: undefined reference to `gbm_bo_get_handle' /usr/bin/ld: /usr/lib/arm-linux-gnueabihf/libSDL2.so: undefined reference to `gbm_device_destroy' /usr/bin/ld: /usr/lib/arm-linux-gnueabihf/libSDL2.so: undefined reference to `gbm_create_device' /usr/bin/ld: /usr/lib/arm-linux-gnueabihf/libSDL2.so: undefined reference to `gbm_surface_release_buffer' /usr/bin/ld: /usr/lib/arm-linux-gnueabihf/libSDL2.so: undefined reference to `gbm_bo_get_user_data' /usr/bin/ld: /usr/lib/arm-linux-gnueabihf/libSDL2.so: undefined reference to `gbm_device_is_format_supported' /usr/bin/ld: /usr/lib/arm-linux-gnueabihf/libSDL2.so: undefined reference to `gbm_bo_get_device' /usr/bin/ld: /usr/lib/arm-linux-gnueabihf/libSDL2.so: undefined reference to `gbm_bo_get_format' collect2: error: ld returned 1 exit status ...
Sorry, but I don't know how that can be solved.
-
@mitu why would it work with 18.04? I wonder if I get the same error with 22.04.
-
@retrodroid said in RetroPie on Odroid XU4 fails to build KMSXX:
why would it work with 18.04? I
Maybe because some files/packages are present with certain paths, which are changed (or missing) in subsequent releases ?
-
@mitu interesting. Thank you for all your help. I will continue to look into this.
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.