Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LG WebOS support? #139

Open
mephitrpg opened this issue Mar 21, 2024 · 34 comments
Open

LG WebOS support? #139

mephitrpg opened this issue Mar 21, 2024 · 34 comments

Comments

@mephitrpg
Copy link

mephitrpg commented Mar 21, 2024

Is LG WebOS support planned for Kodi Retro Player?

Thanks.

@garbear
Copy link
Owner

garbear commented Mar 21, 2024

I think webOS has no way to do binary add-ons, so until that's fixed, probably not. But I'm meeting with our webOS builder in Budapest this weekend, we'll discuss this.

@garbear
Copy link
Owner

garbear commented Mar 22, 2024

@sundermann

@sundermann
Copy link

sundermann commented Mar 23, 2024

At a first glance it seems that the kodi game binary addons are being built for the host platform instead of the target:

/home/stephan.linux/kodi-build/tools/webOS/packaging/addons/game.libretro.2048/game.libretro.2048.so: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=0dd0485d91e23abe98f32eef3c9d9bd82e248659, not stripped

Edit:
game.libretro compiles fine so it's probably just the infrastructure that's not set up to distribute and build binary addons for webOS.

@garbear
Copy link
Owner

garbear commented Aug 3, 2024

@sundermann Here's the script we use to build game add-ons: https://github.com/kodi-game/game.libretro.2048/blob/master/depends/common/2048/CMakeLists.txt

Looks like it needs a webos section, and it's maybe even the same as the linux section so the if statement just needs to be modified. Can you have a look?

@sundermann
Copy link

CORE_SYSTEM_NAME is linux for webOS which means it takes the same path as on normal linux systems. However, I wonder if cross compiling works for linux at all here

@garbear
Copy link
Owner

garbear commented Aug 4, 2024

Maybe it doesn't. I compile Win/osx/android for the mirrors, and build linux locally, and LibreELEC doesn't use those scripts. So it's probably missing the flags needed to cross compile. I'll see if I can get the right flags set so that we build arm64 cores

@marvin2k1
Copy link

Hi, i was unable to build xbmc-retroplayer in linux locally. I can build and install kodi main omega from source, but this version (latest release) fails. Not very sure where the problem is, on cmake build (x11,gl) there was an Error 2 (fot two times) on ffmpg ¿install step?

Install the project...
/usr/bin/cmake -P cmake_install.cmake
-- Install configuration: "Release"
Done
[ 4%] Completed 'ffmpeg'
[ 4%] Built target ffmpeg
gmake: *** [Makefile:146: all] Error 2

these dependencies where instaled first:
libpugixml-dev
libavformat-dev
libavcodec-dev
libavutil-dev
libdav1d-dev
ffmpeg -> V.7

any ideas

@garbear
Copy link
Owner

garbear commented Jan 9, 2025

Can you verify you're building the retroplayer-21.1-20250104 release? [ 4%] Built target ffmpeg says ffmpeg completes successfully. gmake: *** [Makefile:146: all] Error 2 says something else long before ffmpeg failed, but it's reported there becaues of parallel make.

I recommend you try cleaning the entire repo and trying again. My branch is effectively a fork from main Omega as different as v21 is from v22. Build with make -j1 to capture the build error. Then post the actual build error here and we'll get it fixed.

@marvin2k1
Copy link

Thank you, as usual i made make clean and delete all files in kodi-build dir. Yeah, im building the last release 20250104.

