Cross compiling to aarch64
#31
so you need an aarch32 cross compile? never done one, point was its not unusual for aarch64 to need ldlinux so before you tried to static compile you were at the finish line the system just didnt have the ldlinux kodi wanted which looks like aarch32 now, maybe
Reply
#32
I've finally manged to get my cross compiler to work with a hello world program..

trick was to install gcc-arm-linux-gnueabi (arm32), not only that but install the focal version as that has the same glibc version as on the target device 2.31, unlike Ubuntu 22.10 which has a newer version.

So I've discovered that:

32-bit static binaries will execute
32-bit dynamic binaries require the same ld and libc versions to be compiled against.
64-bit static binary will execute
64-bit dynamic binaries wont execute due to no 64-bit ld or glibc.

Cross compiling kodi again now but this time with 32-bit arm binary and glibc 2.31 (thanks to packages in focal) and see how I get on.
Reply
#33
UPDATE to the below.. this is probably because I forgot to install the g++ arm32 compiler..

This just gets worse and worse Smile 32-bit arm compile on Ubuntu 22.10 (x86_64) using arm-linux-gnueabi with tools/depends

cd tools/depends
./bootstrap
./configure --prefix=/home/developer/opt/xbmc-deps --host=arm-linux-gnueabi --with-rendersystem=gles --enable-debug=no
Quote:make -C arm-linux-gnueabi-release
make[3]: Entering directory '/home/developer/kodi/tools/depends/target/libass/arm-linux-gnueabi-release'
make  all-recursive
make[4]: Entering directory '/home/developer/kodi/tools/depends/target/libass/arm-linux-gnueabi-release'
Making all in libass
make[5]: Entering directory '/home/developer/kodi/tools/depends/target/libass/arm-linux-gnueabi-release/libass'
  CC       ass.lo
  CC       ass_utils.lo
  CC       ass_string.lo
  CC       ass_strtod.lo
  CC       ass_library.lo
  CC       ass_cache.lo
  CC       ass_font.lo
  CC       ass_fontselect.lo
  CC       ass_render.lo
  CC       ass_render_api.lo
  CC       ass_parse.lo
  CC       ass_shaper.lo
  CC       ass_outline.lo
  CC       ass_drawing.lo
  CC       ass_rasterizer.lo
  CC       ass_rasterizer_c.lo
  CC       ass_bitmap.lo
  CC       ass_blur.lo
  CC       ass_fontconfig.lo
  CCLD     libass.la
/usr/lib/gcc-cross/arm-linux-gnueabi/12/../../../../arm-linux-gnueabi/bin/ld: /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libharfbuzz.a: error adding symbols: archive has no index; run ranlib to add one
collect2: error: ld returned 1 exit status
make[5]: *** [Makefile:504: libass.la] Error 1
make[5]: Leaving directory '/home/developer/kodi/tools/depends/target/libass/arm-linux-gnueabi-release/libass'
make[4]: *** [Makefile:474: all-recursive] Error 1
make[4]: Leaving directory '/home/developer/kodi/tools/depends/target/libass/arm-linux-gnueabi-release'
make[3]: *** [Makefile:383: all] Error 2
make[3]: Leaving directory '/home/developer/kodi/tools/depends/target/libass/arm-linux-gnueabi-release'
make[2]: *** [Makefile:34: arm-linux-gnueabi-release/libass/.libs/libass.a] Error 2
make[2]: Leaving directory '/home/developer/kodi/tools/depends/target/libass'
make[1]: *** [Makefile:173: libass] Error 2
make[1]: Leaving directory '/home/developer/kodi/tools/depends/target'
make: *** [Makefile:11: target/.installed-arm-linux-gnueabi-release] Error 2
Reply
#34
So close... looking into how to fix. Cross compiling is the worst thing ever.

