Cross compiling to aarch64
#16
Now onto building kodi itself. More errors it would seem. Code is up to date as of d9b42edb02c7391f9c9dd9033fbe0108d031f5b9 (today):
Quote:[ 48%] Building CXX object build/cores/RetroPlayer/savestates/CMakeFiles/retroplayer_savestates.dir/SavestateFlatBuffer.cpp.o
cd /home/xbmc/kodi-build/build/cores/RetroPlayer/savestates && /usr/bin/aarch64-linux-gnu-g++ -DHAS_NEON -I/home/xbmc/kodi-build -I/home/xbmc/kodi -I/home/xbmc/kodi/lib -I/home/xbmc/kodi/xbmc -I/home/xbmc/kodi/xbmc/platform/linux -I/home/xbmc/kodi/xbmc/cores/VideoPlayer -I/home/xbmc/kodi-build/build -I/home/xbmc/kodi-build/build/include -I/home/xbmc/kodi/xbmc/platform/posix -isystem /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include/dbus-1.0 -isystem /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/dbus-1.0/include -isystem /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include/pipewire-0.3 -isystem /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include/spa-0.2 -isystem /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include/python3.11 -isystem /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include/samba-4.0 -isystem /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include/libxml2 -isystem /home/xbmc/kodi-build/build/cores/RetroPlayer/messages -isystem /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include/freetype2 -isystem /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include/fribidi -isystem /home/xbmc/kodi/xbmc/contrib -isystem /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include/lzo -isystem /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include/libdrm -fPIC -DPIC -Og -g -D_DEBUG  -std=c++17  -isystem /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include -gsplit-dwarf -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -fPIC -DPIC -Og -g -D_DEBUG   -isystem /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include -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 -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 -DHAS_ALSA=1 -DHAVE_LIBBLURAY=1 -DHAVE_LIBBLURAY_BDJ=1 -DHAVE_LIBCEC=1 -DHAS_DBUS=1 -DHAS_ISO9660PP=1 -DHAS_WEB_SERVER=1 -DHAS_WEB_INTERFACE=1 -DHAS_FILESYSTEM_NFS=1 -DHAS_PIPEWIRE=1 -DHAS_AIRPLAY=1 -DHAS_PYTHON=1 -DHAS_FILESYSTEM_SMB=1 -DHAVE_LIBUDEV=1 -DHAS_UDFREAD=1 -DHAVE_LIBXSLT=1 -DHAVE_NEW_CROSSGUID -DFFMPEG_VER_SHA=\"5.0.0\" -DSPDLOG_FMT_EXTERNAL -DSPDLOG_DEBUG_ON -DSPDLOG_NO_ATOMIC_LEVELS -DSPDLOG_ENABLE_PATTERN_PADDING -DSPDLOG_COMPILED_LIB -DHAVE_WAYLAND=1 -DHAS_GLES=3 -DHAS_EGL=1 -DHAVE_GBM=1 -DHAS_GBM_BO_MAP=1 -DHAS_GBM_MODIFIERS=1 -DHAS_MARIADB=1 -DHAS_UPNP=1 -DHAS_DVD_DRIVE -DHAS_CDDA_RIPPER -DHAS_AIRTUNES=1 -DBIN_INSTALL_PATH=\"/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/kodi\" -DINSTALL_PATH=\"/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/share/kodi\" -Werror=double-promotion -Werror=missing-field-initializers -Werror=sign-compare -std=c++17 -MD -MT build/cores/RetroPlayer/savestates/CMakeFiles/retroplayer_savestates.dir/SavestateFlatBuffer.cpp.o -MF CMakeFiles/retroplayer_savestates.dir/SavestateFlatBuffer.cpp.o.d -o CMakeFiles/retroplayer_savestates.dir/SavestateFlatBuffer.cpp.o -c /home/xbmc/kodi/xbmc/cores/RetroPlayer/savestates/SavestateFlatBuffer.cpp
In file included from /home/xbmc/kodi/xbmc/cores/RetroPlayer/savestates/SavestateFlatBuffer.cpp:12:
/home/xbmc/kodi-build/build/cores/RetroPlayer/messages/savestate_generated.h: In member function ‘bool KODI::RETRO::Savestate::Verify(flatbuffers::Verifier&) const’:
/home/xbmc/kodi-build/build/cores/RetroPlayer/messages/savestate_generated.h:102:32: error: no matching function for call to ‘KODI::RETRO::Savestate::VerifyField<uint8_t>(flatbuffers::Verifier&, KODI::RETRO::Savestate::FlatBuffersVTableOffset, int) const’
  102 |            VerifyField<uint8_t>(verifier, VT_VERSION, 1) &&
      |            ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/xbmc/kodi/xbmc/cores/RetroPlayer/savestates/SavestateFlatBuffer.h:15,
                 from /home/xbmc/kodi/xbmc/cores/RetroPlayer/savestates/SavestateFlatBuffer.cpp:9:
