So should be mesa compiled without USE=="egl glesv2"? * Messages for package media-libs/raspberrypi-userland-9999: * This package will overwrite one or more files that may belong to other * packages (see list below). You can use a command such as `portageq * owners / <filename>` to identify the installed package that owns a * file. If portageq reports that only one package owns a file then do * NOT file a bug report. A bug report is only useful if it identifies at * least two or more packages that are known to install the same file(s). * If a collision occurs and you can not explain where the file came from * then you should simply ignore the collision since there is not enough * information to determine if a real problem exists. Please do NOT file * a bug report at https://bugs.gentoo.org/ unless you report exactly * which two packages install the same file(s). See * https://wiki.gentoo.org/wiki/Knowledge_Base:Blockers for tips on how * to solve the problem. And once again, please do NOT file a bug report * unless you have completely understood the above message. * * Detected file collision(s): * * /usr/include/GLES2/gl2.h * /usr/include/GLES2/gl2ext.h * /usr/include/GLES2/gl2platform.h * /usr/include/EGL/egl.h * /usr/include/EGL/eglext.h * /usr/include/EGL/eglplatform.h * /usr/include/KHR/khrplatform.h * /usr/lib/libEGL.so * /usr/lib/libGLESv2.so * /usr/lib/pkgconfig/egl.pc * /usr/lib/pkgconfig/glesv2.pc * * Searching all installed packages for file collisions... * * Press Ctrl-C to Stop * * media-libs/mesa-17.1.1:0::gentoo * /usr/include/EGL/egl.h * /usr/include/EGL/eglext.h * /usr/include/EGL/eglplatform.h * /usr/include/GLES2/gl2.h * /usr/include/GLES2/gl2ext.h * /usr/include/GLES2/gl2platform.h * /usr/include/KHR/khrplatform.h * /usr/lib/libEGL.so * /usr/lib/libGLESv2.so * /usr/lib/pkgconfig/egl.pc * /usr/lib/pkgconfig/glesv2.pc * * Package 'media-libs/raspberrypi-userland-9999' NOT merged due to file * collisions. If necessary, refer to your elog messages for the whole * content of the above message.
Portage 2.3.6 (python 3.6.1-final-0, default/linux/arm/13.0/armv7a, gcc-6.3.0, glibc-2.24-r1, 4.12.0-raspberrypi-v7+ armv7l) ================================================================= System uname: Linux-4.12.0-raspberrypi-v7+-armv7l-ARMv7_Processor_rev_4_-v7l-with-gentoo-2.3 KiB Mem: 880512 total, 369908 free KiB Swap: 2097148 total, 2096380 free Timestamp of repository gentoo: Sat, 03 Jun 2017 19:15:01 +0000 sh bash 4.4_p12 ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1 app-shells/bash: 4.4_p12::gentoo dev-lang/perl: 5.24.1-r2::gentoo dev-lang/python: 2.7.13::gentoo, 3.4.6::gentoo, 3.5.3::gentoo, 3.6.1-r1::gentoo dev-util/cmake: 3.8.2::gentoo dev-util/pkgconfig: 0.29.2::gentoo sys-apps/baselayout: 2.3::gentoo sys-apps/openrc: 0.26.3::gentoo sys-apps/sandbox: 2.10-r4::gentoo sys-devel/autoconf: 2.69-r3::gentoo sys-devel/automake: 1.13.4-r1::gentoo, 1.14.1::gentoo, 1.15-r2::gentoo sys-devel/binutils: 2.25.1-r1::gentoo, 2.27::gentoo sys-devel/gcc: 4.9.4::gentoo, 6.3.0::gentoo sys-devel/gcc-config: 1.8-r1::gentoo sys-devel/libtool: 2.4.6-r4::gentoo sys-devel/make: 4.2.1-r1::gentoo sys-kernel/linux-headers: 4.10::gentoo (virtual/os-headers) sys-libs/glibc: 2.24-r1::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.de.gentoo.org/gentoo-portage priority: -1000 sync-rsync-extra-opts: --exclude-from=/etc/portage/rsync_excludes archeron location: /usr/local/portage masters: gentoo ACCEPT_KEYWORDS="arm ~arm" ACCEPT_LICENSE="*" CBUILD="armv7a-hardfloat-linux-gnueabi" CFLAGS="-march=armv8-a+crc -mcpu=cortex-a53 -mfpu=crypto-neon-fp-armv8 -mtune=cortex-a53 -O3 -masm-syntax-unified -mfloat-abi=hard -mfp16-format=ieee -mneon-for-64bits -mstructure-size-boundary=8 -mthumb -mtls-dialect=gnu2 -pipe -fomit-frame-pointer" CHOST="armv7a-hardfloat-linux-gnueabi" CONFIG_PROTECT="/boot/cmdline.txt /boot/config.txt /etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-march=armv8-a+crc -mcpu=cortex-a53 -mfpu=crypto-neon-fp-armv8 -mtune=cortex-a53 -O3 -masm-syntax-unified -mfloat-abi=hard -mfp16-format=ieee -mneon-for-64bits -mstructure-size-boundary=8 -mthumb -mtls-dialect=gnu2 -pipe -fomit-frame-pointer -fvisibility-inlines-hidden" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--autounmask=n --quiet-build=n --with-bdeps=y" FCFLAGS="-O2 -pipe -march=armv7-a" FEATURES="assume-digests binpkg-logs ccache config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe -march=armv7-a" GENTOO_MIRRORS="ftp://ftp.halifax.rwth-aachen.de/gentoo/" INSTALL_MASK="/etc/xinetd.d/* /usr/lib/systemd/system/*" LANG="de_DE.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--sort-common -Wl,-z,now" MAKEOPTS="-j5 -l4" PKGDIR="/usr/portage/packages" PORTAGE_BUNZIP2_COMMAND="pbunzip2" PORTAGE_BZIP2_COMMAND="pbzip2" PORTAGE_COMPRESS="xz" PORTAGE_COMPRESS_FLAGS="-9e" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes" 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="X acl alsa arm armv5te armv6 armv6t2 berkdb bluetooth bzip2 cairo caps cjk cracklib crypt curl cvs cxx dbus fbcon gif gmp gnutls gpm iconv icu idn imlib ipv6 jit jpeg lzma lzo mp3 ncurses neon nls nntp nptl opengl openmp pam pcre perl png readline slang ssl subversion suid svg symlink threads tiff udev unicode usb vim-syntax xattr xface xml zlib" CPU_FLAGS_ARM="edsp thumb thumb2 v4 v5 v6 v7 vfp" CURL_SSL="openssl" ELIBC="glibc" INPUT_DEVICES="libinput" KERNEL="linux" L10N="de de_DE" LINGUAS="de de_DE" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_6" USERLAND="GNU" VIDEO_CARDS="fbdev vc4" USE_PYTHON="2.7 3.6" Unset: CC, CPPFLAGS, CTARGET, CXX, LC_ALL
Same issue with media-libs/raspberrypi-userland-9999 and media-libs/mesa-17.1.8 shouldn't raspberrypi-userland get some USE flag ? :)
Whats the status on this with current git version - is it still broken?
Current git is still broken. But it's possible to get it merged by cutting a new version, I happen to chose 3cd60d4 (3cd60d45bc7c9d3ec8daee574bc99027cb1bab9e) So simply bump it locally, the package seems to abondend.
Personally I kept mesa and raspberrypi-userland built as packages and would switch from one to the other because, some packages will only build with the headers from mesa (kodi for instance), others only with the headers from the userland (omxplayer and libsdl2 for instance). I think they should be installed to another location like /opt/vc/include like they once were.
I can, if interessted, submit a PR for a new updated eBuild. I've changed that, so eselect opengl is supported and installed into "/opt/vc".
Please do. For example, currently it's impossible to have X and omxplayer or mpv with USE=raspberry-pi installed at the same time, because xorg-server depends on mesa[egl] and omxplayer/mpv depends on raspberrypi-userland. I can confirm that the issue still persists with mesa-19.1.8
I am also keen to have a raspberry pi with xorg and omxplayer installed. The install directory can be changed back to /opt/vc with the current live ebuild by changing the line to -DVMCS_INSTALL_PREFIX="/opt/vc". This prevents the file collision. Whether other packages such as omxplayer will need changes to use it however is work in progress. I am not sure how to support eselect opengl though. I am also testing whether the arm64 support added upstream in https://github.com/raspberrypi/userland/issues/314 will allow a 64 bit userland. I have managed to compile for arm64 by adding -DARM64=ON. If I ever get it all working together properly, I will submit a patch.
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(-)
Great, really many thanks!