diff mbox

libepoxy: EGL dependency is mandatory

Message ID 20170310111150.9480-1-Vincent.Riera@imgtec.com
State Superseded
Headers show

Commit Message

Vicente Olivert Riera March 10, 2017, 11:11 a.m. UTC
The --disable-egl configure option doesn't exist:

configure: WARNING: unrecognized options: [snip] --disable-egl

If you don't have EGL support the configure script will fail like this:

checking for EGL... no
configure: error: Package requirements (egl) were not met:

Fixes:
  http://autobuild.buildroot.net/results/3eca5ba26a521f6cc5a611309ba066472af7769c
  http://autobuild.buildroot.net/results/cf9ec7da196d70548ae1413e4a3730314f6434d6
  http://autobuild.buildroot.net/results/069b80101afc4719db6d6d41cf5fc923be21ddc0

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
 package/libepoxy/Config.in   | 6 +++---
 package/libepoxy/libepoxy.mk | 9 +--------
 2 files changed, 4 insertions(+), 11 deletions(-)

Comments

Thomas Petazzoni March 10, 2017, 3:01 p.m. UTC | #1
Hello,

Cc'ing Gustavo, who said he would have a look at this issue.

On Fri, 10 Mar 2017 11:11:50 +0000, Vicente Olivert Riera wrote:
> The --disable-egl configure option doesn't exist:
> 
> configure: WARNING: unrecognized options: [snip] --disable-egl
> 
> If you don't have EGL support the configure script will fail like this:
> 
> checking for EGL... no
> configure: error: Package requirements (egl) were not met:
> 
> Fixes:
>   http://autobuild.buildroot.net/results/3eca5ba26a521f6cc5a611309ba066472af7769c
>   http://autobuild.buildroot.net/results/cf9ec7da196d70548ae1413e4a3730314f6434d6
>   http://autobuild.buildroot.net/results/069b80101afc4719db6d6d41cf5fc923be21ddc0
> 
> Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
> ---
>  package/libepoxy/Config.in   | 6 +++---
>  package/libepoxy/libepoxy.mk | 9 +--------
>  2 files changed, 4 insertions(+), 11 deletions(-)
> 
> diff --git a/package/libepoxy/Config.in b/package/libepoxy/Config.in
> index c87366a..54b8272 100644
> --- a/package/libepoxy/Config.in
> +++ b/package/libepoxy/Config.in
> @@ -1,12 +1,12 @@
>  config BR2_PACKAGE_LIBEPOXY
>  	bool "libepoxy"
>  	select BR2_PACKAGE_XUTIL_UTIL_MACROS
> -	depends on BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL
> +	depends on BR2_PACKAGE_HAS_LIBEGL

Really egl only is sufficient? This seems dubious. It doesn't need at
least OpenGL ES ?

Thomas
Vicente Olivert Riera March 10, 2017, 3:05 p.m. UTC | #2
Hi Thomas,

On 10/03/17 15:01, Thomas Petazzoni wrote:
> Hello,
> 
> Cc'ing Gustavo, who said he would have a look at this issue.

he already was on CC.

> On Fri, 10 Mar 2017 11:11:50 +0000, Vicente Olivert Riera wrote:
>> The --disable-egl configure option doesn't exist:
>>
>> configure: WARNING: unrecognized options: [snip] --disable-egl
>>
>> If you don't have EGL support the configure script will fail like this:
>>
>> checking for EGL... no
>> configure: error: Package requirements (egl) were not met:
>>
>> Fixes:
>>   http://autobuild.buildroot.net/results/3eca5ba26a521f6cc5a611309ba066472af7769c
>>   http://autobuild.buildroot.net/results/cf9ec7da196d70548ae1413e4a3730314f6434d6
>>   http://autobuild.buildroot.net/results/069b80101afc4719db6d6d41cf5fc923be21ddc0
>>
>> Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
>> ---
>>  package/libepoxy/Config.in   | 6 +++---
>>  package/libepoxy/libepoxy.mk | 9 +--------
>>  2 files changed, 4 insertions(+), 11 deletions(-)
>>
>> diff --git a/package/libepoxy/Config.in b/package/libepoxy/Config.in
>> index c87366a..54b8272 100644
>> --- a/package/libepoxy/Config.in
>> +++ b/package/libepoxy/Config.in
>> @@ -1,12 +1,12 @@
>>  config BR2_PACKAGE_LIBEPOXY
>>  	bool "libepoxy"
>>  	select BR2_PACKAGE_XUTIL_UTIL_MACROS
>> -	depends on BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL
>> +	depends on BR2_PACKAGE_HAS_LIBEGL
> 
> Really egl only is sufficient? This seems dubious. It doesn't need at
> least OpenGL ES ?

