Kodi on n2+

Hi, first post hère…
I just discovered enos and I’m testing it on my n2+ with GNOME.
Is there any way to run Kodi on it? I don’t see a package.
I tried with the package from the archdroid repository but without success: it installs without error, but does not launch (libntfs error)
Some help would be appreciated.
Thanks.

Could you post the entire error message?

Yes, I have to reinstall to reproduce the issue and I come back.

Edit

/usr/lib/kodi/kodi.bin: error while loading shared libraries: libnfs.so.13: cannot open shared object file: No such file or directory

solved by

ln -s libnfs.so.14.0.0 libnfs.so.13

but

/usr/lib/kodi/kodi.bin: error while loading shared libraries: libwayland-client++.so.0: cannot open shared object file: No such file or directory

apparently a lot of lib to update… done but :

kodi.bin: symbol lookup error: /usr/lib/kodi/kodi.bin: undefined symbol: _ZN7wayland9display_t15roundtrip_queueERKNS_13event_queue_tE

I’m stuck now :slight_smile:

1 Like

See if you need Wayland:

https://archlinuxarm.org/packages

Not sure though if the packages in there suit your architecture.
I don’t own an Odroid device so I am afraid I would be of very limited help to you.
There are quite a few Odroid users on the forum so hopefully someone will chime in to assist you on this one.

It’s package waylandpp. I think I need to downgrade it, but I don’t known how to do that…

It would be nice.
thanks

1 Like

It seems that the package in Archdroid repos is outdated.
You would’ve to rebuild it to get it to work
I’ve tried to see if I can get the PKGBUILD but apparently it has been removed from their list of PKGBUILDs i.e. the support was dropped. Here is the PKGBUILD before it was dropped

I couldn’t find anything similar in the archlinux arm repos either.

I tried but no lock… I get this error. I’m not a building expert :wink:

[ 24%] Building CXX object CMakeFiles/flatc.dir/src/idl_gen_dart.cpp.o
Dans le fichier inclus depuis /usr/include/c++/12.2.0/ios:40,
                 depuis /usr/include/c++/12.2.0/istream:38,
                 depuis /usr/include/c++/12.2.0/sstream:38,
                 depuis /home/jul/T\u00e9l\u00e9chargements/kodi/src/kodi-build/build/flatbuffers/src/flatbuffers/include/flatbuffers/code_generators.h:21,
                 depuis /home/jul/T\u00e9l\u00e9chargements/kodi/src/kodi-build/build/flatbuffers/src/flatbuffers/src/idl_gen_dart.cpp:20:
Dans la fonction membre statique \u00ab\u00a0static std::char_traits<char>::char_type* std::char_traits<char>::copy(char_type*, const char_type*, std::size_t)\u00a0\u00bb,
    mis en ligne depuis \u00ab\u00a0static void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_S_copy(_CharT*, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]\u00a0\u00bb \u00e0 /usr/include/c++/12.2.0/bits/basic_string.h:423:21,
    mis en ligne depuis \u00ab\u00a0std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_replace(size_type, size_type, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]\u00a0\u00bb \u00e0 /usr/include/c++/12.2.0/bits/basic_string.tcc:532:22,
    mis en ligne depuis \u00ab\u00a0std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(size_type, size_type, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]\u00a0\u00bb \u00e0 /usr/include/c++/12.2.0/bits/basic_string.h:2171:19,
    mis en ligne depuis \u00ab\u00a0std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(size_type, size_type, const _CharT*) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]\u00a0\u00bb \u00e0 /usr/include/c++/12.2.0/bits/basic_string.h:2196:22,
    mis en ligne depuis \u00ab\u00a0static std::string flatbuffers::dart::DartGenerator::ImportAliasName(const std::string&)\u00a0\u00bb \u00e0 /home/jul/T\u00e9l\u00e9chargements/kodi/src/kodi-build/build/flatbuffers/src/flatbuffers/src/idl_gen_dart.cpp:113:18,
    mis en ligne depuis \u00ab\u00a0static const std::string flatbuffers::dart::DartGenerator::MaybeWrapNamespace(const std::string&, flatbuffers::Namespace*, const flatbuffers::FieldDef&)\u00a0\u00bb \u00e0 /home/jul/T\u00e9l\u00e9chargements/kodi/src/kodi-build/build/flatbuffers/src/flatbuffers/src/idl_gen_dart.cpp:408:29:
/usr/include/c++/12.2.0/bits/char_traits.h:431:56: erreur: \u00ab\u00a0void* __builtin_memcpy(void*, const void*, long unsigned int)\u00a0\u00bb acc\u00e8de \u00e0 9223372036854775810 ou plus d'octets aux d\u00e9calages -4611686018427387902 et [-4611686018427387903, 4611686018427387904] qui peuvent chevaucher jusqu'\u00e0 9223372036854775813 octets au d\u00e9calage -3 [-Werror=restrict]
  431 |         return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
      |                                        ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
