Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 718366 - media-libs/raspberrypi-userland: modification for arm64
Summary: media-libs/raspberrypi-userland: modification for arm64
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: ARM64 Linux
: Normal normal
Assignee: Chí-Thanh Christopher Nguyễn
URL:
Whiteboard:
Keywords: PATCH, PullRequest
Depends on:
Blocks:
 
Reported: 2020-04-19 16:45 UTC by hangglider
Modified: 2020-11-23 04:52 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description hangglider 2020-04-19 16:45:20 UTC
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
 }
Comment 1 Larry the Git Cow gentoo-dev 2020-11-23 04:52:01 UTC
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(-)