I have successfully build tested it without Xorg and without OpenGL ES
support (just OpenGL EGL).

Vincent

> Thomas
>
Vicente Olivert Riera March 10, 2017, 3:27 p.m. UTC | #3
Hi again Thomas,

On 10/03/17 15:05, Vicente Olivert Riera wrote:
> Hi Thomas,
> 
> On 10/03/17 15:01, Thomas Petazzoni wrote:
>> Hello,
>>
>> Cc'ing Gustavo, who said he would have a look at this issue.
> 
> he already was on CC.
> 
>> On Fri, 10 Mar 2017 11:11:50 +0000, Vicente Olivert Riera wrote:
>>> The --disable-egl configure option doesn't exist:
>>>
>>> configure: WARNING: unrecognized options: [snip] --disable-egl
>>>
>>> If you don't have EGL support the configure script will fail like this:
>>>
>>> checking for EGL... no
>>> configure: error: Package requirements (egl) were not met:
>>>
>>> Fixes:
>>>   http://autobuild.buildroot.net/results/3eca5ba26a521f6cc5a611309ba066472af7769c
>>>   http://autobuild.buildroot.net/results/cf9ec7da196d70548ae1413e4a3730314f6434d6
>>>   http://autobuild.buildroot.net/results/069b80101afc4719db6d6d41cf5fc923be21ddc0
>>>
>>> Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
>>> ---
>>>  package/libepoxy/Config.in   | 6 +++---
>>>  package/libepoxy/libepoxy.mk | 9 +--------
>>>  2 files changed, 4 insertions(+), 11 deletions(-)
>>>
>>> diff --git a/package/libepoxy/Config.in b/package/libepoxy/Config.in
>>> index c87366a..54b8272 100644
>>> --- a/package/libepoxy/Config.in
>>> +++ b/package/libepoxy/Config.in
>>> @@ -1,12 +1,12 @@
>>>  config BR2_PACKAGE_LIBEPOXY
>>>  	bool "libepoxy"
>>>  	select BR2_PACKAGE_XUTIL_UTIL_MACROS
>>> -	depends on BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL
>>> +	depends on BR2_PACKAGE_HAS_LIBEGL
>>
>> Really egl only is sufficient? This seems dubious. It doesn't need at
>> least OpenGL ES ?
> 
> I have successfully build tested it without Xorg and without OpenGL ES
> support (just OpenGL EGL).

you can try it with this minimal defconfig:

BR2_mips=y
BR2_mips_32r2=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_PACKAGE_MESA3D=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST=y
BR2_PACKAGE_MESA3D_OPENGL_EGL=y
BR2_PACKAGE_LIBEPOXY=y

Vincent

> 
> Vincent
> 
>> Thomas
>>
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>
Romain Naour March 19, 2017, 8:45 p.m. UTC | #4
Hi Vicente, Thomas, All,