Maybe it can be dependencies problem?
This is the build error on console:
[ 5%] Completed 'libtorrent'
/usr/bin/cmake -E make_directory /home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/kodi-build/CMakeFiles
/usr/bin/cmake -E touch /home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/kodi-build/CMakeFiles/libtorrent-complete
/usr/bin/cmake -E touch /home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/kodi-build/build/libtorrent/src/libtorrent-stamp/libtorrent-done
gmake[2]: se sale del directorio '/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/kodi-build'
[ 5%] Built target libtorrent
/usr/bin/gmake -f CMakeFiles/compileinfo.dir/build.make CMakeFiles/compileinfo.dir/depend
gmake[2]: se entra en el directorio '/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/kodi-build'
[ 5%] Generating build/xbmc/CompileInfo.cpp
/usr/bin/cmake -DCORE_SOURCE_DIR=/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104 -DCORE_SYSTEM_NAME=linux -DCORE_PLATFORM_NAME_LC="x11" -DAUDIO_BACKENDS="alsa pulseaudio sndio alsa+pulseaudio" -DGL_INTERFACES="glx egl egl-pb" -DCORE_BUILD_DIR=build -DCMAKE_BINARY_DIR=/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/kodi-build -DARCH_DEFINES="-DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -DHAVE_SSE=1 -DHAVE_SSE2=1 -DHAVE_SSE3=1 -DHAVE_SSSE3=1 -DHAVE_SSE4_1=1" -DAPP_SCMID=20250111-nogitfound -DAPP_COPYRIGHT_YEARS=2005-2021 -DAPP_BUILD_DATE=20250111 -DAPP_SHARED_LIBRARY_SUFFIX=".so" -DPYTHON_VERSION=3.10 -Dprefix=/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/kodi-build/build -DKODI_WEBSERVER_EXTRA_WHITELIST="" -P /home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/cmake/scripts/common/GenerateCompileInfo.cmake
cd /home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/kodi-build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104 /home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104 /home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/kodi-build /home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/kodi-build /home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/kodi-build/CMakeFiles/compileinfo.dir/DependInfo.cmake --color=
gmake[2]: se sale del directorio '/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/kodi-build'
/usr/bin/gmake -f CMakeFiles/compileinfo.dir/build.make CMakeFiles/compileinfo.dir/build
gmake[2]: se entra en el directorio '/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/kodi-build'
[ 5%] Building CXX object CMakeFiles/compileinfo.dir/build/xbmc/CompileInfo.cpp.o
/usr/bin/c++ -DFMT_LOCALE -DFMT_SHARED -I/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104 -I/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/lib -I/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/xbmc -I/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/xbmc/platform/linux -I/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/xbmc/cores/VideoPlayer -I/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/kodi-build/build -I/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/kodi-build/build/include -I/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/xbmc/platform/posix -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wnon-virtual-dtor -O3 -DNDEBUG -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -DHAVE_SSE=1 -DHAVE_SSE2=1 -DHAVE_SSE3=1 -DHAVE_SSSE3=1 -DHAVE_SSE4_1=1 -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++20 -MD -MT CMakeFiles/compileinfo.dir/build/xbmc/CompileInfo.cpp.o -MF CMakeFiles/compileinfo.dir/build/xbmc/CompileInfo.cpp.o.d -o CMakeFiles/compileinfo.dir/build/xbmc/CompileInfo.cpp.o -c /home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/kodi-build/build/xbmc/CompileInfo.cpp
In file included from /home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/kodi-build/build/xbmc/CompileInfo.cpp:11:
/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/xbmc/utils/StringUtils.h: In function ‘constexpr decltype(auto) KODI::UTILS::EnumToInt(T&&)’:
/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/xbmc/utils/StringUtils.h:69:15: error: ‘underlying’ is not a member of ‘fmt’
69 | return fmt::underlying(std::forward(arg));
| ^~~~~~~~~~
gmake[2]: *** [CMakeFiles/compileinfo.dir/build.make:81: CMakeFiles/compileinfo.dir/build/xbmc/CompileInfo.cpp.o] Error 1
gmake[2]: se sale del directorio '/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/kodi-build'
gmake[1]: *** [CMakeFiles/Makefile2:5350: CMakeFiles/compileinfo.dir/all] Error 2
gmake[1]: se sale del directorio '/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/kodi-build'
gmake: *** [Makefile:146: all] Error 2

@garbear
Copy link
Owner

garbear commented Jan 11, 2025

Yup, dependency problem. xbmc#25292 will probably fix it. Can you try rebasing on my current retroplayer-21.1 branch?

@marvin2k1
Copy link

marvin2k1 commented Jan 11, 2025 via email

@garbear
Copy link
Owner

garbear commented Jan 11, 2025

Yes, though my "master" is named "retroplayer-21.1". Goto my repo and click "Commits". You'll see in the dropdown menu retroplayer-21.1, this is the "default branch". When I do a new release, it creates a tag based on the tip of that branch.

Note, however, that I rebase and force-push my default branch frequency. I make tags so that you can develop against my retroplayer-21.1 branch frozen in time without worrying about force-pushes.

@garbear
Copy link
Owner

garbear commented Jan 11, 2025

Note that I had to clean and build from scratch after cherry-picking xbmc#25292, otherwise i got fmt::v9 link errors.

@marvin2k1
Copy link

Ok, i will do it,