This is my configure:
./configure --prefix=/home/developer/opt/xbmc-deps --host=arm-linux-gnueabi --with-rendersystem=gles --enable-debug=no --with-target-cflags='-march=armv7-a -mfloat-abi=softfp -mfpu=neon'
Quote:[100%] Linking CXX executable kodi.bin
build/threads/threads.a(Thread.cpp.o):Thread.cpp:function std::promise<bool>::~promise(): error: undefined reference to 'std::__atomic_futex_unsigned_base::_M_futex_notify_all(unsigned int*)'
build/threads/threads.a(Thread.cpp.o):Thread.cpp:function std::promise<bool>:Confusedet_value(bool&&): error: undefined reference to 'std::__atomic_futex_unsigned_base::_M_futex_notify_all(unsigned int*)'
build/threads/threads.a(Thread.cpp.o):Thread.cpp:function std::future_status std::__future_base::_State_baseV2::wait_for<long long, std::ratio<1ll, 1000ll> >(std::chrono::duration<long long, std::ratio<1ll, 1000ll> > const&): error: undefined reference to 'std::__atomic_futex_unsigned_base::_M_futex_wait_until_steady(unsigned int*, unsigned int, bool, std::chrono::duration<long long, std::ratio<1ll, 1ll> >, std::chrono::duration<long long, std::ratio<1ll, 1000000000ll> >)'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/kodi.dir/build.make:607: kodi.bin] Error 1
make[1]: *** [CMakeFiles/Makefile2:4983: CMakeFiles/kodi.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

make VERBOSE=1
Quote:[100%] Linking CXX executable kodi.bin
/home/developer/opt/xbmc-deps/x86_64-linux-gnu-native/bin/cmake -E cmake_link_script CMakeFiles/kodi.dir/link.txt --verbose=1
/usr/bin/arm-linux-gnueabi-g++ -fPIC -DPIC -DNDEBUG=1 -Os -march=armv7-a -mfloat-abi=softfp -mfpu=neon -std=c++17  -isystem /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/include -Wall -Wdouble-promotion -Wmissing-field-initializers -Wsign-compare -Wextra -Wno-unused-parameter -Wno-cast-function-type -Wnon-virtual-dtor -fPIC -DPIC -DNDEBUG=1 -Os -march=armv7-a -mfloat-abi=softfp -mfpu=neon  -isystem /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/include -L/home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib -Wl,-rpath-link=/home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib   -fuse-ld=gold -Wl,--export-dynamic -rdynamic CMakeFiles/kodi.dir/xbmc/platform/posix/main.cpp.o -o kodi.bin  -Wl,-rpath,/home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib -Wl,--whole-archive /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/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/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libasound.so /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libbluray.a -lbluray -ldl -lxml2 -lz -lm -lfontconfig -lfreetype -lbz2 -lharfbuzz -lm -lexpat -lm -ludfread /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libcec.so /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libdav1d.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libdbus-1.so /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libiso9660++.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libiso9660.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libcdio.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libmicrohttpd.a -lmicrohttpd -lpthread -lgnutls -lgmp -latomic -ldl -lhogweed -lgmp -lnettle /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libnfs.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libpipewire-0.3.so /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libplist-2.0.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libpython3.11.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/liblzma.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libffi.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libexpat.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libintl.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libgmp.a -lpthread -ldl -lutil -lrt /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libsmbclient.a -lsmbclient -lresolv -lz -lgnutls -lcrypto -lgnutls -lgmp -latomic -ldl -lhogweed -lgmp -lnettle /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libudev.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libudfread.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libxslt.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libxml2.a -L/home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib -lxml2 -lz -lm /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libass.so /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libcdio.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libcrossguid.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libuuid.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libcurl.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libnghttp2.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libavcodec.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libavfilter.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libavformat.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libavutil.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libswscale.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libswresample.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libpostproc.a -L/home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib -lavfilter -pthread -lm -latomic -lavformat -lm -latomic -lbz2 -lz -lgnutls -lgmp -latomic -ldl -lhogweed -lgmp -lnettle -lavcodec -pthread -lm -latomic -llzma -ldav1d -pthread -ldl -lz -lswscale -lm -latomic -lswresample -lm -latomic -lpostproc -lm -latomic -lavutil -pthread -lm -latomic /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libfmt.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libfreetype.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libfribidi.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libfstrcmp.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libharfbuzz.a -lc /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libdvdnav.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libdvdread.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libdvdcss.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/liblzo2.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libssl.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libcrypto.a -ldl /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libpcrecpp.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libpcre.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libspdlog.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libsqlite3.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libtag.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libtinyxml.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libz.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libwayland-client++.so /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libwayland-cursor++.so /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libwayland-egl++.so /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libdrm.so /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libxkbcommon.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libGLESv2.so /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libEGL.so /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libgbm.so /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libdrm.so /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libinput.so /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libxkbcommon.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libudev.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libGLESv2.so /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libEGL.so /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/mariadb/libmariadbclient.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/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/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libfstrcmp.a -ldl -lxml2 -lz -lm -lfontconfig -lfreetype -lbz2 -lharfbuzz -lexpat -ludfread /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libcec.so /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libdav1d.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libdbus-1.so /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libiso9660++.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libiso9660.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libcdio.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libmicrohttpd.a -lmicrohttpd -lpthread -lgnutls -lgmp -latomic -lhogweed -lnettle /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libnfs.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libpipewire-0.3.so /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libplist-2.0.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libpython3.11.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/liblzma.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libffi.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libexpat.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libintl.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libgmp.a -lutil -lrt /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libsmbclient.a -lsmbclient -lresolv -lcrypto /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libudfread.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libxslt.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libxml2.a -lxml2 -lz -lm /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libass.so /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libcrossguid.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libuuid.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libcurl.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libnghttp2.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libavcodec.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libavfilter.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libavformat.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libavutil.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libswscale.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libswresample.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libpostproc.a -lavfilter -latomic -lavformat -lbz2 -lgnutls -lgmp -ldl -lhogweed -lnettle -lavcodec -llzma -ldav1d -lswscale -lswresample -lpostproc -lavutil /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libfmt.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libfreetype.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libfribidi.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libharfbuzz.a -lc /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libdvdnav.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libdvdread.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libdvdcss.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/liblzo2.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libssl.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libcrypto.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libpcrecpp.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libpcre.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libspdlog.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libsqlite3.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libtag.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libtinyxml.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libz.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libwayland-client++.so /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libwayland-cursor++.so /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libwayland-egl++.so /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libdrm.so /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libgbm.so /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libinput.so /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/mariadb/libmariadbclient.a /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libshairplay.so 
build/threads/threads.a(Thread.cpp.o):Thread.cpp:function std::promise<bool>::~promise(): error: undefined reference to 'std::__atomic_futex_unsigned_base::_M_futex_notify_all(unsigned int*)'
build/threads/threads.a(Thread.cpp.o):Thread.cpp:function std::promise<bool>:Confusedet_value(bool&&): error: undefined reference to 'std::__atomic_futex_unsigned_base::_M_futex_notify_all(unsigned int*)'
build/threads/threads.a(Thread.cpp.o):Thread.cpp:function std::future_status std::__future_base::_State_baseV2::wait_for<long long, std::ratio<1ll, 1000ll> >(std::chrono::duration<long long, std::ratio<1ll, 1000ll> > const&): error: undefined reference to 'std::__atomic_futex_unsigned_base::_M_futex_wait_until_steady(unsigned int*, unsigned int, bool, std::chrono::duration<long long, std::ratio<1ll, 1ll> >, std::chrono::duration<long long, std::ratio<1ll, 1000000000ll> >)'
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/kodi.dir/build.make:607: kodi.bin] Error 1
make[2]: Leaving directory '/home/developer/kodi-build'
make[1]: *** [CMakeFiles/Makefile2:4983: CMakeFiles/kodi.dir/all] Error 2
make[1]: Leaving directory '/home/developer/kodi-build'
make: *** [Makefile:136: all] Error 2
 
