Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 673460 - dev-libs/efl-1.20.7-r1: configure failed: OpenGL XLib dependencies not found
Summary: dev-libs/efl-1.20.7-r1: configure failed: OpenGL XLib dependencies not found
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Joonas Niilola
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks: CVE-2018-20167
  Show dependency tree
 
Reported: 2018-12-19 22:45 UTC by Thomas Deutschmann (RETIRED)
Modified: 2019-02-04 01:14 UTC (History)
3 users (show)

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


Attachments
build.log (build.log,22.47 KB, text/plain)
2018-12-19 22:45 UTC, Thomas Deutschmann (RETIRED)
Details
add gles2 dependency to egl useflag (efl-gles2-egl.patch,361 bytes, patch)
2018-12-20 01:13 UTC, thomasg
Details | Diff
efl-1.20.7-r1-egl-gles-fix.patch (efl-1.20.7-r1-egl-gles-fix.patch,1.04 KB, patch)
2018-12-20 07:47 UTC, Joonas Niilola
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Deutschmann (RETIRED) gentoo-dev 2018-12-19 22:45:24 UTC
Created attachment 558182 [details]
build.log

Looks like a missing dep:

[...]
checking for XCreateColormap... yes
checking for XRenderCreatePicture... yes
checking for GL/gl.h... yes
checking whether pthread_create() is supported... yes
checking for glXCreateContext in -lGL... yes
checking for GLES2/gl2.h... no
configure: error: OpenGL XLib dependencies not found


Portage 2.3.51 (python 3.6.5-final-0, default/linux/x86/17.0, gcc-7.3.0, glibc-2.27-r6, 4.14.83-gentoo i686)
=================================================================
System uname: Linux-4.14.83-gentoo-i686-Intel-R-_Core-TM-_i7-3770K_CPU_@_3.50GHz-with-gentoo-2.6
KiB Mem:     3107600 total,    370288 free
KiB Swap:     488276 total,    488276 free
Timestamp of repository gentoo: Wed, 19 Dec 2018 22:04:22 +0000
Head commit of repository gentoo: 830dfc9231e562ba0a259d09da3ebb599dab6036

sh bash 4.4_p12
ld GNU ld (Gentoo 2.30 p5) 2.30.0
app-shells/bash:          4.4_p12::gentoo
dev-java/java-config:     2.2.0-r4::gentoo
dev-lang/perl:            5.24.3-r1::gentoo
dev-lang/python:          2.7.15::gentoo, 3.6.5::gentoo
dev-util/cmake:           3.9.6::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.6-r1::gentoo
sys-apps/openrc:          0.38.3-r1::gentoo
sys-apps/sandbox:         2.13::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.15.1-r2::gentoo
sys-devel/binutils:       2.30-r4::gentoo
sys-devel/gcc:            7.3.0-r3::gentoo
sys-devel/gcc-config:     2.0::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1-r4::gentoo
sys-kernel/linux-headers: 4.13::gentoo (virtual/os-headers)
sys-libs/glibc:           2.27-r6::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/gentoo.git
    priority: -1000

ABI="x86"
ABI_X86="32"
ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="* -@EULA"
ACCEPT_PROPERTIES="*"
ACCEPT_RESTRICT="*"
ARCH="x86"
BROOT=""
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -pipe -march=pentium4m -mtune=pentium4m"
CHOST="i686-pc-linux-gnu"
CHOST_x86="i686-pc-linux-gnu"
COLLISION_IGNORE="/lib/modules/*"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /var/bind"
CPU_FLAGS_X86="mmx mmxext sse sse2"
CXXFLAGS="-O2 -pipe -march=pentium4m -mtune=pentium4m"
DEFAULT_ABI="x86"
EDITOR="/usr/bin/mcedit"
ELIBC="glibc"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
EPREFIX=""
EROOT="/"
ESYSROOT="/"
FCFLAGS="-O2 -march=i686 -pipe"
FEATURES="assume-digests binpkg-logs cgroup config-protect-if-modified distlocks downgrade-backup ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -march=i686 -pipe"
GCC_SPECS=""
GRUB_PLATFORMS="efi-32 pc"
GSETTINGS_BACKEND="dconf"
HOME="/root"
INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/7.3.0/info:/usr/share/binutils-data/i686-pc-linux-gnu/2.30/info:/usr/share/info"
INPUT_DEVICES="libinput keyboard mouse"
IUSE_IMPLICIT="abi_x86_32 prefix prefix-chain prefix-guest"
JAVAC="/etc/java-config-2/current-system-vm/bin/javac"
JAVA_HOME="/etc/java-config-2/current-system-vm"
JDK_HOME="/etc/java-config-2/current-system-vm"
KERNEL="linux"
L10N="en en-US de de-DE"
LANG="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LC_MESSAGES="C"
LC_PAPER="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LIBDIR_x86="lib"
LINGUAS="en de"
LOGNAME="root"
MAIL="/var/mail/root"
MAKEOPTS="--jobs 5 --load-average 7.95"
MULTILIB_ABIS="x86"
NOCOLOR="true"
OFFICE_IMPLEMENTATION="libreoffice"
OPENCL_PROFILE="ocl-icd"
OPENGL_PROFILE="xorg-x11"
PAGER="/usr/bin/less"
PATH="/usr/lib/llvm/6/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin"
PHP_TARGETS="php5-6 php7-0 php7-1"
POSTGRES_TARGETS="postgres9_5 postgres10"
PWD="/root"
PYTHONDONTWRITEBYTECODE="1"
PYTHON_SINGLE_TARGET="python3_6"
PYTHON_TARGETS="python2_7 python3_6"
QT_GRAPHICSSYSTEM="raster"
ROOT="/"
ROOTPATH="/usr/lib/llvm/6/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin"
RUBY_TARGETS="ruby23 ruby24"
SBCL_HOME="/usr/lib/sbcl"
SBCL_SOURCE_ROOT="/usr/lib/sbcl/src"
SHELL="/bin/bash"
SHLVL="2"
SSH_TTY="/dev/pts/0"
SYSROOT="/"
TERM="tmux-256color"
TMUX="/tmp//tmux-0/default,5394,0"
TMUX_PANE="%2"
TWISTED_DISABLE_WRITING_OF_PLUGIN_CACHE="1"
USER="root"
USERLAND="GNU"
VIDEO_CARDS="vmware"
XDG_CONFIG_DIRS="/etc/xdg"
XDG_DATA_DIRS="/usr/local/share:/usr/share"
Comment 1 thomasg 2018-12-20 01:13:55 UTC
Created attachment 558190 [details, diff]
add gles2 dependency to egl useflag

Seems to me like a bug in the ebuild.

The ebuild specifies a "egl" useflag, which would need to pull mesa[egl,gles2], but instead only pulls mesa[egl].
As far as I know efl's egl support only works with OpenGL-ES2, not with OpenGL.

Since the EFL build has grown extremely complex it seems more and more impossible to capture every option in the ebuild, and especially for the GL and wayland stuff simplification is really needed (taking away options, but eliminating non-working options).

Anyway, I think the attached simple patch should fix this.
Comment 2 Joonas Niilola gentoo-dev 2018-12-20 07:33:47 UTC
I could reproduce this with your use flags. Also as thomasg said, adding 'egl gles' allowed fix. I thought I did a thorough testing when making the logic, but now that I look at the ebuild, I was maybe too fixated on simply getting wayland to work as an alternative to X.

I think this could be fixed with a simple REQUIRED_USE addition, force egl on if gles is enabled. 

Whissi: What's the stable policy when fixing ebuild _logic_ to get it to build? I feel like it can be done?
Comment 3 Joonas Niilola gentoo-dev 2018-12-20 07:47:28 UTC
Created attachment 558192 [details, diff]
efl-1.20.7-r1-egl-gles-fix.patch

Here's my proposal to fix it. Only doing it to 1.20.7-r1 for now, because efl-1.21.2 is coming soon and I intend to drop 1.21.1-r1 when it hits.
Comment 4 Thomas Deutschmann (RETIRED) gentoo-dev 2018-12-20 12:58:44 UTC
I am not sure if I understand your last question. But it is acceptable to provide a patch even for the stable ebuild. If rev bump is required, we will just move stable keywords.
Comment 5 Joonas Niilola gentoo-dev 2018-12-20 13:30:35 UTC
I mean, if you look at the patch, it just adds one line to REQUIRED_USE. Nothing in *DEPEND lists, or src_* phases change, so it wouldn't have any runtime differences on users either. (If you find the above patch acceptable, could you merge it?) :)
Comment 6 Larry the Git Cow gentoo-dev 2018-12-22 21:14:07 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=77261817e02fc46fe021c79e6a7266988331c008