i now reinstall and clean dependencies, to make sure that not was my local problem. But again, the problem looks like the same:
gmake[2]: *** [CMakeFiles/kodi.dir/build.make:567: kodi-x11] Error 1
gmake[2]: se sale del directorio '/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/kodi-build'
gmake[1]: *** [CMakeFiles/Makefile2:5865: CMakeFiles/kodi.dir/all] Error 2
gmake[1]: se sale del directorio '/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/kodi-build'
gmake: *** [Makefile:146: all] Error 2

When i try with the default brach i will post the result.
Thank you for your support @garbear :))

@marvin2k1
Copy link

Update info:
I now try to buid kodi Omega from source and i have the same problem. It can be something locale?
d::id const&, fmt::v9::detail::locale_ref): error: referencia sin definir al «std::locale fmt::v9::detail::locale_ref::getstd::locale() const»
collect2: error: ld returned 1 exit status
gmake[2]: *** [CMakeFiles/kodi.dir/build.make:551: kodi-x11] Error 1
gmake[2]: se sale del directorio '/home/kodi/Kodi-build/Omega/xbmc-Omega/kodi-build'
gmake[1]: *** [CMakeFiles/Makefile2:5408: CMakeFiles/kodi.dir/all] Error 2
gmake[1]: se sale del directorio '/home/kodi/Kodi-build/Omega/xbmc-Omega/kodi-build'
gmake: *** [Makefile:146: all] Error 2

@garbear
Copy link
Owner

garbear commented Jan 12, 2025

That's the "fmt::v9 link errors" I mentioned. Omega builds ilbfmt v9. My branch and Piers build libfmt v10. If you switch branches, clear all build files and build from scratch. That should fix the fmt::v9 link errors.

@marvin2k1
Copy link

Hello, After refresh dependencies and clean a bit linux, i build again Kodi main Omega branch successful. Release have a download problem. Then i try build from new copy master Retroplayer 21.1. I found a problem with ffmpeg, There is a problem with versions since 5-6-7 are still unestable and when you install from ppa you have V4.I have made a lot of test but at the end of the day (-DENABLE_INTERNAL_FFMPEG=ON also didnt work) i was unable to build it. Here the log master:

Install the project...
/usr/bin/cmake -P cmake_install.cmake
-- Install configuration: "Release"
Done
gmake[3]: se sale del directorio '/home/kodi/Kodi-build/otro-test/xbmc-retroplayer-21.1/kodi-build/build/ffmpeg/src/ffmpeg-build'
cd /home/kodi/Kodi-build/otro-test/xbmc-retroplayer-21.1/kodi-build/build/ffmpeg/src/ffmpeg-build && /usr/bin/cmake -E touch /home/kodi/Kodi-build/otro-test/xbmc-retroplayer-21.1/kodi-build/build/ffmpeg/src/ffmpeg-stamp/ffmpeg-install
[ 4%] Completed 'ffmpeg'
/usr/bin/cmake -E make_directory /home/kodi/Kodi-build/otro-test/xbmc-retroplayer-21.1/kodi-build/CMakeFiles
/usr/bin/cmake -E touch /home/kodi/Kodi-build/otro-test/xbmc-retroplayer-21.1/kodi-build/CMakeFiles/ffmpeg-complete
/usr/bin/cmake -E touch /home/kodi/Kodi-build/otro-test/xbmc-retroplayer-21.1/kodi-build/build/ffmpeg/src/ffmpeg-stamp/ffmpeg-done
gmake[2]: se sale del directorio '/home/kodi/Kodi-build/otro-test/xbmc-retroplayer-21.1/kodi-build'
[ 4%] Built target ffmpeg
gmake[1]: se sale del directorio '/home/kodi/Kodi-build/otro-test/xbmc-retroplayer-21.1/kodi-build'
gmake: *** [Makefile:146: all] Error 2

And the log from Release:
-- Using src='https://github.com/paullouisageneau/libdatachannel/archive/refs/tags/v0.22.3.tar.gz'
-- verifying file...
file='/home/kodi/Kodi-build/otro-test/xbmc-retroplayer-21.1-20250104/kodi-build/build/download/v0.22.3.tar.gz'
-- SHA512 hash of
/home/kodi/Kodi-build/otro-test/xbmc-retroplayer-21.1-20250104/kodi-build/build/download/v0.22.3.tar.gz
does not match expected value
expected: '1b7cd19301bd921172a852439f969254abdea0a65a1354de85820f266bde37c92278f9349d7708e14531fe7f3390015e97336abbe2e2c5ceb37f724e2c644b28'
actual: 'a4b5fc2d29b8145bfe1cbb3491e9fed794d108b2379827e41a0a2a7e10238296b6a3a362af8e1abc3f5eb4dc834a0cc08029e4511c7c633a71245a3b82630223'
-- Hash mismatch, removing...