Reply
#35
a little encouragement. way back when i remember everyone telling me it couldn't be done when i wanted to put a full linux desktop onto an android tablet (at the time the motorola xoom)
about 1000 kernel recompiles later i had blackbox desktop running on a custom debian kernel when nobody else had even thought it possible

it didnt work worth a shit but the screenshot of linux on a xoom was more than worth it

kudos on out of the box thinking
Reply
#36
Thanks jepsizofye Smile

wsnipex - how do I pass ENABLE_CEC=OFF so that it is generated in tools/depends/target/cmakebuildsys/Makefile ? The current libcec code is causing me grief.

This is my current config:
Quote:cd tools/depends
./bootstrap
./configure --prefix=/home/developer/opt/xbmc-deps --host=arm-linux-gnueabi --with-rendersystem=gles  --enable-debug=no --with-target-cflags='-march=armv7-a -mfloat-abi=softfp -mfpu=neon'
make -C tools/depends/target/cmakebuildsys BUILD_DIR=/home/developer/kodi-build
make -j16

cd /home/developer/kodi-build
make -j16

One more question, how am I supposed to package this up? I know I can manually copy the files across but is there another tool built in to the unified builds system?

The kodi.bin I've now generated needs the following on the target host:
Quote:arm-linux-gnueabi-readelf -d kodi.bin | grep 'NEEDED'
 0x00000001 (NEEDED)                     Shared library: [libasound.so.2]
 0x00000001 (NEEDED)                     Shared library: [libdl.so.2]
 0x00000001 (NEEDED)                     Shared library: [libpthread.so.0]
 0x00000001 (NEEDED)                     Shared library: [libm.so.6]
 0x00000001 (NEEDED)                     Shared library: [libdbus-1.so.3]
 0x00000001 (NEEDED)                     Shared library: [libatomic.so.1]
 0x00000001 (NEEDED)                     Shared library: [libpipewire-0.3.so.0]
 0x00000001 (NEEDED)                     Shared library: [libutil.so.1]
 0x00000001 (NEEDED)                     Shared library: [librt.so.1]
 0x00000001 (NEEDED)                     Shared library: [libresolv.so.2]
 0x00000001 (NEEDED)                     Shared library: [libcrypt.so.1]
 0x00000001 (NEEDED)                     Shared library: [liblttng-ust.so.1]
 0x00000001 (NEEDED)                     Shared library: [libass.so.9]
 0x00000001 (NEEDED)                     Shared library: [libwayland-client++.so.0]
 0x00000001 (NEEDED)                     Shared library: [libwayland-cursor++.so.0]
 0x00000001 (NEEDED)                     Shared library: [libwayland-egl++.so.0]
 0x00000001 (NEEDED)                     Shared library: [libdrm.so.2]
 0x00000001 (NEEDED)                     Shared library: [libGLESv2.so.2]
 0x00000001 (NEEDED)                     Shared library: [libEGL.so.1]
 0x00000001 (NEEDED)                     Shared library: [libgbm.so.1]
 0x00000001 (NEEDED)                     Shared library: [libinput.so.10]
 0x00000001 (NEEDED)                     Shared library: [libshairplay.so.0]
 0x00000001 (NEEDED)                     Shared library: [libstdc++.so.6]
 0x00000001 (NEEDED)                     Shared library: [libgcc_s.so.1]
 0x00000001 (NEEDED)                     Shared library: [libc.so.6]
 0x00000001 (NEEDED)                     Shared library: [ld-linux.so.3]
