Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 770802

Summary: media-plugins/vdr-rpihddevice-1.0.5 fails on compile; broken by media-libs/raspberrypi-userland-0_pre20201022 update
Product: Gentoo Linux Reporter: Joerg Bornkessel (RETIRED) <hd_brummy>
Component: Current packagesAssignee: Gentoo VDR Project <vdr>
Status: IN_PROGRESS ---    
Severity: major CC: crabbedhaloablution, sam
Priority: Normal    
Version: unspecified   
Hardware: ARM   
OS: Linux   
URL: https://projects.vdr-developer.org/projects/plg-rpihddevice
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 770994    
Bug Blocks:    

Description Joerg Bornkessel (RETIRED) gentoo-dev 2021-02-15 16:15:16 UTC
media-plugins/vdr-rpihddevice is broken by media-libs/raspberrypi-userland update


Reproducible: Always

Steps to Reproduce:
1. update media-libs/raspberrypi-userland to the latest version in the tree (there left only one in the tree :( )
2. emerge vdr-rpihddevice
3.
Actual Results:  
In file included from /usr/include/VG/openvg.h:37,
  2                  from ovgosd.c:27:
  3 /usr/include/VG/vgplatform.h:69:10: fatal error: ../KHR/khrplatform.h: No such file or directory
  4    69 | #include "../KHR/khrplatform.h"
  5       |          ^~~~~~~~~~~~~~~~~~~~~~
  6 compilation terminated.

i copyd here from raspberrypi-userland sources in interface/khronos/include/KHR/khrplatform.h

KHR/* to /usr/include

###

ovgosd.c:29:10: fatal error: EGL/egl.h: No such file or directory
 15    29 | #include <EGL/egl.h>
 16       |          ^~~~~~~~~~~
 17 compilation terminated.

i copyd here from raspberrypi-userland sources interface/khronos/include/EGL/egl.h

EGL/* to /usr/include/EGL

###

ovgosd.c:30:10: fatal error: GLES/gl.h: No such file or directory
 25    30 | #include <GLES/gl.h>
 26       |          ^~~~~~~~~~~
 27 compilation terminated.

i copyed here from raspberrypi-userland sources interface/khronos/include/GLES/gl.h

GLES/* to /usr/include/GLES


after this it compiles without problems


emerge --info
Portage 3.0.13 (python 3.8.5-final-0, default/linux/arm/17.0/armv7a, gcc-9.3.0, glibc-2.32-r5, 4.9.41-v7+ armv7l)
=================================================================
System uname: Linux-4.9.41-v7+-armv7l-ARMv7_Processor_rev_4_-v7l-with-glibc2.4
KiB Mem:      758752 total,     89584 free
KiB Swap:    3145720 total,   3128408 free
Timestamp of repository gentoo: Mon, 15 Feb 2021 10:45:01 +0000
Head commit of repository gentoo: 94db90ffa11c41f1c73288402a6bcc51e6021757
sh bash 5.0_p18
ld GNU ld (Gentoo 2.33.1 p2) 2.33.1
app-shells/bash:          5.0_p18::gentoo
dev-lang/perl:            5.30.3::gentoo
dev-lang/python:          3.8.5::gentoo
dev-util/cmake:           3.17.4-r1::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.7::gentoo
sys-apps/openrc:          0.42.1::gentoo
sys-apps/sandbox:         2.18::gentoo
sys-devel/autoconf:       2.69-r5::gentoo
sys-devel/automake:       1.9.6-r4::gentoo, 1.14.1::gentoo, 1.15.1-r2::gentoo, 1.16.2-r1::gentoo
sys-devel/binutils:       2.33.1-r1::gentoo, 2.34-r2::gentoo
sys-devel/gcc:            9.3.0::gentoo
sys-devel/gcc-config:     2.3.1::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.4-r1::gentoo (virtual/os-headers)
sys-libs/glibc:           2.32-r5::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://server.astrali.lan/gentoo-portage
    priority: -1000
    sync-rsync-extra-opts: 
    sync-rsync-verify-metamanifest: no
    sync-rsync-verify-max-age: 24
    sync-rsync-verify-jobs: 1

server-overlay
    location: /usr/local/portage
    masters: gentoo
    priority: 0

ACCEPT_KEYWORDS="arm"
ACCEPT_LICENSE="*"
CBUILD="armv7a-hardfloat-linux-gnueabi"
CFLAGS="-O2 -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard"
CHOST="armv7a-hardfloat-linux-gnueabi"
CONFIG_PROTECT="/boot/cmdline.txt /boot/config.txt /etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=armv7-a -mfpu=neon-vfpv4 -mfloat-abi=hard"
DISTDIR="/mnt/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -pipe -march=armv7-a"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe -march=armv7-a"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="de"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="acl arm berkdb bzip2 cli crypt dri fortran gdbm iconv ipv6 libglvnd ncurses nls nptl openmp pam pcre readline seccomp split-usr ssl tcpd unicode xattr zlib" ADA_TARGET="gnat_2018" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_ARM="neon vfpv3 edsp thumb thumb2 v4 v5 v6 v7 vfp" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="hd44780" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-3 php7-4" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_8" PYTHON_TARGETS="python3_8" RUBY_TARGETS="ruby26" USERLAND="GNU" VIDEO_CARDS="exynos fbdev omap dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2021-02-15 16:48:25 UTC
Will restore older later, thank you!
Comment 2 Joerg Bornkessel (RETIRED) gentoo-dev 2021-02-15 17:31:29 UTC
(In reply to Sam James from comment #1)
> Will restore older later, thank you!

raspberrypi-userland-0_pre20160424.ebuild would be fine
but this needs still a restriction in the 
vdr-rpihddevice-1.0.5.ebuild
<snip>
# media-libs/raspberrypi-userland to old on gentoo...
    sed -e "s:-lbrcmGLESv2:-lGLESv2:" \
        -e "s:-lbrcmEGL:-lEGL:" \
        -i "${S}"/Makefile || die "sed failed"
</snap>

a better way would be to fix the existing userland ebuild
an let the needed Dir's/includes install, also 
KHR, GLES, EGL

this would be make my fix in the vdr-rpihddevice obsolete, i hope 

Thanks
Comment 3 Joerg Bornkessel (RETIRED) gentoo-dev 2021-02-15 18:04:03 UTC
(In reply to Joerg Bornkessel from comment #2)
> (In reply to Sam James from comment #1)
> > Will restore older later, thank you!
> 
> raspberrypi-userland-0_pre20160424.ebuild would be fine
> but this needs still a restriction in the 
> vdr-rpihddevice-1.0.5.ebuild
> <snip>
> # media-libs/raspberrypi-userland to old on gentoo...
>     sed -e "s:-lbrcmGLESv2:-lGLESv2:" \
>         -e "s:-lbrcmEGL:-lEGL:" \
>         -i "${S}"/Makefile || die "sed failed"
> </snap>
> 
> a better way would be to fix the existing userland ebuild
> an let the needed Dir's/includes install, also 
> KHR, GLES, EGL
> 
> this would be make my fix in the vdr-rpihddevice obsolete, i hope 
> 
> Thanks

i figured out, the 

raspberrypi-userland-include.patch prevent the includes from install.
this patch is in ebuild described with
# Don't install includes that collide.

I am still try to find out, where or with wich package the problem exist...
Comment 4 Larry the Git Cow gentoo-dev 2021-02-16 19:26:48 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3685f662853bf6e75118834a769ab487bea92176

commit 3685f662853bf6e75118834a769ab487bea92176
Author:     Sam James <sam@gentoo.org>
AuthorDate: 2021-02-16 19:25:32 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2021-02-16 19:26:37 +0000

    Revert "media-libs/raspberrypi-userland: cleanup old"
    
    This reverts commit 8021512569b236c2ceb62156c206c133b8f17bf0.
    Newer version breaks some dependent packages because
    we don't install GL includes due to collisions.
    
    Also reverts 9cbaffb767a7eb275d54f9666584e235d9d0566e.
    
    Bug: https://bugs.gentoo.org/770802
    Signed-off-by: Sam James <sam@gentoo.org>

 media-libs/raspberrypi-userland/Manifest           |   1 +
 .../files/04raspberrypi-userland                   |   3 +
 media-libs/raspberrypi-userland/files/bcm_host.pc  |  10 +
 media-libs/raspberrypi-userland/files/egl.pc       |  11 ++
 media-libs/raspberrypi-userland/files/glesv2.pc    |  11 ++
 .../files/next-resource-handle.patch               | 207 +++++++++++++++++++++
 .../raspberrypi-userland-0_pre20160424.ebuild      | 109 +++++++++++
 7 files changed, 352 insertions(+)
Comment 5 Joerg Bornkessel (RETIRED) gentoo-dev 2021-02-16 21:16:30 UTC
Thanks Sam for the fast readd of the old userland version

For this bug, i patched the needed includes in the vdr-rpihddevice workdir,
adapted some path ( <bla.foo> vs. "bla.foo" ) to take the patched includes.
It works!
I no case i will add a depend to media-libs/mesa for a handfull includes and blow up the system with unneeded software.

I will test this in the next few days properly before i commit the fix.
Both bugs will be closed then with my commit.

Thanks for your help out and support...