[Buildroot] [PATCH 1/4] package/kodi: remove libamcodec support
Arnout Vandecappelle
arnout at mind.be
Sun Apr 1 12:20:37 UTC 2018
On 01-04-18 13:41, Bernd Kuhls wrote:
> Am Sun, 01 Apr 2018 10:27:22 +0200 schrieb daggs:
>
>> as said by Thomas in another mail, there shouldn't be any dependency,
>> what is the exact issue? compilation failure? what kodi version are you
>> using?
>
> Hi daggs,
>
> the following builds were all made with unpatched buildroot master branch.
>
> The only successful kodi build including libamcodec was made with odroid-
> mali using this defconfig:
>
> BR2_aarch64=y
> BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
> BR2_TOOLCHAIN_BUILDROOT_CXX=y
> BR2_PACKAGE_KODI=y
> BR2_PACKAGE_ODROID_MALI=y
> BR2_PACKAGE_PYTHON=y
> BR2_PACKAGE_PYTHON_PY_ONLY=y
> BR2_PACKAGE_LIBAMCODEC=y
So, maybe the condition in kodi.mk should just change to:
-ifeq ($(BR2_PACKAGE_LIBAMCODEC),y)
+ifeq ($(BR2_PACKAGE_LIBAMCODEC)$(BR2_PACKAGE_ODROID_MALI),yy)
KODI_CONF_OPTS += -DENABLE_AML=ON
KODI_DEPENDENCIES += libamcodec
else
KODI_CONF_OPTS += -DENABLE_AML=OFF
endif
?
I guess Kodi's AML just works with OPENGLES, not with OPENGL. So the condition
could maybe use BR2_PACKAGE_HAS_LIBGLES instead of BR2_PACKAGE_ODROID_MALI. But
as you say in the end of this mail, Kodi still fails to build with mesa swrast
and it doesn't make a lot of sense to combine swrast wit the binary mali driver.
>
> -- Found OpenGLES: /home/buildroot/br2/output/host/aarch64-buildroot-
> linux-gnu/sysroot/usr/lib/libGLESv2.so
> -- Found EGL: /home/buildroot/br2/output/host/aarch64-buildroot-linux-gnu/
> sysroot/usr/lib/libEGL.so (found version "r4p0")
> -- Found AML: /home/buildroot/br2/output/host/aarch64-buildroot-linux-gnu/
> sysroot/usr/include/amcodec
>
> -- OPENGL enabled: No
> -- OPENGLES enabled: Yes
> -- X enabled: No
> -- LIBDRM enabled: No
> -- AML enabled: Yes
>
> Then I tried two builds with mesa3d & libamcodec, one where mesa3d
> provides opengl, in the second build mesa3d provides opengles, both
> failed:
>
> ------------------------------------------------------------------
>
> BR2_aarch64=y
> BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
> BR2_TOOLCHAIN_BUILDROOT_CXX=y
> BR2_PACKAGE_KODI=y
> BR2_PACKAGE_MESA3D=y
> BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST=y
> BR2_PACKAGE_MESA3D_OPENGL_EGL=y
> BR2_PACKAGE_XORG7=y
> BR2_PACKAGE_PYTHON=y
> BR2_PACKAGE_PYTHON_PY_ONLY=y
> BR2_PACKAGE_LIBAMCODEC=y
>
> -- Found OpenGl: /home/buildroot/br2/output/host/aarch64-buildroot-linux-
> uclibc/sysroot/usr/lib/libGL.so
> -- Found X: /home/buildroot/br2/output/host/aarch64-buildroot-linux-
> uclibc/sysroot/usr/lib/libX11.so (found version "1.6.5")
> -- Found LibDRM: /home/buildroot/br2/output/host/aarch64-buildroot-linux-
> uclibc/sysroot/usr/lib/libdrm.so (found version "2.4.91")
> -- Found XRandR: /home/buildroot/br2/output/host/aarch64-buildroot-linux-
> uclibc/sysroot/usr/lib/libXrandr.so (found version "1.5.1")
> -- Found EGL: /home/buildroot/br2/output/host/aarch64-buildroot-linux-
> uclibc/sysroot/usr/lib/libEGL.so (found version "18.0.0")
> -- Found AML: /home/buildroot/br2/output/host/aarch64-buildroot-linux-
> uclibc/sysroot/usr/include/amcodec
>
> -- OPENGL enabled: Yes
> -- X enabled: Yes
> -- LIBDRM enabled: Yes
> -- XRANDR enabled: Yes
> -- AML enabled: Yes
>
> [ 94%] Building CXX object build/cores/VideoPlayer/videorenderers/
> CMakeFiles/videorenderers.dir/RenderManager.cpp.o
> /home/bernd/buildroot/br2/output/build/kodi-17.6-Krypton/xbmc/cores/
> VideoPlayer/VideoRenderers/RenderManager.cpp: In member function 'void
> CRenderManager::CreateRenderer()':
> /home/bernd/buildroot/br2/output/build/kodi-17.6-Krypton/xbmc/cores/
> VideoPlayer/VideoRenderers/RenderManager.cpp:582:25: error:
> 'CRendererAML' does not name a type
> m_pRenderer = new CRendererAML;
> ^~~~~~~~~~~~
> ------------------------------------------------------------------
>
> BR2_aarch64=y
> BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
> BR2_TOOLCHAIN_BUILDROOT_CXX=y
> BR2_PACKAGE_KODI=y
> BR2_PACKAGE_MESA3D=y
> BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST=y
> BR2_PACKAGE_MESA3D_OPENGL_EGL=y
> BR2_PACKAGE_MESA3D_OPENGL_ES=y
> BR2_PACKAGE_PYTHON=y
> BR2_PACKAGE_PYTHON_PY_ONLY=y
> BR2_PACKAGE_LIBAMCODEC=y
>
> -- Found OpenGLES: /home/buildroot/br2/output/host/aarch64-buildroot-
> linux-uclibc/sysroot/usr/lib/libGLESv2.so
> -- Found EGL: /home/buildroot/br2/output/host/aarch64-buildroot-linux-
> uclibc/sysroot/usr/lib/libEGL.so (found version "18.0.0")
> -- Found AML: /home/buildroot/br2/output/host/aarch64-buildroot-linux-
> uclibc/sysroot/usr/include/amcodec
>
> -- OPENGL enabled: No
> -- OPENGLES enabled: Yes
> -- X enabled: No
> -- LIBDRM enabled: No
> -- AML enabled: Yes
>
> /bin/grep: /usr/lib/libgbm.la: No such file or directory
> /bin/sed: can't read /usr/lib/libgbm.la: No such file or directory
> libtool: error: '/usr/lib/libgbm.la' is not a valid libtool archive
libgbm is enabled by BR2_PACKAGE_MESA3D_OPENGL_EGL, so it should be there. If
Kodi looks for it in /usr/lib, sounds like a bug in Kodi...
> ------------------------------------------------------------------
>
> Buildroot should not allow to use non-working combinations and here I
> think hardware-wise we should in some way connect libamcodec and odroid-
> mail to be used by Kodi. Besides the build errors it makes no sense to
> have software rendering provided by mesa3d when you have vendor-provided
> opengl libs.
I agree with that.
Regards,
Arnout
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
More information about the buildroot
mailing list