Unable to compile Retroarch for Raspberry Pi 5
Is there an existing issue for this?
- [X] This is a bug in RetroArch frontend
- [X] I have searched the existing issues
Description
When I run the following commands I get errors:
./configure --enable-neon --enable-opengles --enable-opengles3 --disable-qt --disable-vulkan --disable-wayland --enable-sdl2 the error is Build assumed that __ARM_NEON__ is defined, but it's not. Exiting ...
If I remove --enable-neon the I can do make but I get the following error LD retroarch /usr/bin/ld: cannot find -lX11-xcb: No such file or directory collect2: error: ld returned 1 exit status make: *** [Makefile:204: retroarch] Error 1
Expected behavior
I am expecting for it to compile correctly
Steps to reproduce the bug
Use instructions from thelinuxcode.com to install retroarch on raspberry pi 5
Version/Commit
git newest ver
Bisect Results
not sure
Check in the nightly version
I don't know
Platform & operating system
Raspberry Pi 5
Affected Cores
All
Environment information
Gnome
Relevant log output
None
Works for me. Perhaps you have some mix of configure switches that are causing you grief? Here are mine:
make clean
CFLAGS='-O2 -march=armv8-a -mcpu=cortex-a72 -mtune=cortex-a72' \
CXXFLAGS="${CFLAGS}" \
./configure --prefix="${HOME}/.local" \
--disable-floathard --disable-neon --disable-rewind \
--disable-caca --disable-cheats --disable-langextra \
--disable-libusb --disable-parport --disable-roar --disable-winrawinput \
--disable-dispmanx --disable-opengl1 --disable-sdl \
--disable-jack --disable-mpv --disable-oss --disable-tinyalsa \
--disable-vg --disable-x11 --disable-xshm --disable-xvideo \
--disable-ffmpeg --disable-v4l2 --disable-videoprocessor \
--enable-cheevos --enable-command --enable-lua --enable-networking \
--enable-materialui --enable-ozone --enable-rgui --enable-xmb \
--enable-egl --enable-kms --enable-qt --enable-sixel --enable-wayland \
--enable-opengles --enable-opengles3 --enable-opengles3_1 --enable-opengles3_2 --ena
ble-opengl_core \
--enable-sdl2 --enable-vulkan --enable-vulkan_display \
--enable-alsa --enable-bluetooth --enable-crtswitchres --enable-pipewire --enable-pu
lse \
--enable-dbus --enable-hid --enable-libshake --enable-rpiled --enable-udev \
--enable-networkgamepad --enable-ssl --enable-systemd --enable-wifi \
--enable-thread_storage --enable-threads --enable-zlib \
|| exit
These may cause you some warnings or dependency errors if missing some development libs, i.e., libzip-dev and libzip4. I prefer to have sixel (for unit-testing only) so I need libsixel-dev installed here, else disable it.
The NEON part is only significant if you are building for 32-bit ARM, which is unlikely for RPi 5, but anyway you can enable it by prepending the .configure command with CFLAGS='-mfpu=neon' .
https://docs.libretro.com/guides/rpi/#configuration-options
For the other error, do you want to build for KMS mode (no desktop environment)? It will need some extra packages, I'd guess libxkbcommon-dev in this case, the link above has some details up to RPi 4, I don't think there are too many changes for Pi 5.
Thanks for the reply, I will try what you said.
On Sun, Dec 29, 2024 at 12:12 PM zoltanvb @.***> wrote:
The NEON part is only significant if you are building for 32-bit ARM, which is unlikely for RPi 5, but anyway you can enable it by prepending the .configure command with CFLAGS='-mfpu=neon' . https://docs.libretro.com/guides/rpi/#configuration-options
For the other error, do you want to build for KMS mode (no desktop environment)? It will need some extra packages, I'd guess libxkbcommon-dev in this case, the link above has some details up to RPi 4, I don't think there are too many changes for Pi 5.
— Reply to this email directly, view it on GitHub https://github.com/libretro/RetroArch/issues/17306#issuecomment-2564785316, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFBTOTDSGZJPAWJP2SR7P32IAUOHAVCNFSM6AAAAABUKXQC6WVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKNRUG44DKMZRGY . You are receiving this because you authored the thread.Message ID: @.***>
There may also be some flags you could find in the lakka build too https://github.com/libretro/Lakka-LibreELEC/