[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