![Romain Naour](/assets/img/avatar_default.png)
sunxi-mali userspace drivers (libMali.so) for r2p4 Mali kernel modules
are linked against libUMP.so.2 but libump package in Buildroot only
provide libUMP.so.3.
In upstream commit 1c5063f43cdc9de341c0d63b2e3921cab86c7742 [1], library
versioning was added. For the r3p* libraries, libUMP.so.3 is used (and
provided by Buildroot libump package), but for the r2p* libraries,
libUMP.so.2 is used (and not provided by Buildroot libump package).
Due to this any program or library trying to link with -lGLESv2 or -lEGL
will fail with the following error:
arm-none-linux-gnueabi/bin/ld: warning: libUMP.so.2, needed by output/host/usr/arm-buildroot-linux-gnueabi/sysroot/armv4t/usr/lib/libMali.so, not found (try using -rpath or -rpath-link)
output/host/usr/arm-buildroot-linux-gnueabi/sysroot/armv4t/usr/lib/libEGL.so: undefined reference to `ump_close'
output/host/usr/arm-buildroot-linux-gnueabi/sysroot/armv4t/usr/lib/libEGL.so: undefined reference to `ump_mapped_pointer_get'
output/host/usr/arm-buildroot-linux-gnueabi/sysroot/armv4t/usr/lib/libEGL.so: undefined reference to `ump_secure_id_get'
output/host/usr/arm-buildroot-linux-gnueabi/sysroot/armv4t/usr/lib/libEGL.so: undefined reference to `ump_mapped_pointer_release'
output/host/usr/arm-buildroot-linux-gnueabi/sysroot/armv4t/usr/lib/libMali.so: undefined reference to `ump_reference_add'
output/host/usr/arm-buildroot-linux-gnueabi/sysroot/armv4t/usr/lib/libMali.so: undefined reference to `ump_size_get'
output/host/usr/arm-buildroot-linux-gnueabi/sysroot/armv4t/usr/lib/libEGL.so: undefined reference to `ump_reference_release'
output/host/usr/arm-buildroot-linux-gnueabi/sysroot/armv4t/usr/lib/libEGL.so: undefined reference to `ump_open'
collect2: error: ld returned 1 exit status
Since nothing provides libUMP.so.2, this commit removes the
BR2_PACKAGE_SUNXI_MALI_R2P4 option and adds the BR2_ARM_EABIHF
dependency directly to sunxi-mali package.
Fixes:
http://autobuild.buildroot.net/results/8d0/8d0b78798abf0c4ca124952d0d0455da6f8fa14f/
[1] 1c5063f43c
[2] http://lists.busybox.net/pipermail/buildroot/2017-February/183500.html
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Francois Perrad <francois.perrad@gadz.org>
[Thomas: fix conflicts when applying on master, tweak commit log.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
58 lines
1.6 KiB
Plaintext
58 lines
1.6 KiB
Plaintext
config BR2_PACKAGE_SUNXI_MALI
|
|
bool "sunxi-mali"
|
|
depends on BR2_arm
|
|
# libump package only provide libUMP.so.3 which is used by
|
|
# libMali for r3p0 and r3p1 Mali kernel module. This version
|
|
# is only available for ARM EABIhf.
|
|
# libMali for r2p4 Mali kernel module (available for ARM EABI)
|
|
# requires libUMP.so.2.
|
|
depends on BR2_ARM_EABIHF # libUMP.so.3 only
|
|
depends on BR2_TOOLCHAIN_USES_GLIBC
|
|
select BR2_PACKAGE_HAS_LIBEGL
|
|
select BR2_PACKAGE_HAS_LIBGLES
|
|
select BR2_PACKAGE_LIBUMP
|
|
help
|
|
Install the ARM Mali drivers for sunxi based systems (i.e
|
|
systems based on ARM Allwinner SoCs). This driver requires
|
|
either the sunxi-kernel with the ARM Mali driver enabled or
|
|
the installation of the ARM Mali drivers as an external
|
|
module.
|
|
|
|
http://github.com/linux-sunxi/sunxi-mali
|
|
|
|
if BR2_PACKAGE_SUNXI_MALI
|
|
|
|
config BR2_PACKAGE_PROVIDES_LIBEGL
|
|
default "sunxi-mali"
|
|
|
|
config BR2_PACKAGE_PROVIDES_LIBGLES
|
|
default "sunxi-mali"
|
|
|
|
config BR2_PACKAGE_SUNXI_MALI_DBG
|
|
bool "install malitest and maliver tools"
|
|
help
|
|
Install 3D triangle demo malitest application and the maliver application
|
|
which describes the kernel module version.
|
|
|
|
choice
|
|
prompt "Version"
|
|
default BR2_PACKAGE_SUNXI_MALI_R3P0
|
|
help
|
|
Select the version of the kernel module. For the sunxi-kernel, the
|
|
appropriate version number is r3p0. For other kernels, use the maliver
|
|
application to determine the appropriate version.
|
|
|
|
config BR2_PACKAGE_SUNXI_MALI_R3P0
|
|
bool "r3p0"
|
|
|
|
config BR2_PACKAGE_SUNXI_MALI_R3P1
|
|
bool "r3p1"
|
|
|
|
endchoice
|
|
|
|
endif
|
|
|
|
comment "sunxi-mali needs an EABIhf glibc toolchain"
|
|
depends on BR2_arm
|
|
depends on !BR2_TOOLCHAIN_USES_GLIBC || !BR2_ARM_EABIHF
|