trying to compile media-libs/raspberrypi-userland on a arm64 system leads to unknown symbols at compile. Attached trivial patch fixes that. Happens for all current versions. Reproducible: Always Steps to Reproduce: 1. set up arm64 system 2. emerge media-libs/rapberrypi-userland Actual Results: [ 16%] Building C object interface/khronos/CMakeFiles/khrn_static.dir/common/khrn_client.c.o cd /var/tmp/portage/media-libs/raspberrypi-userland-0_pre20160424/work/raspberrypi-userland-0_pre20160424_build/interface/khronos && /usr/bin/aarch64-unknown-linux-gnu-gcc -DEGL_SERVER_DISPMANX -DHAVE_CMAKE_CONFI G -DHAVE_VMCS_CONFIG -DOMX_SKIP64BIT -DTV_SUPPORTED_MODE_NO_DEPRECATED -DUSE_VCHIQ_ARM -DVCHI_BULK_ALIGN=1 -DVCHI_BULK_GRANULARITY=1 -D_FILE_OFFSET_BITS=64 -D_HAVE_SBRK -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE - D_REENTRANT -D__VIDEOCORE4__ -I/var/tmp/portage/media-libs/raspberrypi-userland-0_pre20160424/work/raspberrypi-userland-dff5760/build/inc -I/var/tmp/portage/media-libs/raspberrypi-userland-0_pre20160424/work/rasp berrypi-userland-dff5760/host_applications/framework -I/var/tmp/portage/media-libs/raspberrypi-userland-0_pre20160424/work/raspberrypi-userland-dff5760 -I/var/tmp/portage/media-libs/raspberrypi-userland-0_pre2016 0424/work/raspberrypi-userland-dff5760/interface/vcos/pthreads -I/var/tmp/portage/media-libs/raspberrypi-userland-0_pre20160424/work/raspberrypi-userland-dff5760/interface/vmcs_host/linux -I/var/tmp/portage/media -libs/raspberrypi-userland-0_pre20160424/work/raspberrypi-userland-dff5760/interface/vmcs_host -I/var/tmp/portage/media-libs/raspberrypi-userland-0_pre20160424/work/raspberrypi-userland-dff5760/interface/vmcs_hos t/khronos -I/var/tmp/portage/media-libs/raspberrypi-userland-0_pre20160424/work/raspberrypi-userland-dff5760/interface/khronos/include -I/var/tmp/portage/media-libs/raspberrypi-userland-0_pre20160424/work/raspber rypi-userland-0_pre20160424_build -I/var/tmp/portage/media-libs/raspberrypi-userland-0_pre20160424/work/raspberrypi-userland-dff5760/interface/vchiq_arm -I/var/tmp/portage/media-libs/raspberrypi-userland-0_pre201 60424/work/raspberrypi-userland-dff5760/host_support/include -DNDEBUG -march=armv8-a+crc+simd -mtune=cortex-a72 -ftree-vectorize -O2 -pipe -fomit-frame-pointer -Wno-multichar -Wall -Wno-unused-but-set-variable -fPIC -o CMakeFiles/khrn_static.dir/common/khrn_client.c.o -c /var/tmp/portage/media-libs/raspberrypi-userland-0_pre20160424/work/raspberrypi-userland-dff5760/interface/khronos/common/khrn_client.c In file included from /var/tmp/portage/media-libs/raspberrypi-userland-0_pre20160424/work/raspberrypi-userland-dff5760/interface/khronos/common/khrn_int_common.h:137, from /var/tmp/portage/media-libs/raspberrypi-userland-0_pre20160424/work/raspberrypi-userland-dff5760/interface/khronos/common/khrn_client.c:28: /var/tmp/portage/media-libs/raspberrypi-userland-0_pre20160424/work/raspberrypi-userland-dff5760/build/inc/interface/vcos/vcos_assert.h:303:69: error: size of array 'vcos_static_assert' is negative 303 | #define vcos_static_assert(cond) __attribute__((unused)) extern int vcos_static_assert[(cond)?1:-1] | ^~~~~~~~~~~~~~~~~~ /var/tmp/portage/media-libs/raspberrypi-userland-0_pre20160424/work/raspberrypi-userland-dff5760/interface/khronos/common/khrn_client_check_types.h:44:1: note: in expansion of macro 'vcos_static_assert' 44 | vcos_static_assert(sizeof(EGLConfig) == 4); | ^~~~~~~~~~~~~~~~~~ ... Expected Results: successful installation. --- /tmp/raspberrypi-userland-9999.ebuild 2020-04-19 13:22:24.094867065 +0200 +++ /usr/portage/media-libs/raspberrypi-userland/raspberrypi-userland-9999.ebuild 2020-04-19 13:23:18.869998538 +0200 @@ -26,6 +26,9 @@ local mycmakeargs=( -DVMCS_INSTALL_PREFIX="/usr" ) + if use arm64; then + mycmakeargs+=(-DARM64=ON) + fi cmake-utils_src_configure }
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d7fbeb6481a6ffda252f343cc3eeee03533fbad5 commit d7fbeb6481a6ffda252f343cc3eeee03533fbad5 Author: Peter Alfredsen <crabbedhaloablution@icloud.com> AuthorDate: 2020-11-13 13:27:58 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2020-11-23 04:42:03 +0000 media-libs/raspberrypi-userland: Version bump 0_pre20201022 * Add -0_pre20201022, also update -9999 to same standard. * Patches described in ebuild. * raspberrypi-userland produces libEGL and libbrcmEGL, libGLESv2 and libbrcmGLESv2 libraries. Only the libbrcm variants are actually needed, plus the other variants collide with libglvnd. Thanks to KalleBlom on IRC for reporting. * More closely sync with Raspbian which libs we don't install. The source for this package is a mess. We build all kinds of things that just aren't installed, and by default install many things that shouldn't be. * Many .so files are not built on arm64, but currently we install the .pc files anyway. Fix by including the .pc files in the ARM64 conditional. Closes: https://bugs.gentoo.org/754249 Closes: https://bugs.gentoo.org/718366 Closes: https://bugs.gentoo.org/671492 Closes: https://bugs.gentoo.org/620774 Signed-off-by: Peter Alfredsen <crabbedhaloablution@icloud.com> Package-Manager: Portage-3.0.9, Repoman-3.0.2 Signed-off-by: Sam James <sam@gentoo.org> media-libs/raspberrypi-userland/Manifest | 1 + .../files/raspberrypi-userland-include.patch | 19 ++ .../files/raspberrypi-userland-libdir.patch | 316 +++++++++++++++++++++ .../files/raspberrypi-userland-libfdt-static.patch | 22 ++ .../files/raspberrypi-userland-pkgconf-arm64.patch | 38 +++ .../raspberrypi-userland-0_pre20201022.ebuild | 69 +++++ .../raspberrypi-userland-9999.ebuild | 65 +++-- 7 files changed, 511 insertions(+), 19 deletions(-)