/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include/flatbuffers/flatbuffers.h:2643:8: note: candidate: ‘template<class T> bool flatbuffers::Table::VerifyField(const flatbuffers::Verifier&, flatbuffers::voffset_t) const’
 2643 |   bool VerifyField(const Verifier &verifier, voffset_t field) const {
      |        ^~~~~~~~~~~
/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include/flatbuffers/flatbuffers.h:2643:8: note:   candidate expects 2 arguments, 3 provided
/home/xbmc/kodi-build/build/cores/RetroPlayer/messages/savestate_generated.h:103:32: error: no matching function for call to ‘KODI::RETRO::Savestate::VerifyField<uint8_t>(flatbuffers::Verifier&, KODI::RETRO::Savestate::FlatBuffersVTableOffset, int) const’
  103 |            VerifyField<uint8_t>(verifier, VT_TYPE, 1) &&
      |            ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include/flatbuffers/flatbuffers.h:2643:8: note: candidate: ‘template<class T> bool flatbuffers::Table::VerifyField(const flatbuffers::Verifier&, flatbuffers::voffset_t) const’
 2643 |   bool VerifyField(const Verifier &verifier, voffset_t field) const {
      |        ^~~~~~~~~~~
/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include/flatbuffers/flatbuffers.h:2643:8: note:   candidate expects 2 arguments, 3 provided
/home/xbmc/kodi-build/build/cores/RetroPlayer/messages/savestate_generated.h:104:32: error: no matching function for call to ‘KODI::RETRO::Savestate::VerifyField<uint8_t>(flatbuffers::Verifier&, KODI::RETRO::Savestate::FlatBuffersVTableOffset, int) const’
  104 |            VerifyField<uint8_t>(verifier, VT_SLOT, 1) &&
      |            ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include/flatbuffers/flatbuffers.h:2643:8: note: candidate: ‘template<class T> bool flatbuffers::Table::VerifyField(const flatbuffers::Verifier&, flatbuffers::voffset_t) const’
 2643 |   bool VerifyField(const Verifier &verifier, voffset_t field) const {
      |        ^~~~~~~~~~~
/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include/flatbuffers/flatbuffers.h:2643:8: note:   candidate expects 2 arguments, 3 provided
/home/xbmc/kodi-build/build/cores/RetroPlayer/messages/savestate_generated.h:111:33: error: no matching function for call to ‘KODI::RETRO::Savestate::VerifyField<uint64_t>(flatbuffers::Verifier&, KODI::RETRO::Savestate::FlatBuffersVTableOffset, int) const’
  111 |            VerifyField<uint64_t>(verifier, VT_TIMESTAMP_FRAMES, 8) &&
      |            ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include/flatbuffers/flatbuffers.h:2643:8: note: candidate: ‘template<class T> bool flatbuffers::Table::VerifyField(const flatbuffers::Verifier&, flatbuffers::voffset_t) const’
 2643 |   bool VerifyField(const Verifier &verifier, voffset_t field) const {
      |        ^~~~~~~~~~~
/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include/flatbuffers/flatbuffers.h:2643:8: note:   candidate expects 2 arguments, 3 provided
/home/xbmc/kodi-build/build/cores/RetroPlayer/messages/savestate_generated.h:112:33: error: no matching function for call to ‘KODI::RETRO::Savestate::VerifyField<uint64_t>(flatbuffers::Verifier&, KODI::RETRO::Savestate::FlatBuffersVTableOffset, int) const’
  112 |            VerifyField<uint64_t>(verifier, VT_TIMESTAMP_WALL_CLOCK_NS, 8) &&
      |            ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include/flatbuffers/flatbuffers.h:2643:8: note: candidate: ‘template<class T> bool flatbuffers::Table::VerifyField(const flatbuffers::Verifier&, flatbuffers::voffset_t) const’
 2643 |   bool VerifyField(const Verifier &verifier, voffset_t field) const {
      |        ^~~~~~~~~~~
/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include/flatbuffers/flatbuffers.h:2643:8: note:   candidate expects 2 arguments, 3 provided
make[2]: *** [build/cores/RetroPlayer/savestates/CMakeFiles/retroplayer_savestates.dir/build.make:90: build/cores/RetroPlayer/savestates/CMakeFiles/retroplayer_savestates.dir/SavestateFlatBuffer.cpp.o] Error 1
make[2]: Leaving directory '/home/xbmc/kodi-build'
make[1]: *** [CMakeFiles/Makefile2:8660: build/cores/RetroPlayer/savestates/CMakeFiles/retroplayer_savestates.dir/all] Error 2
make[1]: Leaving directory '/home/xbmc/kodi-build'
make: *** [Makefile:136: all] Error 2

I've tried cloning Nexus branch instead, seeing as master is WIP and see if that works.
Reply
#17
Same issue with Nexus branch. Is there something I am supposed to do with flatbuffers etc. when cross-compiling?

Looking at:
/home/xbmc/kodi/tools/depends/target/flatbuffers

It hasn't been built?

However the make -C tools/depends/target/cmakebuildsys BUILD_DIR=/home/xbmc/kodi-build:
Quote:-- Found FlatBuffers: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include (found version "2.0.0") 
Reply
#18
Looking at:
/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include/flatbuffers$ grep "VerifyField(" *
flatbuffers.h:  bool VerifyField(const Verifier &verifier, voffset_t field) const {

It seems to be including an old version of flatbuffers?
Reply
#19
This is the output of make -C tools/depends/target/cmakebuildsys BUILD_DIR=/home/xbmc/kodi-build. Flatbuffers is linked to an include folder, is that correct and not .a or .so?:
Quote:make -C tools/depends/target/cmakebuildsys BUILD_DIR=/home/xbmc/kodi-build
make: Entering directory '/home/xbmc/kodi/tools/depends/target/cmakebuildsys'
mkdir -p /home/xbmc/kodi-build
cd /home/xbmc/kodi-build; /home/xbmc/opt/xbmc-deps/x86_64-linux-gnu-native/bin/cmake -DCMAKE_TOOLCHAIN_FILE=/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/share/Toolchain.cmake -DCMAKE_INSTALL_PREFIX=/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug  -DENABLE_INTERNAL_CROSSGUID=ON -DENABLE_INTERNAL_FFMPEG=OFF  /home/xbmc/kodi
-- The CXX compiler identification is GNU 12.2.0
-- The C compiler identification is GNU 12.2.0
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/aarch64-linux-gnu-gcc
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/aarch64-linux-gnu-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/aarch64-linux-gnu-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Source directory: /home/xbmc/kodi
-- Build directory: /home/xbmc/kodi-build
-- Generator: Single-configuration: Debug (Unix Makefiles)
-- CMake Version: 3.21.3
-- System type: Linux
-- Linker: GNU gold
-- Checking to see if CXX compiler accepts flag -gsplit-dwarf
-- Checking to see if CXX compiler accepts flag -gsplit-dwarf - yes
-- Debug Fission enabled
-- Host architecture is little-endian
-- Core system type: linux
-- Platform: wayland;gbm
-- CPU: aarch64, ARCH: aarch64
-- Cross-Compiling: TRUE
-- Execute build artefacts on host: 
-- Depends based build: 1
-- statx is available
-- Could not find hardware support for SSE (missing: _SSE_TRUE _SSE_OK) 
-- Could not find hardware support for SSE2 (missing: _SSE2_TRUE _SSE2_OK) 
-- Could not find hardware support for SSE3 (missing: _SSE3_TRUE _SSE3_OK) 
-- Could not find hardware support for SSSE3 (missing: _SSSE3_TRUE _SSSE3_OK) 
-- Could not find hardware support for SSE4.1 (missing: _SSE41_TRUE _SSE41_OK) 
-- Could not find hardware support for SSE4.2 (missing: _SSE42_TRUE _SSE42_OK) 
-- Could not find hardware support for AVX (missing: _AVX_TRUE _AVX_OK) 
-- Could not find hardware support for AVX2 (missing: _AVX2_TRUE _AVX2_OK) 
-- NEON optimization enabled
-- Found Git: /usr/bin/git (found version "2.37.2") 
-- Found PkgConfig: /home/xbmc/opt/xbmc-deps/x86_64-linux-gnu-native/bin/pkg-config (found version "0.29.2") 
-- Could NOT find CCache (missing: CCACHE_PROGRAM) 
-- Could NOT find ClangFormat (missing: CLANG_FORMAT_EXECUTABLE) 
-- Found FlatC: /usr/bin/flatc (found version "2.0.6") 
-- External TexturePacker for KODI_DEPENDSBUILD will be executed during build: /home/xbmc/opt/xbmc-deps/x86_64-linux-gnu-native/bin/TexturePacker
-- Found Alsa: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libasound.so (found version "1.1.4.1") 
-- Could NOT find Avahi (missing: AVAHI_CLIENT_LIBRARY AVAHI_COMMON_LIBRARY) 
-- Could NOT find Bluetooth (missing: BLUETOOTH_LIBRARY) 
-- Found Bluray: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libbluray.a (found suitable version "1.3.2", minimum required is "0.9.3") 
-- Could NOT find CAP (missing: CAP_LIBRARY CAP_INCLUDE_DIR) 
-- Found CEC: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libcec.so (found suitable version "4.0.7", minimum required is "4.0.0") 
-- Found Dav1d: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libdav1d.a (found version "1.0.0") 
-- Found DBus: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libdbus-1.so (found version "1.11.16") 
-- Found Cdio: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libcdio.a (found version "2.1.0") 
-- Found Iso9660pp: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libiso9660++.a (found version "2.1.0") 
-- Could NOT find LCMS2 (missing: LCMS2_LIBRARY) 
-- Could NOT find LircClient (missing: LIRCCLIENT_LIBRARY) 
-- Could NOT find MDNS (missing: MDNS_LIBRARY MDNS_INCLUDE_DIR) 
-- Found MicroHttpd: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libmicrohttpd.a (found version "0.9.75") 
-- Found NFS: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libnfs.a  
-- Could NOT find Pipewire (missing: PIPEWIRE_LIBRARY PIPEWIRE_INCLUDE_DIR SPA_INCLUDE_DIR) 
-- Found Plist: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libplist-2.0.a (found version "2.2.0") 
-- Could NOT find PulseAudio (missing: PULSEAUDIO_LIBRARY PULSEAUDIO_MAINLOOP_LIBRARY PULSEAUDIO_SIMPLE_LIBRARY) (found version "16.1.0")
-- Found Python3: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include/python3.11 (found suitable exact version "3.11.0") found components: Development Development.Module Development.Embed 
-- Found Python3: /usr/bin/python3.10 (found version "3.10.7") found components: Interpreter 
-- Found SmbClient: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libsmbclient.a (found version "0.6.0") 
-- Could NOT find Sndio (missing: SNDIO_LIBRARY SNDIO_INCLUDE_DIR) 
-- Found UDEV: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libudev.a (found version "220") 
-- Found Udfread: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libudfread.a  
-- Found LibXml2: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libxml2.a;-L/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib;-lxml2;-lz;-lm (found version "2.10.1") 
-- Found XSLT: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libxslt.a (found version "1.1.34") 
-- Could NOT find VAAPI (missing: VAAPI_libva_LIBRARY VAAPI_libva-drm_LIBRARY VAAPI_libva-wayland_LIBRARY) (Required is at least version "0.39.0")
-- Could NOT find VAAPI (missing: VAAPI_libva_LIBRARY VAAPI_libva-drm_LIBRARY VAAPI_libva-wayland_LIBRARY) (Required is at least version "0.39.0")
-- Found ASS: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libass.so (found version "0.15.2") 
-- Found Patch: /usr/bin/patch (found version "2.7.6") 
-- Found CrossGUID: optimized;/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libcrossguid.a;debug;/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libcrossguid-dgb.a (found version "ca1bf4b810e2d188d04cb6286f957008ee1b7681") 
-- Found UUID: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libuuid.a (found version "1.46.5") 
-- Found Curl: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libcurl.a (found version "7.68.0") 
-- Found FFMPEG: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include (found version "4.4.1") 
-- Found FlatBuffers: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include (found version "2.0.0") 
-- Found Fmt: optimized;/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libfmt.a;debug;/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libfmtd.a (found version "9.1.0") 
-- Found FreeType: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libfreetype.a (found version "24.1.18") 
-- Found FriBidi: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libfribidi.a (found version "1.0.11") 
-- Found Fstrcmp: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libfstrcmp.a (found version "0.7.D001") 
-- Found HarfBuzz: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libharfbuzz.a (found version "3.1.1") 
-- Found Iconv: /usr/lib/aarch64-linux-gnu/libc.so  
-- Found KissFFT: /home/xbmc/kodi/xbmc/contrib
-- Found LibDvdCSS: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libdvdcss.a (found version "1.4.3-Next-Nexus-Alpha2-2") 
-- Found LibDvdRead: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libdvdread.a (found version "6.1.3-Next-Nexus-Alpha2-2") 
-- Found LibDvdNav: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libdvdnav.a (found version "6.1.1-Next-Nexus-Alpha2-2") 
-- Found Lzo2: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/liblzo2.a  
-- Found Threads: TRUE  
-- Found OpenSSL: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libcrypto.a (found suitable version "1.1.1n", minimum required is "1.1.0")  
-- Found PCRE: optimized;/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libpcrecpp.a;debug;/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libpcrecppd.a (found version "8.45") 
-- Found RapidJSON: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include (found version "1.1.0") 
-- Found Spdlog: optimized;/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libspdlog.a;debug;/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libspdlogd.a (found version "1.10.0") 
-- Found Sqlite3: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libsqlite3.a (found version "3.39.4") 
-- Found TagLib: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libtag.a (found version "1.12") 
-- Found TinyXML: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libtinyxml.a (found version "2.6.2") 
-- Found ZLIB: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libz.a (found version "1.2.12") 
-- Checking for module 'wayland-protocols'
--   Found wayland-protocols, version 1.20
-- Found WaylandProtocols: 1 (found suitable version "1.20", minimum required is "1.7") 
-- Found Waylandpp: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include (Required is at least version "0.2.2") 
-- Found LibDRM: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libdrm.so (found version "2.4.102") 
-- Found Xkbcommon: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libxkbcommon.a (found suitable version "0.8.0", minimum required is "0.4.1") 
-- Found OpenGLES: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libGLESv2.so  
-- Found EGL: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libEGL.so (found version "20.1.7") 
-- Found GBM: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libgbm.so (found version "20.1.7") 
-- Found LibInput: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libinput.so (found version "1.10.5") 
-- Found Xkbcommon: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libxkbcommon.a (found version "0.8.0") 
-- Found MariaDBClient: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/mariadb/libmariadbclient.a (found version "10.8.4") 
-- Found Shairplay: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libshairplay.so  
-- Found Java: /usr/bin/java (found version "11.0.17") found components: Runtime 
-- Found SWIG: /usr/bin/swig4.0 (found version "4.0.2") 
-- Found Doxygen: /usr/bin/doxygen (found version "1.9.1") found components: doxygen missing components: dot
-- #---- CONFIGURATION ----#
-- Platforms: wayland gbm
-- App package: org.xbmc.kodi
-- -- PATH config --
-- Prefix: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug
-- Libdir: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib
-- Bindir: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/bin
-- Includedir: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include
-- Datarootdir: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/share
-- Datadir: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/share
-- Docdir: /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/share/doc/kodi
-- CCACHE enabled: No
-- CLANGFORMAT enabled: No
-- CLANGTIDY enabled: No
-- CPPCHECK enabled: No
-- INCLUDEWHATYOUUSE enabled: No
-- ALSA enabled: Yes
-- AVAHI enabled: No
-- BLUETOOTH enabled: No
-- BLURAY enabled: Yes
-- CAP enabled: No
-- CEC enabled: Yes
-- DAV1D enabled: Yes
-- DBUS enabled: Yes
-- ISO9660PP enabled: Yes
-- LCMS2 enabled: No
-- LIRCCLIENT enabled: No
-- MDNS enabled: No
-- MICROHTTPD enabled: Yes
-- NFS enabled: Yes
-- PIPEWIRE enabled: No
-- PLIST enabled: Yes
-- PULSEAUDIO enabled: No
-- PYTHON enabled: Yes
-- SMBCLIENT enabled: Yes
-- SNDIO enabled: No
-- UDEV enabled: Yes
-- UDFREAD enabled: Yes
-- XSLT enabled: Yes
-- VAAPI enabled: No
-- VAAPI enabled: No
-- MARIADBCLIENT enabled: Yes
-- Configuring done
-- Generating done
-- Build files have been written to: /home/xbmc/kodi-build
make: Leaving directory '/home/xbmc/kodi/tools/depends/target/cmakebuildsys'
Reply
#20
How do I pass parameters, in the ./configure part of tools/depends or when I pass make -C tools/depends/target/cmakebuildsys BUILD_DIR=/home/xbmc/kodi-build or when I eventually do the make?

e.g. how do I enabled wayland only and not gbm?,
select internal flatbuffers?

Getting ahead of myself when it eventually compiles..
do I need to specify the folder in which kodi is to be installed on the target device?
do I package the libs as well in a sub-folder or do they need to be manually copied to /usr/lib or something like that?
or is everything statically linked and I dont need to worry about libs?
Reply
#21
OK I have fixed the flatbuffers issue (https://github.com/xbmc/xbmc/pull/22493) - finally at linking and have this issue at 100 percent:
Quote:make[2]: Entering directory '/home/xbmc/kodi-build'
[100%] Linking CXX executable kodi.bin
/home/xbmc/opt/xbmc-deps/x86_64-linux-gnu-native/bin/cmake -E cmake_link_script CMakeFiles/kodi.dir/link.txt --verbose=1
/usr/bin/aarch64-linux-gnu-g++ -fPIC -DPIC -Og -g -D_DEBUG  -std=c++17  -isystem /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include -gsplit-dwarf -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -fPIC -DPIC -Og -g -D_DEBUG   -isystem /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/include -L/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib -Wl,-rpath-link=/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib   -fuse-ld=gold -Wl,--gdb-index -Wl,--export-dynamic -rdynamic CMakeFiles/kodi.dir/xbmc/platform/posix/main.cpp.o -o kodi.bin  -Wl,-rpath,/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib -Wl,--whole-archive /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libfstrcmp.a build/network/httprequesthandler/python/network_httprequesthandlers_python.a build/network/httprequesthandler/network_httprequesthandlers.a build/network/upnp/network_upnp.a build/upnp/libupnp.a build/swig/libpython_binding.a build/interfaces/python/python_interface.a build/interfaces/legacy/wsgi/legacy_interface_wsgi.a build/interfaces/legacy/legacy_interface.a build/rendering/gles/rendering_gles.a build/network/dacp/network_dacp.a build/cdrip/cdrip.a build/windowing/linux/windowing_linux.a build/platform/posix/utils/platform_posix_utils.a build/platform/posix/threads/platform_posix_threads.a build/platform/posix/storage/discs/platform_posix_storage_discs.a build/platform/posix/network/platform_posix_network.a build/platform/posix/filesystem/platform_posix_filesystem.a build/platform/posix/platform_posix.a build/platform/linux/threads/platform_linux_threads.a build/platform/linux/storage/platform_linux_storage.a build/platform/linux/powermanagement/platform_linux_powermanagement.a build/platform/linux/peripherals/platform_linux_peripherals.a build/platform/linux/network/platform_linux_network.a build/platform/linux/input/input_linux.a build/platform/linux/linuxsupport.a build/platform/common/speech/platform_common_speech.a build/input/touch/generic/input_touch_generic.a build/input/touch/input_touch.a build/cores/VideoPlayer/videorenderers/shaders/videoshaders.a build/cores/VideoPlayer/videorenderers/hwdec/videorenderers_hwdec.a build/cores/VideoPlayer/videorenderers/videorenderers.a build/cores/VideoPlayer/process/process.a build/cores/VideoPlayer/subtitles/webvtt/subtitles_webvtt.a build/cores/VideoPlayer/subtitles/dvdsubtitles.a build/cores/VideoPlayer/inputstreams/dvdinputstreams.a build/cores/VideoPlayer/demuxers/dvddemuxers.a build/cores/VideoPlayer/codecs/video/dvdvideocodecs.a build/cores/VideoPlayer/codecs/overlay/dvdoverlaycodecs.a build/cores/VideoPlayer/codecs/audio/dvdaudiocodecs.a build/cores/VideoPlayer/codecs/dvdcodecs.a build/cores/VideoPlayer/Buffers/videoplayer-buffers.a build/cores/VideoPlayer/VideoPlayer.a build/video/windows/video_windows.a build/video/tags/video_tags.a build/video/jobs/video_jobs.a build/video/dialogs/video_dialogs.a build/video/video.a build/windows/windows.a build/windowing/windowing.a build/weather/weather.a build/view/view.a build/utils/utils.a build/threads/threads.a build/storage/storage.a build/rendering/rendering.a build/programs/programs.a build/powermanagement/powermanagement.a build/playlists/playlists.a build/platform/platform_common.a build/pictures/pictures.a build/messagingHelpers/messagingHelpers.a build/messaging/messaging.a build/listproviders/listproviders.a build/input/mouse/generic/input_mouse_generic.a build/input/mouse/input_mouse.a build/input/keyboard/generic/input_keyboard_generic.a build/input/keyboard/input_keyboard.a build/input/joysticks/keymaps/input_joystick_keymaps.a build/input/joysticks/generic/input_joystick_generic.a build/input/joysticks/dialogs/input_joystick_dialogs.a build/input/joysticks/input_joystick.a build/input/button/input_button.a build/input/actions/input_actions.a build/input/input.a build/guilib_guiinfo/guilib_guiinfo.a build/guilib/guilib.a build/favourites/favourites.a build/dialogs/dialogs.a build/dbwrappers/dbwrappers.a build/commons/commons.a build/application/application.a build/addons_settings/addons_settings.a build/addons_interfaces_gui_dialogs/addons_interfaces_gui_dialogs.a build/addons_interfaces_gui_controls/addons_interfaces_gui_controls.a build/addons_interfaces_gui/addons_interfaces_gui.a build/addons_interfaces/addons_interfaces.a build/addons_gui_skin/addons_gui_skin.a build/addons_gui/addons_gui.a build/addons_binary-addons/addons_binary-addons.a build/addons_addoninfo/addons_addoninfo.a build/addons/addons.a build/xbmc/xbmc.a build/settings/windows/settings_windows.a build/settings/lib/settings_lib.a build/settings/dialogs/settings_dialogs.a build/settings/settings.a build/cores/RetroPlayer/streams/memory/retroplayer_memory.a build/cores/RetroPlayer/streams/retroplayer_streams.a build/cores/RetroPlayer/savestates/retroplayer_savestates.a build/cores/RetroPlayer/rendering/VideoRenderers/rp-videorenderers.a build/cores/RetroPlayer/rendering/rp-rendering.a build/cores/RetroPlayer/process/rp-process.a build/cores/RetroPlayer/playback/retroplayer_playback.a build/cores/RetroPlayer/guiwindows/retroplayer_guiwindows.a build/cores/RetroPlayer/guiplayback/retroplayer_guiplayback.a build/cores/RetroPlayer/guicontrols/retroplayer_guicontrols.a build/cores/RetroPlayer/guibridge/retroplayer_guibridge.a build/cores/RetroPlayer/cheevos/retroplayer_cheevos.a build/cores/RetroPlayer/buffers/video/rp-buffers-video.a build/cores/RetroPlayer/buffers/rp-buffers.a build/cores/RetroPlayer/audio/rp_audio.a build/cores/RetroPlayer/retroplayer.a build/pvr/windows/pvr_windows.a build/pvr/timers/pvr_timers.a build/pvr/settings/pvr_settings.a build/pvr/recordings/pvr_recordings.a build/pvr/providers/pvr_providers.a build/pvr/guilib/guiinfo/pvr_guilib_guiinfo.a build/pvr/guilib/pvr_guilib.a build/pvr/filesystem/pvr_filesystem.a build/pvr/epg/pvr_epg.a build/pvr/dialogs/pvr_dialogs.a build/pvr/channels/pvr_channels.a build/pvr/addons/pvr_addons.a build/pvr/pvr.a build/profiles/windows/profiles_windows.a build/profiles/dialogs/profiles_dialogs.a build/profiles/profiles.a build/peripherals/dialogs/peripherals_dialogs.a build/peripherals/devices/peripherals_devices.a build/peripherals/bus/virtual/peripheral_bus_virtual.a build/peripherals/bus/peripherals_bus.a build/peripherals/addons/peripherals_addons.a build/peripherals/peripherals.a build/network/websocket/network_websockets.a build/network/network.a build/music/windows/music_windows.a build/music/tags/music_tags.a build/music/jobs/music_jobs.a build/music/infoscanner/music_infoscanner.a build/music/dialogs/music_dialogs.a build/music/music.a build/drm/drm.a build/media/media.a build/interfaces/json-rpc/jsonrpc_interface.a build/interfaces/info/info_interface.a build/interfaces/generic/generic_interface.a build/interfaces/builtins/interfaces_builtins.a build/interfaces/interfaces.a build/games/windows/gameswindows.a build/games/tags/gametags.a build/games/ports/windows/games_ports_windows.a build/games/ports/types/games_ports_types.a build/games/ports/input/games_ports_input.a build/games/dialogs/osd/gameosddialogs.a build/games/dialogs/gamedialogs.a build/games/controllers/windows/games_controller_windows.a build/games/controllers/types/games_controller_types.a build/games/controllers/input/games_controller_input.a build/games/controllers/guicontrols/games_controller_guicontrols.a build/games/controllers/dialogs/games_controller_dialogs.a build/games/controllers/games_controller.a build/games/agents/games_agents.a build/games/addons/streams/game_addon_streams.a build/games/addons/input/gameinput.a build/games/addons/cheevos/gamecheevos.a build/games/addons/gameaddons.a build/games/games.a build/filesystem/videodatabase/videodatabasedirectory.a build/filesystem/musicdatabase/musicdatabasedirectory.a build/filesystem/filesystem.a build/kissfft/kissfft.a build/events/windows/events_windows.a build/events/events.a build/cores/playercorefactory/playercorefactory.a build/cores/paplayer/paplayer.a build/cores/externalplayer/externalplayer.a build/cores/dll-loader/exports/util/exports_utils.a build/cores/dll-loader/exports/dllexports.a build/cores/dll-loader/dllloader.a build/cores/audioengine/audioengine.a build/cores/cores.a build/windowing/gbm/windowing_gbm.a build/windowing/gbm/drm/windowing_gbm_drm.a build/cores/VideoPlayer/Process/gbm/processGBM.a build/cores/RetroPlayer/process/gbm/rp-process-gbm.a build/windowing/wayland/windowing_WAYLAND.a build/cores/VideoPlayer/Process/wayland/processWayland.a build/cores/RetroPlayer/process/wayland/rp-process-wayland.a -Wl,--no-whole-archive libkodi.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libasound.so /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libbluray.a -lbluray -ldl -lxml2 -lz -lm -lfontconfig -lfreetype -lbz2 -lharfbuzz -lm -lexpat -lm -ludfread /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libcec.so /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libdav1d.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libdbus-1.so /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libiso9660++.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libiso9660.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libcdio.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libmicrohttpd.a -lmicrohttpd -lpthread -lgnutls -lgmp -latomic -ldl -lhogweed -lgmp -lnettle /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libnfs.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libplist-2.0.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libpython3.11.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/liblzma.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libffi.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libexpat.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libintl.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libgmp.a -lpthread -ldl -lutil -lrt /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libsmbclient.a -lsmbclient -lresolv -lcrypt -lz -lgnutls -lcrypto -lgnutls -lgmp -latomic -ldl -lhogweed -lgmp -lnettle /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libudev.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libudfread.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libxslt.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libxml2.a -L/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib -lxml2 -lz -lm /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libass.so /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libcdio.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libcrossguid-dgb.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libuuid.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libcurl.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libnghttp2.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libavcodec.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libavfilter.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libavformat.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libavutil.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libswscale.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libswresample.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libpostproc.a -L/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib -lavfilter -pthread -lm -lavformat -lm -lbz2 -lz -lgnutls -lgmp -latomic -ldl -lhogweed -lgmp -lnettle -lavcodec -pthread -lm -llzma -ldav1d -pthread -ldl -lz -lswscale -lm -lswresample -lm -lpostproc -lm -lavutil -pthread -lm /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libfmtd.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libfreetype.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libfribidi.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libfstrcmp.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libharfbuzz.a -lc /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libdvdnav.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libdvdread.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libdvdcss.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/liblzo2.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libssl.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libcrypto.a -ldl /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libpcrecppd.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libpcred.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libspdlogd.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libsqlite3.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libtag.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libtinyxml.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libz.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libwayland-client++.so /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libwayland-cursor++.so /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libwayland-egl++.so /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libdrm.so /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libxkbcommon.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libGLESv2.so /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libEGL.so /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libgbm.so /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libdrm.so /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libinput.so /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libxkbcommon.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libudev.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libGLESv2.so /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libEGL.so /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/mariadb/libmariadbclient.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libshairplay.so build/network/httprequesthandler/python/network_httprequesthandlers_python.a build/network/httprequesthandler/network_httprequesthandlers.a build/network/upnp/network_upnp.a build/swig/libpython_binding.a build/interfaces/python/python_interface.a build/interfaces/legacy/wsgi/legacy_interface_wsgi.a build/interfaces/legacy/legacy_interface.a build/rendering/gles/rendering_gles.a build/network/dacp/network_dacp.a build/cdrip/cdrip.a build/windowing/linux/windowing_linux.a build/platform/posix/utils/platform_posix_utils.a build/platform/posix/threads/platform_posix_threads.a build/platform/posix/storage/discs/platform_posix_storage_discs.a build/platform/posix/network/platform_posix_network.a build/platform/posix/filesystem/platform_posix_filesystem.a build/platform/posix/platform_posix.a build/platform/linux/threads/platform_linux_threads.a build/platform/linux/storage/platform_linux_storage.a build/platform/linux/powermanagement/platform_linux_powermanagement.a build/platform/linux/peripherals/platform_linux_peripherals.a build/platform/linux/network/platform_linux_network.a build/platform/linux/input/input_linux.a build/platform/linux/linuxsupport.a build/platform/common/speech/platform_common_speech.a build/input/touch/generic/input_touch_generic.a build/input/touch/input_touch.a build/cores/VideoPlayer/videorenderers/shaders/videoshaders.a build/cores/VideoPlayer/videorenderers/hwdec/videorenderers_hwdec.a build/cores/VideoPlayer/videorenderers/videorenderers.a build/cores/VideoPlayer/process/process.a build/cores/VideoPlayer/subtitles/webvtt/subtitles_webvtt.a build/cores/VideoPlayer/subtitles/dvdsubtitles.a build/cores/VideoPlayer/inputstreams/dvdinputstreams.a build/cores/VideoPlayer/demuxers/dvddemuxers.a build/cores/VideoPlayer/codecs/video/dvdvideocodecs.a build/cores/VideoPlayer/codecs/overlay/dvdoverlaycodecs.a build/cores/VideoPlayer/codecs/audio/dvdaudiocodecs.a build/cores/VideoPlayer/codecs/dvdcodecs.a build/cores/VideoPlayer/Buffers/videoplayer-buffers.a build/cores/VideoPlayer/VideoPlayer.a build/video/windows/video_windows.a build/video/tags/video_tags.a build/video/jobs/video_jobs.a build/video/dialogs/video_dialogs.a build/video/video.a build/windows/windows.a build/windowing/windowing.a build/weather/weather.a build/view/view.a build/utils/utils.a build/threads/threads.a build/storage/storage.a build/rendering/rendering.a build/programs/programs.a build/powermanagement/powermanagement.a build/playlists/playlists.a build/platform/platform_common.a build/pictures/pictures.a build/messagingHelpers/messagingHelpers.a build/messaging/messaging.a build/listproviders/listproviders.a build/input/mouse/generic/input_mouse_generic.a build/input/mouse/input_mouse.a build/input/keyboard/generic/input_keyboard_generic.a build/input/keyboard/input_keyboard.a build/input/joysticks/keymaps/input_joystick_keymaps.a build/input/joysticks/generic/input_joystick_generic.a build/input/joysticks/dialogs/input_joystick_dialogs.a build/input/joysticks/input_joystick.a build/input/button/input_button.a build/input/actions/input_actions.a build/input/input.a build/guilib_guiinfo/guilib_guiinfo.a build/guilib/guilib.a build/favourites/favourites.a build/dialogs/dialogs.a build/dbwrappers/dbwrappers.a build/commons/commons.a build/application/application.a build/addons_settings/addons_settings.a build/addons_interfaces_gui_dialogs/addons_interfaces_gui_dialogs.a build/addons_interfaces_gui_controls/addons_interfaces_gui_controls.a build/addons_interfaces_gui/addons_interfaces_gui.a build/addons_interfaces/addons_interfaces.a build/addons_gui_skin/addons_gui_skin.a build/addons_gui/addons_gui.a build/addons_binary-addons/addons_binary-addons.a build/addons_addoninfo/addons_addoninfo.a build/addons/addons.a build/xbmc/xbmc.a build/settings/windows/settings_windows.a build/settings/lib/settings_lib.a build/settings/dialogs/settings_dialogs.a build/settings/settings.a build/cores/RetroPlayer/streams/memory/retroplayer_memory.a build/cores/RetroPlayer/streams/retroplayer_streams.a build/cores/RetroPlayer/savestates/retroplayer_savestates.a build/cores/RetroPlayer/rendering/VideoRenderers/rp-videorenderers.a build/cores/RetroPlayer/rendering/rp-rendering.a build/cores/RetroPlayer/process/rp-process.a build/cores/RetroPlayer/playback/retroplayer_playback.a build/cores/RetroPlayer/guiwindows/retroplayer_guiwindows.a build/cores/RetroPlayer/guiplayback/retroplayer_guiplayback.a build/cores/RetroPlayer/guicontrols/retroplayer_guicontrols.a build/cores/RetroPlayer/guibridge/retroplayer_guibridge.a build/cores/RetroPlayer/cheevos/retroplayer_cheevos.a build/cores/RetroPlayer/buffers/video/rp-buffers-video.a build/cores/RetroPlayer/buffers/rp-buffers.a build/cores/RetroPlayer/audio/rp_audio.a build/cores/RetroPlayer/retroplayer.a build/pvr/windows/pvr_windows.a build/pvr/timers/pvr_timers.a build/pvr/settings/pvr_settings.a build/pvr/recordings/pvr_recordings.a build/pvr/providers/pvr_providers.a build/pvr/guilib/guiinfo/pvr_guilib_guiinfo.a build/pvr/guilib/pvr_guilib.a build/pvr/filesystem/pvr_filesystem.a build/pvr/epg/pvr_epg.a build/pvr/dialogs/pvr_dialogs.a build/pvr/channels/pvr_channels.a build/pvr/addons/pvr_addons.a build/pvr/pvr.a build/profiles/windows/profiles_windows.a build/profiles/dialogs/profiles_dialogs.a build/profiles/profiles.a build/peripherals/dialogs/peripherals_dialogs.a build/peripherals/devices/peripherals_devices.a build/peripherals/bus/virtual/peripheral_bus_virtual.a build/peripherals/bus/peripherals_bus.a build/peripherals/addons/peripherals_addons.a build/peripherals/peripherals.a build/network/websocket/network_websockets.a build/network/network.a build/music/windows/music_windows.a build/music/tags/music_tags.a build/music/jobs/music_jobs.a build/music/infoscanner/music_infoscanner.a build/music/dialogs/music_dialogs.a build/music/music.a build/drm/drm.a build/media/media.a build/interfaces/json-rpc/jsonrpc_interface.a build/interfaces/info/info_interface.a build/interfaces/generic/generic_interface.a build/interfaces/builtins/interfaces_builtins.a build/interfaces/interfaces.a build/games/windows/gameswindows.a build/games/tags/gametags.a build/games/ports/windows/games_ports_windows.a build/games/ports/types/games_ports_types.a build/games/ports/input/games_ports_input.a build/games/dialogs/osd/gameosddialogs.a build/games/dialogs/gamedialogs.a build/games/controllers/windows/games_controller_windows.a build/games/controllers/types/games_controller_types.a build/games/controllers/input/games_controller_input.a build/games/controllers/guicontrols/games_controller_guicontrols.a build/games/controllers/dialogs/games_controller_dialogs.a build/games/controllers/games_controller.a build/games/agents/games_agents.a build/games/addons/streams/game_addon_streams.a build/games/addons/input/gameinput.a build/games/addons/cheevos/gamecheevos.a build/games/addons/gameaddons.a build/games/games.a build/filesystem/videodatabase/videodatabasedirectory.a build/filesystem/musicdatabase/musicdatabasedirectory.a build/filesystem/filesystem.a build/upnp/libupnp.a build/kissfft/kissfft.a build/events/windows/events_windows.a build/events/events.a build/cores/playercorefactory/playercorefactory.a build/cores/paplayer/paplayer.a build/cores/externalplayer/externalplayer.a build/cores/dll-loader/exports/util/exports_utils.a build/cores/dll-loader/exports/dllexports.a build/cores/dll-loader/dllloader.a build/cores/audioengine/audioengine.a build/cores/cores.a build/windowing/gbm/windowing_gbm.a build/windowing/gbm/drm/windowing_gbm_drm.a build/cores/VideoPlayer/Process/gbm/processGBM.a build/cores/RetroPlayer/process/gbm/rp-process-gbm.a build/windowing/wayland/windowing_WAYLAND.a build/cores/VideoPlayer/Process/wayland/processWayland.a build/cores/RetroPlayer/process/wayland/rp-process-wayland.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libfstrcmp.a -ldl -lxml2 -lz -lm -lfontconfig -lfreetype -lbz2 -lharfbuzz -lexpat -ludfread /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libcec.so /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libdav1d.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libdbus-1.so /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libiso9660++.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libiso9660.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libcdio.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libmicrohttpd.a -lmicrohttpd -lpthread -lgnutls -lgmp -latomic -lhogweed -lnettle /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libnfs.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libplist-2.0.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libpython3.11.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/liblzma.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libffi.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libexpat.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libintl.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libgmp.a -lutil -lrt /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libsmbclient.a -lsmbclient -lresolv -lcrypt -lcrypto /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libudfread.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libxslt.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libxml2.a -lxml2 -lz -lm /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libass.so /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libcrossguid-dgb.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libuuid.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libcurl.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libnghttp2.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libavcodec.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libavfilter.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libavformat.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libavutil.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libswscale.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libswresample.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libpostproc.a -lavfilter -lavformat -lbz2 -lgnutls -lgmp -latomic -ldl -lhogweed -lnettle -lavcodec -llzma -ldav1d -lswscale -lswresample -lpostproc -lavutil /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libfmtd.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libfreetype.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libfribidi.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libharfbuzz.a -lc /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libdvdnav.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libdvdread.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libdvdcss.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/liblzo2.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libssl.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libcrypto.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libpcrecppd.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libpcred.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libspdlogd.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libsqlite3.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libtag.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libtinyxml.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libz.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libwayland-client++.so /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libwayland-cursor++.so /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libwayland-egl++.so /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libdrm.so /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libgbm.so /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libinput.so /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/mariadb/libmariadbclient.a /home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libshairplay.so 
/usr/lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/bin/ld.gold: warning: build/upnp/libupnp.a(PltTaskManager.cpp.o): top level DIE is not DW_TAG_compile_unit or DW_TAG_type_unit
/usr/lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/bin/ld.gold: warning: build/interfaces/legacy/legacy_interface.a(InfoTagMusic.cpp.o): top level DIE is not DW_TAG_compile_unit or DW_TAG_type_unit
/usr/lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/bin/ld.gold: warning: build/utils/utils.a(Crc32.cpp.o): top level DIE is not DW_TAG_compile_unit or DW_TAG_type_unit
/usr/lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/bin/ld.gold: warning: build/addons/addons.a(ExtsMimeSupportList.cpp.o): top level DIE is not DW_TAG_compile_unit or DW_TAG_type_unit
/usr/lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/bin/ld.gold: warning: build/music/music.a(MusicThumbLoader.cpp.o): top level DIE is not DW_TAG_compile_unit or DW_TAG_type_unit
/usr/lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/bin/ld.gold: warning: build/windowing/gbm/drm/windowing_gbm_drm.a(DRMUtils.cpp.o): top level DIE is not DW_TAG_compile_unit or DW_TAG_type_unit
/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libcurl.a(libcurl_la-version.o):version.c:function brotli_version: error: undefined reference to 'BrotliDecoderVersion'
/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libcurl.a(libcurl_la-version.o):version.c:function curl_version_info: error: undefined reference to 'BrotliDecoderVersion'
/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libcurl.a(libcurl_la-content_encoding.o):content_encoding.c:function brotli_close_writer: error: undefined reference to 'BrotliDecoderDestroyInstance'
/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libcurl.a(libcurl_la-content_encoding.o):content_encoding.c:function brotli_init_writer: error: undefined reference to 'BrotliDecoderCreateInstance'
/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libcurl.a(libcurl_la-content_encoding.o):content_encoding.c:function brotli_unencode_write: error: undefined reference to 'BrotliDecoderDestroyInstance'
/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libcurl.a(libcurl_la-content_encoding.o):content_encoding.c:function brotli_unencode_write: error: undefined reference to 'BrotliDecoderDecompressStream'
/home/xbmc/opt/xbmc-deps/aarch64-linux-gnu-debug/lib/libcurl.a(libcurl_la-content_encoding.o):content_encoding.c:function brotli_unencode_write: error: undefined reference to 'BrotliDecoderGetErrorCode'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/kodi.dir/build.make:605: kodi.bin] Error 1
make[2]: Leaving directory '/home/xbmc/kodi-build'
make[1]: *** [CMakeFiles/Makefile2:5039: CMakeFiles/kodi.dir/all] Error 2
make[1]: Leaving directory '/home/xbmc/kodi-build'
make: *** [Makefile:136: all] Error 2
Reply
#22
So I have finally cross compiled to aarch64.

My questions about packaging still remain. This is the output of /home/xbmc/kodi-build.

drwxrwxr-x 57 xx xx      4096 Jan 17 09:53 addons
drwxrwxr-x 94 x xx      4096 Jan 17 09:53 build
-rw-rw-r--  1 xx xx    207334 Jan 17 09:53 CMakeCache.txt
-rw-rw-r--  1 xx xx     14582 Jan 17 09:53 CMakeDoxyfile.in
-rw-rw-r--  1 xx xx      4096 Jan 17 09:59 CMakeFiles
-rw-rw-r--  1 xx xx   1741066 Jan 17 09:53 cmake_install.cmake
-rw-rw-r--  1 xx xx   5101637 Jan 17 09:53 compile_commands.json
-rwxrwxr-x  1 xx xx 357544910 Jan 17 09:59 kodi.bin
-rw-rw-r--  1 xx xx    138990 Jan 17 09:59 libkodi.a
-rw-rw-r--  1 xx xx    130300 Jan 17 09:53 Makefile
drwxrwxr-x  3 xx xx      4096 Jan 17 09:53 media
drwxrwxr-x  9 xx xx      4096 Jan 17 09:53 system
drwxrwxr-x  3 xx xx      4096 Jan 17 09:53 userdata
-rw-rw-r--  1 xx xx     63349 Jan 17 09:53 wayland-extra-protocols.cpp
-rw-rw-r--  1 xx xx    112984 Jan 17 09:53 wayland-extra-protocols.hpp

When uploading to my aarch64 machine, do I just need kodi.bin, do I need the subfolders?
Do I need to install libs or is it statically compiled?

Sorry about the compilation questions.. but the cross compilation build doesn't seem to accept options in the format specified in docs.

1. Only kodi.bin was generated. But wayland, gbm should have been? Where are they?
2. kodi.bin is quite large, with --use_debug=no this comes down to 101284792. Any more optimisations I can make?
3. Using the cross-compilation method, how do I select wayland only and not wayland;gbm?
4. How do I pass other options?
5. Do I need set the prefix of where it is installed on the target device in compilation phase?
6. Does it work out KODI_HOME itself?



Thanks. It's been a while.
Reply
#23
Unfortunately the kodi binary wont run on my arm64 machine.

-sh: ./kodi-bin: not found

To test my cross-compiler, Ive tried compiling a static helloworld.c and this worked!, but then a dynamic helloworld.c did not. Kodi is dynamically linked?

file kodi.bin
Quote:kodi.bin: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, for GNU/Linux 3.7.0, BuildID[sha1]=22df028af42cf152a277e9f93d32a8737499eb29, with debug_info, not stripped

readelf -d kodi.bin
Quote:Dynamic section at offset 0x42aba48 contains 46 entries:
  Tag        Type                         Name/Value
 0x0000000000000003 (PLTGOT)             0x42cd098
 0x0000000000000002 (PLTRELSZ)           36336 (bytes)
 0x0000000000000017 (JMPREL)             0xbbad68
 0x0000000000000014 (PLTREL)             RELA
 0x0000000000000007 (RELA)               0x6f0860
 0x0000000000000008 (RELASZ)             5022984 (bytes)
 0x0000000000000009 (RELAENT)            24 (bytes)
 0x000000006ffffff9 (RELACOUNT)          205510
 0x0000000000000015 (DEBUG)              0x0
 0x0000000000000006 (SYMTAB)             0x2d0
 0x000000000000000b (SYMENT)             24 (bytes)
 0x0000000000000005 (STRTAB)             0x2135e8
 0x000000000000000a (STRSZ)              4234212 (bytes)
 0x000000006ffffef5 (GNU_HASH)           0x61d1d0
 0x0000000000000001 (NEEDED)             Shared library: [libasound.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libcec.so]
 0x0000000000000001 (NEEDED)             Shared library: [libdbus-1.so.3]
 0x0000000000000001 (NEEDED)             Shared library: [libpipewire-0.3.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libass.so.9]
 0x0000000000000001 (NEEDED)             Shared library: [libwayland-client++.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libwayland-cursor++.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libwayland-egl++.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libdrm.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libGLESv2.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libEGL.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libgbm.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libinput.so.10]
 0x0000000000000001 (NEEDED)             Shared library: [libshairplay.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [ld-linux-aarch64.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libstdc++.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgcc_s.so.1]
 0x000000000000000c (INIT)               0xbc3b58
 0x000000000000000d (FINI)               0x2f1c204
 0x000000000000001a (FINI_ARRAY)         0x41df1c0
 0x000000000000001c (FINI_ARRAYSZ)       40 (bytes)
 0x0000000000000019 (INIT_ARRAY)         0x41df1e8
 0x000000000000001b (INIT_ARRAYSZ)       8600 (bytes)
 0x000000000000001d (RUNPATH)            Library runpath: [/home/developer/opt/xbmc-deps/aarch64-linux-gnu-release/lib]
 0x000000000000001e (FLAGS)              BIND_NOW
 0x000000006ffffffb (FLAGS_1)            Flags: NOW PIE
 0x000000006ffffff0 (VERSYM)             0x6c40ec
 0x000000006ffffffe (VERNEED)            0x6f0530
 0x000000006fffffff (VERNEEDNUM)         8
 0x0000000000000000 (NULL)               0x0

This /lib/ld-linux-aarch64.so.1 does not exist on my target device. Is that the reason it wont run?? What's the best option here?

My target device has in /lib:
-rwxr-xr-x    1 root     root       1292936 Dec  1 05:41 ld-2.31.so
lrwxrwxrwx    1 root     root            10 Dec  1 05:41 ld-linux.so.3 -> ld-2.31.so

Is there anyway to trace why the kodi.bin does not run? Could there be more needed libs? Or is it something else?
Reply
#24
I've tried creating a static build but it just fails. Losing the will to live! Not sure if this is the right course of action anyway..

cd tools/depends
./bootstrap
./configure --prefix=/home/developer/opt/xbmc-deps --host=aarch64-linux-gnu --with-rendersystem=gles --enable-debug=no --with-target-ldflags=static
 
Quote:[ 53%] Linking C shared library libz.so
/home/developer/opt/xbmc-deps/x86_64-linux-gnu-native/bin/cmake -E cmake_link_script CMakeFiles/zlib.dir/link.txt --verbose=1
/usr/bin/aarch64-linux-gnu-gcc -fPIC -fPIC -DPIC -DNDEBUG=1 -Os   -isystem /home/developer/opt/xbmc-deps/aarch64-linux-gnu-release/include -Wl,--version-script,"/home/developer/kodi/tools/depends/target/zlib/aarch64-linux-gnu-release/zlib.map" -L/home/developer/opt/xbmc-deps/aarch64-linux-gnu-release/lib -Wl,-rpath-link=/home/developer/opt/xbmc-deps/aarch64-linux-gnu-release/lib -static -shared -Wl,-soname,libz.so.1 -o libz.so.1.2.12 CMakeFiles/zlib.dir/adler32.o CMakeFiles/zlib.dir/compress.o CMakeFiles/zlib.dir/crc32.o CMakeFiles/zlib.dir/deflate.o CMakeFiles/zlib.dir/gzclose.o CMakeFiles/zlib.dir/gzlib.o CMakeFiles/zlib.dir/gzread.o CMakeFiles/zlib.dir/gzwrite.o CMakeFiles/zlib.dir/inflate.o CMakeFiles/zlib.dir/infback.o CMakeFiles/zlib.dir/inftrees.o CMakeFiles/zlib.dir/inffast.o CMakeFiles/zlib.dir/trees.o CMakeFiles/zlib.dir/uncompr.o CMakeFiles/zlib.dir/zutil.o 
/usr/lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/bin/ld: /usr/lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/lib/../lib/libc.a(libc-start.o): in function `call_fini':
(.text+0x4): undefined reference to `__fini_array_start'
/usr/lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/bin/ld: (.text+0x8): undefined reference to `__fini_array_start'
/usr/lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/bin/ld: (.text+0x14): undefined reference to `__fini_array_end'
/usr/lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/bin/ld: (.text+0x18): undefined reference to `__fini_array_end'
/usr/lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/bin/ld: (.text+0x28): undefined reference to `__fini_array_start'
/usr/lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/bin/ld: (.text+0x2c): undefined reference to `__fini_array_start'
/usr/lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/bin/ld: /usr/lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/lib/../lib/libc.a(libc-start.o): in function `__libc_start_main_impl':
(.text+0x350): undefined reference to `__preinit_array_end'
/usr/lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/bin/ld: (.text+0x354): undefined reference to `__preinit_array_start'
/usr/lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/bin/ld: (.text+0x358): undefined reference to `__preinit_array_end'
/usr/lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/bin/ld: (.text+0x35c): undefined reference to `__preinit_array_start'
/usr/lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/bin/ld: (.text+0x39c): undefined reference to `__init_array_start'
/usr/lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/bin/ld: (.text+0x3a0): undefined reference to `__init_array_end'
/usr/lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/bin/ld: (.text+0x3a4): undefined reference to `__init_array_start'
/usr/lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/bin/ld: (.text+0x3a8): undefined reference to `__init_array_end'
/usr/lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/bin/ld: libz.so.1.2.12: hidden symbol `__fini_array_end' isn't defined
/usr/lib/gcc-cross/aarch64-linux-gnu/12/../../../../aarch64-linux-gnu/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
make[5]: *** [CMakeFiles/zlib.dir/build.make:321: libz.so.1.2.12] Error 1
make[5]: Leaving directory '/home/developer/kodi/tools/depends/target/zlib/aarch64-linux-gnu-release/build'
make[4]: *** [CMakeFiles/Makefile2:111: CMakeFiles/zlib.dir/all] Error 2
make[4]: Leaving directory '/home/developer/kodi/tools/depends/target/zlib/aarch64-linux-gnu-release/build'
make[3]: *** [Makefile:146: all] Error 2
make[3]: Leaving directory '/home/developer/kodi/tools/depends/target/zlib/aarch64-linux-gnu-release/build'
make[2]: *** [Makefile:25: .installed-aarch64-linux-gnu-release] Error 2
make[2]: Leaving directory '/home/developer/kodi/tools/depends/target/zlib'
make[1]: *** [Makefile:173: zlib] Error 2
make[1]: Leaving directory '/home/developer/kodi/tools/depends/target'
make: *** [Makefile:11: target/.installed-aarch64-linux-gnu-release] Error 2
Reply
#25
i see youre using ubuntu to build but what device & operating system are you trying to build for
Reply
#26
I can see the issue with zlib is because it is not using the zlibstatic version as per the CMakeLists.txt as it shouldn't build zlib at all??

https://github.com/xbmc/xbmc/blob/master...y.patch#L8

The patch has been applied.

What compile options am I missing to trigger this usage? I am using:
./configure --prefix=/home/developer/opt/xbmc-deps --host=aarch64-linux-gnu --with-rendersystem=gles --enable-debug=no --with-target-ldflags=static
Reply
#27
The files that kodi build in /home/developer/opt/xbmc-deps are they just used in the compilation or are they needed on the target device i.e. the libs?
Reply
#28
(2023-01-18, 08:45)jepsizofye Wrote: i see youre using ubuntu to build but what device & operating system are you trying to build for

I am building for ARM device that has a quad core Cortex-A76. It has Linux 5.4.96-266 kernel, Python 3.8, looks like it was built using GCC 9.3.0 and has libc 2.31 installed.

The architecture is aarch64.
Reply
#29
not sure if youre intentionally being vague but when i compile for aarch64 for raspberry pi 3B+ on raspbian it requires the same ldlinux you posted about 5 posts ago and i have to install binutils onto raspbian to make kodi run
Reply
#30
(2023-01-18, 18:03)jepsizofye Wrote: not sure if youre intentionally being vague but when i compile for aarch64 for raspberry pi 3B+ on raspbian it requires the same ldlinux you posted about 5 posts ago and i have to install binutils onto raspbian to make kodi run

I am currently using dev mode on a LG TV. It runs Linux. I'm not sure which distro it uses.

However, I have just discovered something annoying but useful.

uname -a
Linux LGwebOSTV 5.4.96-266.mlt4tv.1 #1 SMP PREEMPT Fri Nov 25 04:25:18 UTC 2022 aarch64 GNU/Linux

getconf LONG_BIT
32

So it is running a 32-bit OS on a 64-bit kernel.
Reply

Logout Mark Read Team Forum Stats Members Help
Cross compiling to aarch640