@garbear
Copy link
Owner

garbear commented Jan 15, 2025

Thanks for running into that. The fix was missing from my latest branch for a few hours. Sorry, but like I said I force-push my master regularly and it's not guaranteed to work. For a guarantee, build a tag. I create a new one for you based on today's release. The tag is retroplayer-21.1-20250114:

git fetch -a
git reset --hard retroplayer-21.1-20250114

Hard reset, clean everything, build completely from scratch. Uninstall anything you got from a ppa, those can break the build.

@marvin2k1
Copy link

Sorry but same results like with retroplayer-21.1-20250114 (i have use both with
-DENABLE_INTERNAL_FFMPEG=ON and without). I can wait to piers stable to try again, it was only a test to see improvements over Retroplayer21.1 in front of kodi21.

[100%] Built target ffmpeg
gmake[4]: se sale del directorio '/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250114/kodi-build/build/ffmpeg/src/ffmpeg-build'
/usr/bin/cmake -E cmake_progress_start /home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250114/kodi-build/build/ffmpeg/src/ffmpeg-build/CMakeFiles 0
/usr/bin/gmake -f CMakeFiles/Makefile2 preinstall
gmake[4]: se entra en el directorio '/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250114/kodi-build/build/ffmpeg/src/ffmpeg-build'
gmake[4]: No se hace nada para 'preinstall'.
gmake[4]: se sale del directorio '/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250114/kodi-build/build/ffmpeg/src/ffmpeg-build'
Install the project...
/usr/bin/cmake -P cmake_install.cmake
-- Install configuration: "Release"
Done
gmake[3]: se sale del directorio '/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250114/kodi-build/build/ffmpeg/src/ffmpeg-build'
cd /home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250114/kodi-build/build/ffmpeg/src/ffmpeg-build && /usr/bin/cmake -E touch /home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250114/kodi-build/build/ffmpeg/src/ffmpeg-stamp/ffmpeg-install
[ 6%] Completed 'ffmpeg'
/usr/bin/cmake -E make_directory /home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250114/kodi-build/CMakeFiles
/usr/bin/cmake -E touch /home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250114/kodi-build/CMakeFiles/ffmpeg-complete
/usr/bin/cmake -E touch /home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250114/kodi-build/build/ffmpeg/src/ffmpeg-stamp/ffmpeg-done
gmake[2]: se sale del directorio '/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250114/kodi-build'
[ 6%] Built target ffmpeg
gmake[1]: se sale del directorio '/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250114/kodi-build'
gmake: *** [Makefile:146: all] Error 2

@garbear
Copy link
Owner

garbear commented Jan 15, 2025

Are you building with parallel make? Your error happened long before the last submake finished. I can't help without an error message, so maybe upload your whole log to a paste site?

@marvin2k1
Copy link

marvin2k1 commented Jan 15, 2025 via email

@garbear
Copy link
Owner

garbear commented Jan 16, 2025

Yes, -j1 should catch your error.

@marvin2k1
Copy link

ha! it,s again the fmt error, the libfmt-dev library was deleted, cleaned and intalled again days before.