Le 10/03/2017 à 16:05, Vicente Olivert Riera a écrit :
> Hi Thomas,
> 
> On 10/03/17 15:01, Thomas Petazzoni wrote:
>> Hello,
>>
>> Cc'ing Gustavo, who said he would have a look at this issue.
> 
> he already was on CC.
> 
>> On Fri, 10 Mar 2017 11:11:50 +0000, Vicente Olivert Riera wrote:
>>> The --disable-egl configure option doesn't exist:
>>>
>>> configure: WARNING: unrecognized options: [snip] --disable-egl
>>>
>>> If you don't have EGL support the configure script will fail like this:
>>>
>>> checking for EGL... no
>>> configure: error: Package requirements (egl) were not met:
>>>
>>> Fixes:
>>>   http://autobuild.buildroot.net/results/3eca5ba26a521f6cc5a611309ba066472af7769c
>>>   http://autobuild.buildroot.net/results/cf9ec7da196d70548ae1413e4a3730314f6434d6
>>>   http://autobuild.buildroot.net/results/069b80101afc4719db6d6d41cf5fc923be21ddc0
>>>
>>> Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
>>> ---
>>>  package/libepoxy/Config.in   | 6 +++---
>>>  package/libepoxy/libepoxy.mk | 9 +--------
>>>  2 files changed, 4 insertions(+), 11 deletions(-)
>>>
>>> diff --git a/package/libepoxy/Config.in b/package/libepoxy/Config.in
>>> index c87366a..54b8272 100644
>>> --- a/package/libepoxy/Config.in
>>> +++ b/package/libepoxy/Config.in
>>> @@ -1,12 +1,12 @@
>>>  config BR2_PACKAGE_LIBEPOXY
>>>  	bool "libepoxy"
>>>  	select BR2_PACKAGE_XUTIL_UTIL_MACROS
>>> -	depends on BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL
>>> +	depends on BR2_PACKAGE_HAS_LIBEGL
>>
>> Really egl only is sufficient? This seems dubious. It doesn't need at
>> least OpenGL ES ?
> 
> I have successfully build tested it without Xorg and without OpenGL ES
> support (just OpenGL EGL).

I'm using a x86 PC with HD6310 graphic card and mesa3d as OpenGL provider.
In order to enable glamor in the X server, I selected libepoxy and had the build
issue since libegl wasn't selected.
Indeed, there is no option --disable-egl in libepoxy, and libegl is mandatory
for Linux target.

Did you check the libepoxy reverse dependencies ?
It seems we need to forward libegl dependency to libgtk3 package.

With that fixed:
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Tested-by: Romain Naour <romain.naour@gmail.com>

Best regards,
Romain

> 
> Vincent
> 
>> Thomas
>>
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>
Romain Naour March 19, 2017, 10:32 p.m. UTC | #5
Le 19/03/2017 à 21:45, Romain Naour a écrit :
> Hi Vicente, Thomas, All,
> 
> Le 10/03/2017 à 16:05, Vicente Olivert Riera a écrit :
>> Hi Thomas,
>>
>> On 10/03/17 15:01, Thomas Petazzoni wrote:
>>> Hello,
>>>
>>> Cc'ing Gustavo, who said he would have a look at this issue.
>>
>> he already was on CC.
>>
>>> On Fri, 10 Mar 2017 11:11:50 +0000, Vicente Olivert Riera wrote:
>>>> The --disable-egl configure option doesn't exist:
>>>>
>>>> configure: WARNING: unrecognized options: [snip] --disable-egl
>>>>
>>>> If you don't have EGL support the configure script will fail like this:
>>>>
>>>> checking for EGL... no
>>>> configure: error: Package requirements (egl) were not met:
>>>>
>>>> Fixes:
>>>>   http://autobuild.buildroot.net/results/3eca5ba26a521f6cc5a611309ba066472af7769c
>>>>   http://autobuild.buildroot.net/results/cf9ec7da196d70548ae1413e4a3730314f6434d6
>>>>   http://autobuild.buildroot.net/results/069b80101afc4719db6d6d41cf5fc923be21ddc0
>>>>
>>>> Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
>>>> ---
>>>>  package/libepoxy/Config.in   | 6 +++---
>>>>  package/libepoxy/libepoxy.mk | 9 +--------
>>>>  2 files changed, 4 insertions(+), 11 deletions(-)
>>>>
>>>> diff --git a/package/libepoxy/Config.in b/package/libepoxy/Config.in
>>>> index c87366a..54b8272 100644
>>>> --- a/package/libepoxy/Config.in
>>>> +++ b/package/libepoxy/Config.in
>>>> @@ -1,12 +1,12 @@
>>>>  config BR2_PACKAGE_LIBEPOXY
>>>>  	bool "libepoxy"
>>>>  	select BR2_PACKAGE_XUTIL_UTIL_MACROS
>>>> -	depends on BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL
>>>> +	depends on BR2_PACKAGE_HAS_LIBEGL
>>>
>>> Really egl only is sufficient? This seems dubious. It doesn't need at
>>> least OpenGL ES ?
>>
>> I have successfully build tested it without Xorg and without OpenGL ES
>> support (just OpenGL EGL).
> 
> I'm using a x86 PC with HD6310 graphic card and mesa3d as OpenGL provider.
> In order to enable glamor in the X server, I selected libepoxy and had the build
> issue since libegl wasn't selected.
> Indeed, there is no option --disable-egl in libepoxy, and libegl is mandatory
> for Linux target.