commit 77261817e02fc46fe021c79e6a7266988331c008
Author:     Joonas Niilola <juippis@gmail.com>
AuthorDate: 2018-12-22 21:12:59 +0000
Commit:     Thomas Deutschmann <whissi@gentoo.org>
CommitDate: 2018-12-22 21:13:35 +0000

    dev-libs/efl: USE=egl needs USE=gles
    
    Closes: https://bugs.gentoo.org/673460
    Package-Manager: Portage-2.3.52, Repoman-2.3.12
    Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>

 dev-libs/efl/{efl-1.20.7-r1.ebuild => efl-1.20.7-r2.ebuild} | 3 ++-
 dev-libs/efl/{efl-1.21.1-r1.ebuild => efl-1.21.1-r2.ebuild} | 1 +
 2 files changed, 3 insertions(+), 1 deletion(-)
Comment 7 Róbert Čerňanský 2018-12-23 10:59:01 UTC
(In reply to Larry the Git Cow from comment #6)
> The bug has been closed via the following commit(s):
> 
> https://gitweb.gentoo.org/repo/gentoo.git/commit/
> ?id=77261817e02fc46fe021c79e6a7266988331c008
> 
> commit 77261817e02fc46fe021c79e6a7266988331c008
> Author:     Joonas Niilola <juippis@gmail.com>

Did not you miss a question mark there?  It is now:

egl ( gles )

I think it should be:

egl? ( gles )

Otherwise it forces +egl +gles -opengl.
Comment 8 Joonas Niilola gentoo-dev 2018-12-26 07:08:31 UTC
Hey, 

yeah, you are correct. Looks like I tested it correctly on my local overlay, but because I wanted that git-mergeable patch, I forked ::gentoo repo and made that typo there. Embarrasing honestly, sorry about that. There's a new bug open, please follow:
https://bugs.gentoo.org/673702
Comment 9 Larry the Git Cow gentoo-dev 2019-01-04 10:08:55 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=39a8085ec11862db8853c3a8268f35702396141c

commit 39a8085ec11862db8853c3a8268f35702396141c
Author:     Kent Fredric <kentnl@gentoo.org>
AuthorDate: 2019-01-04 10:07:54 +0000
Commit:     Kent Fredric <kentnl@gentoo.org>
CommitDate: 2019-01-04 10:08:27 +0000

    dev-libs/efl: Fix broken REQUIRED_USE constraint typo
    
    Acked-By: Joonas Niilola <juippis@gmail.com>
    Bug: https://bugs.gentoo.org/673588
    Bug: https://bugs.gentoo.org/673460
    Closes: https://bugs.gentoo.org/673702
    Package-Manager: Portage-2.3.51, Repoman-2.3.11
    Signed-off-by: Kent Fredric <kentnl@gentoo.org>

 dev-libs/efl/{efl-1.21.1-r2.ebuild => efl-1.21.1-r3.ebuild} | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
Comment 10 Larry the Git Cow gentoo-dev 2019-02-04 01:14:13 UTC
The bug has been referenced in the following commit(s):

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

commit f77b1be67b97101d6efdb430dc14cd2e1f780287
Author:     Joonas Niilola <juippis@gmail.com>
AuthorDate: 2019-01-11 04:57:59 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2019-02-04 01:12:04 +0000

    dev-libs/efl: fix GL handling in ebuilds
    
    Bug: https://bugs.gentoo.org/673460
    Closes: https://bugs.gentoo.org/673702
    Closes: https://bugs.gentoo.org/673588
    Package-Manager: Portage[mgorny]-2.3.51.1
    Signed-off-by: Joonas Niilola <juippis@gmail.com>
    Closes: https://github.com/gentoo/gentoo/pull/10696
    Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>

 dev-libs/efl/efl-1.20.7-r3.ebuild | 302 ++++++++++++++++++++++++++++++++++++++
 dev-libs/efl/efl-1.21.1-r3.ebuild |  24 ++-
 dev-libs/efl/metadata.xml         |   1 +
 3 files changed, 313 insertions(+), 14 deletions(-)