[ 7%] Building CXX object CMakeFiles/compileinfo.dir/build/xbmc/CompileInfo.cpp.o
/usr/bin/c++ -DFMT_LOCALE -DFMT_SHARED -I/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250114 -I/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250114/lib -I/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250114/xbmc -I/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250114/xbmc/platform/linux -I/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250114/xbmc/cores/VideoPlayer -I/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250114/kodi-build/build -I/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250114/kodi-build/build/include -I/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250114/xbmc/platform/posix -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wnon-virtual-dtor -O3 -DNDEBUG -D__STDC_CONSTANT_MACROS -D_FILE_OFFSET_BITS=64 -DHAS_POSIX_NETWORK -DHAS_LINUX_NETWORK -DHAS_BUILTIN_SYNC_ADD_AND_FETCH=1 -DHAS_BUILTIN_SYNC_SUB_AND_FETCH=1 -DHAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP=1 -DHAVE_INOTIFY=1 -DHAVE_POSIX_FADVISE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_GMTIME_R=1 -DHAVE_INTTYPES_H=1 -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE -DHAVE_LINUX_UDMABUF=1 -DHAVE_LINUX_DMA_HEAP=1 -DHAVE_LINUX_DMA_BUF=1 -DHAVE_MKOSTEMP=1 -DHAVE_LINUX_MEMFD=1 -DHAVE_STATX=1 -DHAVE_SSE=1 -DHAVE_SSE2=1 -DHAVE_SSE3=1 -DHAVE_SSSE3=1 -DHAVE_SSE4_1=1 -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++20 -MD -MT CMakeFiles/compileinfo.dir/build/xbmc/CompileInfo.cpp.o -MF CMakeFiles/compileinfo.dir/build/xbmc/CompileInfo.cpp.o.d -o CMakeFiles/compileinfo.dir/build/xbmc/CompileInfo.cpp.o -c /home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250114/kodi-build/build/xbmc/CompileInfo.cpp
In file included from /home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250114/kodi-build/build/xbmc/CompileInfo.cpp:11:
/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250114/xbmc/utils/StringUtils.h: In function ‘constexpr decltype(auto) KODI::UTILS::EnumToInt(T&&)’:
/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250114/xbmc/utils/StringUtils.h:69:15: error: ‘underlying’ is not a member of ‘fmt’
69 | return fmt::underlying(std::forward(arg));
| ^~~~~~~~~~
gmake[2]: *** [CMakeFiles/compileinfo.dir/build.make:81: CMakeFiles/compileinfo.dir/build/xbmc/CompileInfo.cpp.o] Error 1
gmake[2]: se sale del directorio '/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250114/kodi-build'
gmake[1]: *** [CMakeFiles/Makefile2:5332: CMakeFiles/compileinfo.dir/all] Error 2
gmake[1]: se sale del directorio '/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250114/kodi-build'
gmake: *** [Makefile:146: all] Error 2

@garbear
Copy link
Owner

garbear commented Jan 17, 2025

the libfmt-dev library was deleted, cleaned and intalled again days before.

Try this, clear everything related to fmt, uninstall everything related to fmt, even system libraries. Then build with cmake options:

-DENABLE_INTERNAL_FMT=ON

We have switches for "internal depends" in case providing them is challenging (like in your scenario).

@marvin2k1
Copy link

again download problem
Using src='https://github.com/paullouisageneau/libdatachannel/archive/refs/tags/v0.22.4.tar.gz'

CMake Error at libdatachannel-stamp/download-libdatachannel.cmake:170 (message):
Each download failed!

error: downloading 'https://github.com/paullouisageneau/libdatachannel/archive/refs/tags/v0.22.4.tar.gz' failed
      status_code: 92
      status_string: "Stream error in the HTTP/2 framing layer"
      log:

@garbear
Copy link
Owner

garbear commented Jan 19, 2025

Weird, the link works for me. Possibly network issues on your end. Test with manual download:

curl -L -o v0.22.4.tar.gz https://github.com/paullouisageneau/libdatachannel/archive/refs/tags/v0.22.4.tar.gz

or

wget https://github.com/paullouisageneau/libdatachannel/archive/refs/tags/v0.22.4.tar.gz

Sometimes HTTP/2 can fail. Try with HTTP/1.1:

curl --http1.1 -L -o v0.22.4.tar.gz https://github.com/paullouisageneau/libdatachannel/archive/refs/tags/v0.22.4.tar.gz

Maybe update cmake. CMake uses its own file(DOWNLOAD ...) function. Update CMake to the latest version to ensure compatibility with HTTP/2.

If all else fails, download the file and point the source to your local path, e.g. /path/to/downloaded/v0.22.4.tar.gz.

@garbear
Copy link
Owner

garbear commented Jan 19, 2025

Do you use ChatGPT? The largest model, 4o, is really good at fixing errors like this (my suggestions were all generated)

@marvin2k1
Copy link

Release version also has the same problem:

-- Hash mismatch, removing...
-- Using src='https://github.com/paullouisageneau/libdatachannel/archive/refs/tags/v0.22.3.tar.gz'
-- verifying file...
file='/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/kodi-build/build/download/v0.22.3.tar.gz'
-- SHA512 hash of
/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/kodi-build/build/download/v0.22.3.tar.gz
does not match expected value
expected: '1b7cd19301bd921172a852439f969254abdea0a65a1354de85820f266bde37c92278f9349d7708e14531fe7f3390015e97336abbe2e2c5ceb37f724e2c644b28'
actual: 'a4b5fc2d29b8145bfe1cbb3491e9fed794d108b2379827e41a0a2a7e10238296b6a3a362af8e1abc3f5eb4dc834a0cc08029e4511c7c633a71245a3b82630223'
-- Hash mismatch, removing...
CMake Error at libdatachannel-stamp/download-libdatachannel.cmake:170 (message):
Each download failed!6

gmake[2]: *** [CMakeFiles/libdatachannel.dir/build.make:98: build/libdatachannel/src/libdatachannel-stamp/libdatachannel-download] Error 1
gmake[2]: se sale del directorio '/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/kodi-build'
gmake[1]: *** [CMakeFiles/Makefile2:5326: CMakeFiles/libdatachannel.dir/all] Error 2
gmake[1]: se sale del directorio '/home/kodi/Kodi-build/Omega-Retrplayer/xbmc-retroplayer-21.1-20250104/kodi-build'
gmake: *** [Makefile:146: all] Error 2

But wget works, i will made another test with

@marvin2k1
Copy link

marvin2k1 commented Jan 19, 2025

DONE! Finally, it tooks a while with J1, here is the solve steps:
First download a tag xbmc-retroplayer-21.1-20250114 like ZIP instead wget, if there are any make problem, delete entire folder and start build from source again uncompresing zip.

sudo apt-get purge libfmt-dev
cd to /somewhere/kodi-folder
mkdir kodi-build && cd kodi-build

To solve donwload problem:
wget https://github.com/paullouisageneau/libdatachannel/archive/refs/tags/v0.22.4.tar.gz

cmake ../ -DCMAKE_INSTALL_PREFIX=/usr -DCORE_PLATFORM_NAME=x11 -DAPP_RENDER_SYSTEM=gl -DENABLE_INTERNAL_FMT=ON -Dlibdatachannel_URL="/somewhere/kodi-folder/kodi-build/v0.22.4.tar.gz"

them finally:
cmake --build . -- VERBOSE=1 -j1
./kodi-x11

@garbear thank you again because your patience and your comunication helps to solve the problem.

@garbear
Copy link
Owner

garbear commented Jan 20, 2025

Compiling Kodi to exit code 0 is actually a step that takes a surprising amount of effort and knowledge. You are now amongst the club of those who have compiled Kodi!

@garbear
Copy link
Owner

garbear commented Jan 31, 2025

Just a head up, #142 caused me to remove a lot of upstream stuff (including the fmt stuff) from the retroplayer branch.

I also created a stable tag with the minimum upstream stuff needed for RP.

Hard-reset to the retroplayer-21.2-20250129 tag, clear your workspace, and get the compiling to work.

If webOS needs some upstream change, LMK. I can even give you a retroplayer-master branch that applies the build's commits against master.

@marvin2k1
Copy link

my first test fails with: cmake ../ -DCMAKE_INSTALL_PREFIX=/usr -DCORE_PLATFORM_NAME=x11 -DAPP_RENDER_SYSTEM=gl

CMake Error at /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:230 (message): Could NOT find Spdlog (missing: SPDLOG_INCLUDE_DIR) (found version "1.10.0") Call Stack (most recent call first): /usr/share/cmake-3.22/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE) cmake/modules/FindSpdlog.cmake:135 (find_package_handle_standard_args) cmake/scripts/common/Macros.cmake:403 (find_package) cmake/scripts/common/Macros.cmake:417 (find_package_with_ver) CMakeLists.txt:261 (core_require_dep)
but works with:
cmake ../ -DCMAKE_INSTALL_PREFIX=/usr -DCORE_PLATFORM_NAME=x11 -DAPP_RENDER_SYSTEM=gl -DENABLE_INTERNAL_FFMPEG=ON -DENABLE_INTERNAL_FMT=ON

@garbear
Copy link
Owner

garbear commented Feb 21, 2025

Is it building fully for you now? I build with -DENABLE_INTERNAL_FMT=ON on a small number of platforms too.

btw, retroplayer-21.2-20250214 is the latest tagged release. That'll be most stable.

@marvin2k1
Copy link

marvin2k1 commented Feb 21, 2025 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants