<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On 2 October 2015 at 18:43, Andreas Oberritter <span dir="ltr"><<a href="mailto:obi@opendreambox.org" target="_blank">obi@opendreambox.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Hello Jussi,</blockquote><div><br></div><div><br></div><div>Hi, and thanks for the help.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">On 02.10.2015 14:41, Jussi Kukkonen wrote:<br>
> Automatic dependency tracking does not notice this (understandable<br>
> with the dlopen trickery epoxy does).<br>
><br>
> [YOCTO #8371]<br>
><br>
> Signed-off-by: Jussi Kukkonen <<a href="mailto:jussi.kukkonen@intel.com">jussi.kukkonen@intel.com</a>><br>
> ---<br>
><br>
><br>
> I'm not super familiar with the opengl handling so please let me know if there's some<br>
> better way to do this: The problem being fixed is e.g. gtk3-demo failing to start<br>
> because it fails to dlopen libGL.so.1.<br>
><br>
><br>
> meta/recipes-graphics/libepoxy/<a href="http://libepoxy_git.bb" rel="noreferrer" target="_blank">libepoxy_git.bb</a> | 1 +<br>
> 1 file changed, 1 insertion(+)<br>
><br>
> diff --git a/meta/recipes-graphics/libepoxy/<a href="http://libepoxy_git.bb" rel="noreferrer" target="_blank">libepoxy_git.bb</a> b/meta/recipes-graphics/libepoxy/<a href="http://libepoxy_git.bb" rel="noreferrer" target="_blank">libepoxy_git.bb</a><br>
> index ad17293..fe05d4e 100644<br>
> --- a/meta/recipes-graphics/libepoxy/<a href="http://libepoxy_git.bb" rel="noreferrer" target="_blank">libepoxy_git.bb</a><br>
> +++ b/meta/recipes-graphics/libepoxy/<a href="http://libepoxy_git.bb" rel="noreferrer" target="_blank">libepoxy_git.bb</a><br>
> @@ -20,6 +20,7 @@ S = "${WORKDIR}/git"<br>
> inherit autotools pkgconfig<br>
><br>
> DEPENDS = "util-macros virtual/egl"<br>
> +RDEPENDS_${PN} = "libgl"<br>
><br>
> PACKAGECONFIG[x11] = "--enable-glx, --disable-glx, virtual/libx11"<br>
<br>
</span>If epoxy behaves like other projects, then I'd try removing virtual/egl from<br>
DEPENDS and replacing the line above with this one</blockquote><div><br></div><div><div>Hi, and thanks for the help.</div><div><br></div></div><div>For reference, epoxy is slightly different from most projects in that it provides GL API(s) itself. It's a helper library to avoid doing the dlopen/*GetProcAddress dance: epoxy handles that and the application can just call the functions without dealing with function pointers.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"> <br></blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
PACKAGECONFIG[x11] = "--enable-glx, --disable-glx, virtual/libx11 virtual/gl, libgl"<br>
<br>
An additional packageconfig for gles2 should be added. For a rather complex<br>
example covering many environments see meta/recipes-graphics/cogl/cogl-1.0.inc</blockquote><div><br></div><div><div>The cogl example looks good to me -- although currently epoxy does depend on egl at build time unconditionally: at least some dispatch headers are built based on egl headers.<br></div></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><span class="">
> PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"<br>
<br>
</span>An empty default probably doesn't make sense for this library, unless --disable-glx<br>
implies --enable-egl (or something similar). But then you'd need to keep the build<br>
dependency on virtual/egl, even though it's most probably unused if x11 is available.</blockquote><div><br></div><div>The EGL support is there in epoxy regardless of --enable-glx, as far as I can see so I think I'll have to keep it there. But I'll modify the runtime dependencies based on the cogl example.</div><div> <br></div><div>Thanks, Jussi</div></div></div></div>