Dans la fonction membre statique \u00ab\u00a0static std::char_traits<char>::char_type* std::char_traits<char>::copy(char_type*, const char_type*, std::size_t)\u00a0\u00bb,
    mis en ligne depuis \u00ab\u00a0static void std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_S_copy(_CharT*, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]\u00a0\u00bb \u00e0 /usr/include/c++/12.2.0/bits/basic_string.h:423:21,
    mis en ligne depuis \u00ab\u00a0std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::_M_replace(size_type, size_type, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]\u00a0\u00bb \u00e0 /usr/include/c++/12.2.0/bits/basic_string.tcc:532:22,
    mis en ligne depuis \u00ab\u00a0std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(size_type, size_type, const _CharT*, size_type) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]\u00a0\u00bb \u00e0 /usr/include/c++/12.2.0/bits/basic_string.h:2171:19,
    mis en ligne depuis \u00ab\u00a0std::__cxx11::basic_string<_CharT, _Traits, _Alloc>& std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::replace(size_type, size_type, const _CharT*) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]\u00a0\u00bb \u00e0 /usr/include/c++/12.2.0/bits/basic_string.h:2196:22,
    mis en ligne depuis \u00ab\u00a0static std::string flatbuffers::dart::DartGenerator::ImportAliasName(const std::string&)\u00a0\u00bb \u00e0 /home/jul/T\u00e9l\u00e9chargements/kodi/src/kodi-build/build/flatbuffers/src/flatbuffers/src/idl_gen_dart.cpp:113:18,
    mis en ligne depuis \u00ab\u00a0virtual bool flatbuffers::dart::DartGenerator::generate()\u00a0\u00bb \u00e0 /home/jul/T\u00e9l\u00e9chargements/kodi/src/kodi-build/build/flatbuffers/src/flatbuffers/src/idl_gen_dart.cpp:88:40:
/usr/include/c++/12.2.0/bits/char_traits.h:431:56: erreur: \u00ab\u00a0void* __builtin_memcpy(void*, const void*, long unsigned int)\u00a0\u00bb acc\u00e8de \u00e0 9223372036854775810 ou plus d'octets aux d\u00e9calages -4611686018427387902 et [-4611686018427387903, 4611686018427387904] qui peuvent chevaucher jusqu'\u00e0 9223372036854775813 octets au d\u00e9calage -3 [-Werror=restrict]
  431 |         return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
      |                                        ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~
cc1plus : tous les avertissements sont trait\u00e9s comme des erreurs
make[5]: *** [CMakeFiles/flatc.dir/build.make:160 : CMakeFiles/flatc.dir/src/idl_gen_dart.cpp.o] Erreur 1
make[4]: *** [CMakeFiles/Makefile2:83 : CMakeFiles/flatc.dir/all] Erreur 2
make[3]: *** [Makefile:156 : all] Erreur 2
make[2]: *** [CMakeFiles/flatbuffers.dir/build.make:86 : build/flatbuffers/src/flatbuffers-stamp/flatbuffers-build] Erreur 2
make[1]: *** [CMakeFiles/Makefile2:4154 : CMakeFiles/flatbuffers.dir/all] Erreur 2
make: *** [Makefile:146 : all] Erreur 2
==> ERREUR\u00a0: Une erreur s\u2019est produite dans build().
    Abandon\u2026

Does the n2+ have different repositories? Because I can see kodi in the official repositories just fine:

[dromundkaas@Pure ~]$ yay -Ss kodi
[...]
community/kodi 19.4-5 (35.9 MiB 85.6 MiB) (Installiert)
    A software media player and entertainment hub for digital media

Architecture arm ?

for me :

jul@ArchARM ~]$ yay -Ss kodi
[...]
community/p8-platform 2.1.0.1-4 (60.4 KiB 263.6 KiB) (Installé)
    Platform support library used by libCEC and binary add-ons for Kodi
community/mediaelch 2.8.16-3 (2.4 MiB 8.6 MiB) 
    Media Manager for handling Movies, TV Shows and Concerts/Music Videos for Kodi
community/kodi-platform-debug 20190726.809c5e9-37 (56.0 KiB 203.1 KiB) 
    Detached debugging symbols for kodi-platform
community/kodi-platform 20190726.809c5e9-37 (11.2 KiB 26.7 KiB) 
   platform library for external kodi addons
[...]
alarm/kodi-rpi 19.4-6 (33.8 MiB 91.8 MiB) 
    Media player and entertainment hub with hw accel for RPi 3/4/400, gbm_matrix fork
alarm/kodi-rpi-git 20.x.61519.9689d761dc-1 (34.1 MiB 92.0 MiB) 
    Media player and entertainment hub with hw accel for RPi 3/4/400, gbm_nexus fork
[...]
aur/kodi-git r61369.0b3a2c00857-2 (+84 1.00) 
    A software media player and entertainment hub for digital media (master branch)
[...]

Kodi-git doesn’t build

i can build it on my odroid n2+
i mean … kodi-git does build fine here…
I upload the packages for aarm on my server if you want to try them…

kodi-git

2 Likes

When i try

 -> Les paquets suivants ne sont pas compatibles avec votre architecture :
  kodi-git
:: Essayer de les compiler quand même ? [O/n]

Should i choose yes to build anyway ?

Thanks for that. I will tell you what my tests have shown.

yes it is not added to the PKGBUILD:
https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=kodi-git#n27

and building takes a lot of time … it is using older version of ffmpeg that gets integrated and stuff… in addition to the build of kodi…

sidenote:
if you add LANG=C before a command output will be in fallback language :wink:

-> The following packages are not compatible with your architecture:
kodi-git
:: Try to compile them anyway? [y/n]

Useful, thanks for the tip. :wink:

I will try in a few days, not at home…

1 Like