Cross-compile kodi 20.2 for aarch64 - cmake ignores internal TexturePacker
#1
Hi

I'm compiling on Gentoo using crossdev.

When I compile inside a QEMU chroot, the build process works makes it to the actual compilation stage, but when I cross compile like this
Code:
aarch64-unknown-linux-gnu-emerge media-tv/kodi
cmake tries to use external TexturePacker for some reason (despite reporting "shipping internal TexturePacker" on the previous line!) and the build fails here since I obviously don't have that TexturePacker thing globally installed (who does).
Here's the piece of log https://paste.kodi.tv/emugomalez

I believe some breaking changes to TexturePacker were introduced in kodi 20+
https://github.com/LibreELEC/LibreELEC.tv/pull/5872
https://github.com/xbmc/xbmc/pull/20413
but I'm not sure if it's relevant to my issue.

I'm using kodi-9999.ebuild that grabs sources directly from the xbmc repo so I don't think it's an ebuild issue.

Any idea why this happens or what I can try to get cmake properly handling the TexturePacker dependency?

No I don't want to compile in qemu because it's likely gonna take a few days to finish.

Thanks
Reply
#2
I fixed that in Debian: https://salsa.debian.org/multimedia-team.../rules#L83 and https://salsa.debian.org/multimedia-team...rules#L204

This patch may also be useful if you build using fakeroot: https://salsa.debian.org/multimedia-team...pile.patch

Please note changes will be made to Debian packaging after https://github.com/xbmc/xbmc/pull/23417 grts into 21.0 beta 2.
Maintainer of Kodi from Debian | Got an issue with Kodi from Debian? Report it here: Kodi from Debian - Support Thread
Reply
#3
It sounds like the issue you are experiencing is due to a bug in Kodi 20+. The bug has been reported to the Kodi developers and is being investigated.
In the meantime, there are a few things you can try to get cmake to properly handle the TexturePacker dependency:
Try setting the CMAKE_FIND_TEXTURE_PACKER variable to OFF. This will tell cmake to not use the external TexturePacker.
Try installing the external TexturePacker. This is not a recommended solution, but it may be a temporary workaround until the bug is fixed.
Try using the Kodi-19 ebuild. This will give you a version of Kodi that does not have the bug.
To set the CMAKE_FIND_TEXTURE_PACKER variable to OFF, you can add the following line to your environment variables before running cmake:
CMAKE_FIND_TEXTURE_PACKER=OFF
To install the external TexturePacker, you can use the following command:
emerge media-gfx/texturepacker
To use the Kodi-19 ebuild, you can modify your Portage configuration file to use the Kodi-19 ebuild. For example, if you are using the gentoo-unstable Portage overlay, you can add the following line to your /etc/portage/repos.conf file:
[overlay] layman-unstable = overlay
Once you have made this change, you can update your Portage package tree and install the Kodi-19 ebuild:
emerge --sync emerge media-tv/kodi
I hope this helps!
Reply

Logout Mark Read Team Forum Stats Members Help
Cross-compile kodi 20.2 for aarch64 - cmake ignores internal TexturePacker0