Vincente, libepoxy use dlsym to load a GLES2 library when EGL support is
enabled, see src/dispatch_common.c

#define EGL_LIB "libEGL.so.1"
#define GLES1_LIB "libGLESv1_CM.so.1"
#define GLES2_LIB "libGLESv2.so.2"

So, OpenGL ES should be selected in the end.

Best regards,
Romain

> 
> Did you check the libepoxy reverse dependencies ?
> It seems we need to forward libegl dependency to libgtk3 package.
> 
> With that fixed:
> Reviewed-by: Romain Naour <romain.naour@gmail.com>
> Tested-by: Romain Naour <romain.naour@gmail.com>
> 
> Best regards,
> Romain
> 
>>
>> Vincent
>>
>>> Thomas
>>>
>> _______________________________________________
>> buildroot mailing list
>> buildroot@busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot
>>
>
diff mbox

Patch

diff --git a/package/libepoxy/Config.in b/package/libepoxy/Config.in
index c87366a..54b8272 100644
--- a/package/libepoxy/Config.in
+++ b/package/libepoxy/Config.in
@@ -1,12 +1,12 @@ 
 config BR2_PACKAGE_LIBEPOXY
 	bool "libepoxy"
 	select BR2_PACKAGE_XUTIL_UTIL_MACROS
-	depends on BR2_PACKAGE_HAS_LIBEGL || BR2_PACKAGE_HAS_LIBGL
+	depends on BR2_PACKAGE_HAS_LIBEGL
 	help
 	  Epoxy is a library for handling OpenGL function pointer
 	  management for you.
 
 	  https://github.com/anholt/libepoxy
 
-comment "libepoxy needs an OpenGL and/or OpenGL EGL backend"
-	depends on !BR2_PACKAGE_HAS_LIBEGL && !BR2_PACKAGE_HAS_LIBGL
+comment "libepoxy needs an OpenGL EGL backend"
+	depends on !BR2_PACKAGE_HAS_LIBEGL
diff --git a/package/libepoxy/libepoxy.mk b/package/libepoxy/libepoxy.mk
index be8c55e..0f5d802 100644
--- a/package/libepoxy/libepoxy.mk
+++ b/package/libepoxy/libepoxy.mk
@@ -9,17 +9,10 @@  LIBEPOXY_VERSION = $(LIBEPOXY_VERSION_MAJOR).1
 LIBEPOXY_SITE = http://ftp.gnome.org/pub/gnome/sources/libepoxy/$(LIBEPOXY_VERSION_MAJOR)
 LIBEPOXY_SOURCE = libepoxy-$(LIBEPOXY_VERSION).tar.xz
 LIBEPOXY_INSTALL_STAGING = YES
-LIBEPOXY_DEPENDENCIES = host-pkgconf xutil_util-macros
+LIBEPOXY_DEPENDENCIES = host-pkgconf libegl xutil_util-macros
 LIBEPOXY_LICENSE = MIT
 LIBEPOXY_LICENSE_FILES = COPYING
 
-ifeq ($(BR2_PACKAGE_HAS_LIBEGL),y)
-LIBEPOXY_CONF_OPTS += --enable-egl
-LIBEPOXY_DEPENDENCIES += libegl
-else
-LIBEPOXY_CONF_OPTS += --disable-egl
-endif
-
 ifeq ($(BR2_PACKAGE_HAS_LIBGL)$(BR2_PACKAGE_XLIB_LIBX11),yy)
 LIBEPOXY_CONF_OPTS += --enable-glx
 LIBEPOXY_DEPENDENCIES += libgl xlib_libX11