Reply
#37
To pass cmake defines through to the cmakebuildsys, use the CMAKE_EXTRA_ARGUMENTS flag like below


cpp:
make -C tools/depends/target/cmakebuildsys CMAKE_EXTRA_ARGUMENTS="-DENABLE_XCODE_ADDONBUILD=ON -DADDONS_TO_BUILD='peripheral.joystick' -DCMAKE_TOOLCHAIN_FILE=/Users/kodi-depends/build/Toolchain.cmake"

Edit:

Maybe i should also add, the cmakebuildsys makefile is purely just a convenience wrapper. You can just generate the project cmake like any other cmake project

cpp:
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/home/parallels/Dev -DCORE_PLATFORM_NAME=gbm -DAPP_RENDER_SYSTEM=gl -DCMAKE_BUILD_TYPE=Debug -DENABLE_INTERNAL_CROSSGUID=OFF -DENABLE_INTERNAL_FMT=ON -DENABLE_INTERNAL_SPDLOG=ON -DENABLE_INTERNAL_UDFREAD=ON -DENABLE_INTERNAL_FFMPEG=ON -DENABLE_TESTING=OFF -DENABLE_INTERNAL_CROSSGUID=ON
Reply
#38
(2023-01-21, 04:01)tutu Wrote: ... One more question, how am I supposed to package this up? ...
that i actually may having a working solution for, put the libs in a subfolder of kodi, use a batch script when starting kodi, within the batch script use export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/exta/kodi/libs with the correct path obviously, followed by kodi.bin etc
Reply
#39
Thanks Fuzzard! That worked perfectly.

jepsizofye - great idea I've now done this.

Now my build looks like this:

cd tools/depends
./bootstrap
./configure --prefix=/home/developer/opt/xbmc-deps --host=arm-linux-gnueabi --with-rendersystem=gles  --enable-debug=no --with-target-cflags='-march=armv7-a -mfloat-abi=softfp -mfpu=neon' \
 --with-target-cxxflags='-static-libstdc++'
make -j16

make -C tools/depends/target/cmakebuildsys BUILD_DIR=/home/developer/kodi-build CMAKE_EXTRA_ARGUMENTS="-DENABLE_CEC=OFF"
cd /home/developer/kodi-build
make -j16

But I had these errors running kodi.bin on my target device. Adding -static-libstdc++ seemed to have fixed the first three errors except the last one:
Quote:/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.30' not found
/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.29' not found
/usr/lib/libstdc++.so.6: version `CXXABI_1.3.13' not found
/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /media/developer/lib/libwayland-client++.so.0)

But this issue still remains. Why wasn't libwayland-client++.so.0 built with or works with --with-target-cxxflags='-static-libstdc++'
 
Quote:./kodi.bin: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /media/developer/lib/libwayland-client++.so.0)


Looking at libwayland-client being built:
Quote:[ 80%] Building CXX object CMakeFiles/wayland-client++.dir/src/wayland-client.cpp.o
/home/developer/toolchain/arm-linux-gnueabi_sdk-buildroot/bin/arm-linux-gnueabi-g++ -Dwayland_client___EXPORTS -I/home/developer/kodi/tools/depends/target/waylandpp/arm-linux-gnueabi-release/include -I/home/developer/kodi/tools/depends/target/waylandpp/arm-linux-gnueabi-release/build -fPIC -DPIC -DNDEBUG=1 -Os -static-libstdc++ -std=c++17  -isystem /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/include -fPIC -I/home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/include -std=gnu++11 -MD -MT CMakeFiles/wayland-client++.dir/src/wayland-client.cpp.o -MF CMakeFiles/wayland-client++.dir/src/wayland-client.cpp.o.d -o CMakeFiles/wayland-client++.dir/src/wayland-client.cpp.o -c /home/developer/kodi/tools/depends/target/waylandpp/arm-linux-gnueabi-release/src/wayland-client.cpp

[ 95%] Linking CXX shared library libwayland-client++.so
/home/developer/opt/xbmc-deps/x86_64-linux-gnu-native/bin/cmake -E cmake_link_script CMakeFiles/wayland-client++.dir/link.txt --verbose=1
/home/developer/toolchain/arm-linux-gnueabi_sdk-buildroot/bin/arm-linux-gnueabi-g++ -fPIC -fPIC -DPIC -DNDEBUG=1 -Os -static-libstdc++ -std=c++17  -isystem /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/include -Wl,--no-undefined -L/home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib -Wl,-rpath-link=/home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib -shared -Wl,-soname,libwayland-client++.so.0 -o libwayland-client++.so.0.2.8 CMakeFiles/wayland-client++.dir/src/wayland-client.cpp.o CMakeFiles/wayland-client++.dir/src/wayland-util.cpp.o CMakeFiles/wayland-client++.dir/wayland-client-protocol.cpp.o  /home/developer/opt/xbmc-deps/arm-linux-gnueabi-release/lib/libwayland-client.so 
/home/developer/opt/xbmc-deps/x86_64-linux-gnu-native/bin/cmake -E cmake_symlink_library libwayland-client++.so.0.2.8 libwayland-client++.so.0 libwayland-client++.so

It has -static-libstdc++ so why isn't it working?

UPDATE: never mind.. a rebuild fixed it. Maybe some old stale files?
Reply
#40
So I've finally got an executable that doesn't complain about libraries.

I've zipped up kodi-build/kodi.bin and its sub-folders and uploaded it.
I've zipped up opt/xbmc-deps/arm-linux-gnueabi-release/lib and uploaded those as well.

When running kodi.bin I get:
Quote:xkbcommon: ERROR: Couldn't find file "rules/evdev" in include paths
xkbcommon: ERROR: 1 include paths searched:
xkbcommon: ERROR:     /media/developer/opt/xbmc-deps/arm-linux-gnueabi-release/share/X11/xkb
xkbcommon: ERROR: 1 include paths could not be added:
xkbcommon: ERROR:     /media/developer//.xkb
xkbcommon: ERROR: Couldn't look up rules 'evdev', model 'pc105', layout 'us', variant '(null)', options '(null)'
ERROR: Unable to create GUI. Exiting

Looking in kodi.log I see:
Quote:2023-01-21 14:55:12.579 T:6846    debug <general>: CApplication::CreateGUI - trying to init wayland windowing system
2023-01-21 14:55:12.579 T:6846    debug <general>: CWinSystemWayland::InitWindowSystem - WAYLAND_DISPLAY env not set
2023-01-21 14:55:12.579 T:6846    debug <general>: CApplication::CreateGUI - unable to init wayland windowing system
2023-01-21 14:55:12.579 T:6846    debug <general>: CApplication::CreateGUI - trying to init gbm windowing system

bit later:2023-01-21 15:52:26.302 T:7428    error <general>: CDRMUtils::OpenDrm - no drm devices found: (No such file or directory)
2023-01-21 15:52:26.302 T:7428    error <general>: CWinSystemGbm::InitWindowSystem - failed to initialize Atomic DRM
2023-01-21 15:52:26.302 T:7428    error <general>: CDRMUtils::OpenDrm - no drm devices found: (No such file or directory)
2023-01-21 15:52:26.302 T:7428    error <general>: CWinSystemGbm::InitWindowSystem - failed to initialize Legacy DRM
2023-01-21 15:52:26.302 T:7428    error <general>: CDRMUtils::OpenDrm - no drm devices found: (No such file or directory)
2023-01-21 15:52:26.302 T:7428    error <general>: CWinSystemGbm::InitWindowSystem - failed to initialize off screen DRM
2023-01-21 15:52:26.302 T:7428    debug <general>: CApplication::CreateGUI - unable to init gbm windowing system
2023-01-21 15:52:26.302 T:7428    debug <general>: CWinSystemGbm:Big GrinestroyWindowSystem - deinitialized DRM
2023-01-21 15:52:26.302 T:7453    debug <general>: Thread libinput 4099927680 terminating
2023-01-21 15:52:26.302 T:7428  critical <general>: CApplication::CreateGUI - unable to init windowing system

Where do I go from here? Should the tools/depend method of building at least allow kodi to connect to wayland?
Reply
#41
a lot to unpack here and im only at 10% caffeine capacity so heres what i see:
1. the first thing with gcc which looks like you got passed, theres 2 static args -static-libgcc -static-libstdc++ in cmake not just 1
2. the udev thing im not sure on
3. looks like you need some more env variables so kodi knows what its doing, found this which has an outline of what i mean but i didnt read it all the way so some information may not be accurate
https://discourse.ubuntu.com/t/environme...kers/12750
4. the drm thing i believe is the inputstream adaptive stuff lib_wvss* something i forget the exact filename
5. congrats kodi looks like it is in fact able to run on the system binary and depends speaking alone since you are getting a log
6. forgot you also need to compile binary addons after compiling kodi, this could be the reason for the drm message
Code:
make -j$(getconf _NPROCESSORS_ONLN) binary-addons ADDONS="inputstream.adaptive"
for selecting only inputstream to build, take ADDONS= out of the command to build them all but theres a lot
Reply
#42
Thanks jepsizofye.

I've run this and it's off compiling. Hope I got the correct prefix but it matches the one from my configure script above (./configure --prefix=/home/developer/opt/xbmc-deps)

make -j$(getconf _NPROCESSORS_ONLN) -C tools/depends/target/binary-addons PREFIX=/media/developer/opt/xbmc-deps
Reply
#43
Is the drm stuff needed to open the GUI or is that totally unrelated error? I need to get it to open a display first
Reply
#44
(2023-01-21, 18:10)tutu Wrote: Is the drm stuff needed to open the GUI or is that totally unrelated error? I need to get it to open a display first
i dont want to commit to an answer but likelihood is above 90% that its only needed to play inputstream widevine stuff

i was completely wrong, see next post
Reply
#45
DRM in this instance isn't anything to do with IA.

https://en.m.wikipedia.org/wiki/Direct_R...ng_Manager

I don't do Linux stuff, so got no other info, but usually DRM errors are gfx driver based solutions
Reply

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