RetroPie on Odroid XU4 fails to build KMSXX
-
I get the following message when running the basic install and have no clue what to do.
Any ideas?
-
Please add more info about your system, as requested in https://retropie.org.uk/forum/topic/3/read-this-first.
In
$HOME/Retropie-Setup/logs
you'll find the complete build logs, including the error. Re-run thekmsxx
/runcommand
installation and provide the log forkmsxx
build - use pastebin.com for the log file. The log file are compressed, but you can rungunzip <log-file>
to decompress them. -
@mitu = = = = = = = = = = = = = = = = = = = = =
Installing dependencies for 'kmsxx' : library and utilities for Linux kernel mode setting
= = = = = = = = = = = = = = = = = = = = =~/RetroPie-Setup/tmp/build/kmsxx ~/RetroPie-Setup
= = = = = = = = = = = = = = = = = = = = =
Getting sources for 'kmsxx' : library and utilities for Linux kernel mode setting
= = = = = = = = = = = = = = = = = = = = =Already on 'retropie'
Your branch is up to date with 'origin/retropie'.
Already up to date.
HEAD is now in branch 'retropie' at commit '4ff33a88cbb503cca80087fe934de17861d4b92a'
~/RetroPie-Setup
~/RetroPie-Setup/tmp/build/kmsxx ~/RetroPie-Setup= = = = = = = = = = = = = = = = = = = = =
Building 'kmsxx' : library and utilities for Linux kernel mode setting
= = = = = = = = = = = = = = = = = = = = =The Meson build system
Version: 0.45.1
Source dir: /home/retrodroid/RetroPie-Setup/tmp/build/kmsxx
Build dir: /home/retrodroid/RetroPie-Setup/tmp/build/kmsxx/build
Build type: native buildmeson.build:45:7: ERROR: lexer
summary({
^A full log can be found at /home/retrodroid/RetroPie-Setup/tmp/build/kmsxx/build/meson-logs/meson-log.txt
ninja: Entering directory `build'
ninja: error: loading 'build.ninja': No such file or directory
Could not successfully build kmsxx - library and utilities for Linux kernel mode setting (/home/retrodroid/RetroPie-Setup/tmp/build/kmsxx/build/utils/kmsprint-rp not found).
~/RetroPie-Setup
Update is available - updating ... -
@mitu said in RetroPie on Odroid XU4 fails to build KMSXX:
Re-run the kmsxx/runcommand installation
how do i Re-run the kmsxx/runcommand installation?
-
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.