Patchwork [meta-fsl-arm] Adding -lEGL and -lGAL to glesv2.pc

login
register
mail settings
Submitter Thomas Senyk
Date June 20, 2013, 2:31 p.m.
Message ID <2169791.BFDmuhoxsk@rudolf>
Download mbox | patch
Permalink /patch/52141/
State Changes Requested
Delegated to: Otavio Salvador
Headers show

Comments

Thomas Senyk - June 20, 2013, 2:31 p.m.
From: Thomas Senyk <thomas.senyk@pelagicore.com>

libGLESv2 has undefined symbols, which get provided by libEGL and libGAL,
but libGLESv2 has no implicit 'link' to those libs.
So if you link against libGLESv2 but not against libEGL and libGAL,
you'll get 'undefined symbol'-errors.

Signed-off-by: Thomas Senyk <thomas.senyk@pelagicore.com>
---
 recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2.pc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Otavio Salvador - June 20, 2013, 8 p.m.
On Thu, Jun 20, 2013 at 11:31 AM, Thomas Senyk
<thomas.senyk@pelagicore.com> wrote:
> From: Thomas Senyk <thomas.senyk@pelagicore.com>
>
> libGLESv2 has undefined symbols, which get provided by libEGL and libGAL,
> but libGLESv2 has no implicit 'link' to those libs.
> So if you link against libGLESv2 but not against libEGL and libGAL,
> you'll get 'undefined symbol'-errors.
>
> Signed-off-by: Thomas Senyk <thomas.senyk@pelagicore.com>

Please change your short description to include the recipe name:

gpu-viv-bin-mx6q: Add ...
<empty line>
libGLESv2 ...

Signed-off-by: ...

--
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://projetos.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
Otavio Salvador - June 20, 2013, 8:33 p.m.
On Thu, Jun 20, 2013 at 5:00 PM, Otavio Salvador
<otavio@ossystems.com.br> wrote:
> On Thu, Jun 20, 2013 at 11:31 AM, Thomas Senyk
> <thomas.senyk@pelagicore.com> wrote:
>> From: Thomas Senyk <thomas.senyk@pelagicore.com>
>>
>> libGLESv2 has undefined symbols, which get provided by libEGL and libGAL,
>> but libGLESv2 has no implicit 'link' to those libs.
>> So if you link against libGLESv2 but not against libEGL and libGAL,
>> you'll get 'undefined symbol'-errors.
>>
>> Signed-off-by: Thomas Senyk <thomas.senyk@pelagicore.com>
>
> Please change your short description to include the recipe name:
>
> gpu-viv-bin-mx6q: Add ...
> <empty line>
> libGLESv2 ...
>
> Signed-off-by: ...

I did this locally and pushed to master-next. Please follow these
guidelines when doing the commit log so it easy finding which changes
might affect each recipe.

Regards,

--
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://projetos.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
Thomas Senyk - June 21, 2013, 9:08 a.m.
On Thursday, 20 June, 2013 17:33:00 Otavio Salvador wrote:
> On Thu, Jun 20, 2013 at 5:00 PM, Otavio Salvador
> 
> <otavio@ossystems.com.br> wrote:
> > On Thu, Jun 20, 2013 at 11:31 AM, Thomas Senyk
> > 
> > <thomas.senyk@pelagicore.com> wrote:
> >> From: Thomas Senyk <thomas.senyk@pelagicore.com>
> >> 
> >> libGLESv2 has undefined symbols, which get provided by libEGL and libGAL,
> >> but libGLESv2 has no implicit 'link' to those libs.
> >> So if you link against libGLESv2 but not against libEGL and libGAL,
> >> you'll get 'undefined symbol'-errors.
> >> 
> >> Signed-off-by: Thomas Senyk <thomas.senyk@pelagicore.com>
> > 
> > Please change your short description to include the recipe name:
> > 
> > gpu-viv-bin-mx6q: Add ...
> > <empty line>
> > libGLESv2 ...
> > 
> > Signed-off-by: ...

ah, right! sorry

> 
> I did this locally and pushed to master-next. Please follow these
> guidelines when doing the commit log so it easy finding which changes
> might affect each recipe.

Thanks and I keep in mind for next time!

> 
> Regards,
> 
> --
> Otavio Salvador                             O.S. Systems
> http://www.ossystems.com.br        http://projetos.ossystems.com.br
> Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
Thomas Senyk - June 21, 2013, 11:52 a.m.
On Friday, 21 June, 2013 11:08:19 Thomas Senyk wrote:
> On Thursday, 20 June, 2013 17:33:00 Otavio Salvador wrote:
> > On Thu, Jun 20, 2013 at 5:00 PM, Otavio Salvador
> > 
> > <otavio@ossystems.com.br> wrote:
> > > On Thu, Jun 20, 2013 at 11:31 AM, Thomas Senyk
> > > 
> > > <thomas.senyk@pelagicore.com> wrote:
> > >> From: Thomas Senyk <thomas.senyk@pelagicore.com>
> > >> 
> > >> libGLESv2 has undefined symbols, which get provided by libEGL and
> > >> libGAL,
> > >> but libGLESv2 has no implicit 'link' to those libs.
> > >> So if you link against libGLESv2 but not against libEGL and libGAL,
> > >> you'll get 'undefined symbol'-errors.
> > >> 
> > >> Signed-off-by: Thomas Senyk <thomas.senyk@pelagicore.com>
> > > 
> > > Please change your short description to include the recipe name:
> > > 
> > > gpu-viv-bin-mx6q: Add ...
> > > <empty line>
> > > libGLESv2 ...
> > > 
> > > Signed-off-by: ...
> 
> ah, right! sorry
> 
> > I did this locally and pushed to master-next. Please follow these
> > guidelines when doing the commit log so it easy finding which changes
> > might affect each recipe.
> 
> Thanks and I keep in mind for next time!
> 
> > Regards,
> > 
> > --
> > Otavio Salvador                             O.S. Systems
> > http://www.ossystems.com.br        http://projetos.ossystems.com.br
> > Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750


I've just spotted two other things:

a: I skipped glesv1_cm.pc because I've not used it so far, but I looks like it 
has the same gco* and eglWaitClient symbols as "*UND*" as libGLESv2, so maybe 
it should be linked the same way

and more importantly (at least for me):
b: egl.pc (and glesv1_cm.pc) has:
 "Requires.private: libdrm x11 xext xdamage xfixes xcb"
this must be removed as it's wrong and harmful for non-x11 builds.
If this is a 'must-have' for x11 builds, we need to have two files.
Any thought from somebody who has done a x11 build on 4.0.0 drivers?


Greets
Thomas
Otavio Salvador - June 21, 2013, 12:35 p.m.
On Fri, Jun 21, 2013 at 8:52 AM, Thomas Senyk
<thomas.senyk@pelagicore.com> wrote:
> On Friday, 21 June, 2013 11:08:19 Thomas Senyk wrote:
>> On Thursday, 20 June, 2013 17:33:00 Otavio Salvador wrote:
>> > On Thu, Jun 20, 2013 at 5:00 PM, Otavio Salvador
>> >
>> > <otavio@ossystems.com.br> wrote:
>> > > On Thu, Jun 20, 2013 at 11:31 AM, Thomas Senyk
>> > >
>> > > <thomas.senyk@pelagicore.com> wrote:
>> > >> From: Thomas Senyk <thomas.senyk@pelagicore.com>
>> > >>
>> > >> libGLESv2 has undefined symbols, which get provided by libEGL and
>> > >> libGAL,
>> > >> but libGLESv2 has no implicit 'link' to those libs.
>> > >> So if you link against libGLESv2 but not against libEGL and libGAL,
>> > >> you'll get 'undefined symbol'-errors.
>> > >>
>> > >> Signed-off-by: Thomas Senyk <thomas.senyk@pelagicore.com>
>> > >
>> > > Please change your short description to include the recipe name:
>> > >
>> > > gpu-viv-bin-mx6q: Add ...
>> > > <empty line>
>> > > libGLESv2 ...
>> > >
>> > > Signed-off-by: ...
>>
>> ah, right! sorry
>>
>> > I did this locally and pushed to master-next. Please follow these
>> > guidelines when doing the commit log so it easy finding which changes
>> > might affect each recipe.
>>
>> Thanks and I keep in mind for next time!
>>
>> > Regards,
>> >
>> > --
>> > Otavio Salvador                             O.S. Systems
>> > http://www.ossystems.com.br        http://projetos.ossystems.com.br
>> > Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
>
>
> I've just spotted two other things:
>
> a: I skipped glesv1_cm.pc because I've not used it so far, but I looks like it
> has the same gco* and eglWaitClient symbols as "*UND*" as libGLESv2, so maybe
> it should be linked the same way

Can you update the patch and send a v2?

> and more importantly (at least for me):
> b: egl.pc (and glesv1_cm.pc) has:
>  "Requires.private: libdrm x11 xext xdamage xfixes xcb"
> this must be removed as it's wrong and harmful for non-x11 builds.
> If this is a 'must-have' for x11 builds, we need to have two files.
> Any thought from somebody who has done a x11 build on 4.0.0 drivers?

I agree; but it seems we'll need to handle it with two files. One  for
'fb' and another for 'x11'. The used one can be choosen by the backend
variable in use.

Can you take a look on this?

--
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://projetos.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
Thomas Senyk - June 21, 2013, 1:02 p.m.
On Friday, 21 June, 2013 9:35:15 Otavio Salvador wrote:
> On Fri, Jun 21, 2013 at 8:52 AM, Thomas Senyk
> 
> <thomas.senyk@pelagicore.com> wrote:
> > On Friday, 21 June, 2013 11:08:19 Thomas Senyk wrote:
> >> On Thursday, 20 June, 2013 17:33:00 Otavio Salvador wrote:
> >> > On Thu, Jun 20, 2013 at 5:00 PM, Otavio Salvador
> >> > 
> >> > <otavio@ossystems.com.br> wrote:
> >> > > On Thu, Jun 20, 2013 at 11:31 AM, Thomas Senyk
> >> > > 
> >> > > <thomas.senyk@pelagicore.com> wrote:
> >> > >> From: Thomas Senyk <thomas.senyk@pelagicore.com>
> >> > >> 
> >> > >> libGLESv2 has undefined symbols, which get provided by libEGL and
> >> > >> libGAL,
> >> > >> but libGLESv2 has no implicit 'link' to those libs.
> >> > >> So if you link against libGLESv2 but not against libEGL and libGAL,
> >> > >> you'll get 'undefined symbol'-errors.
> >> > >> 
> >> > >> Signed-off-by: Thomas Senyk <thomas.senyk@pelagicore.com>
> >> > > 
> >> > > Please change your short description to include the recipe name:
> >> > > 
> >> > > gpu-viv-bin-mx6q: Add ...
> >> > > <empty line>
> >> > > libGLESv2 ...
> >> > > 
> >> > > Signed-off-by: ...
> >> 
> >> ah, right! sorry
> >> 
> >> > I did this locally and pushed to master-next. Please follow these
> >> > guidelines when doing the commit log so it easy finding which changes
> >> > might affect each recipe.
> >> 
> >> Thanks and I keep in mind for next time!
> >> 
> >> > Regards,
> >> > 
> >> > --
> >> > Otavio Salvador                             O.S. Systems
> >> > http://www.ossystems.com.br        http://projetos.ossystems.com.br
> >> > Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
> > 
> > I've just spotted two other things:
> > 
> > a: I skipped glesv1_cm.pc because I've not used it so far, but I looks
> > like it has the same gco* and eglWaitClient symbols as "*UND*" as
> > libGLESv2, so maybe it should be linked the same way
> 
> Can you update the patch and send a v2?
> 
> > and more importantly (at least for me):
> > 
> > b: egl.pc (and glesv1_cm.pc) has:
> >  "Requires.private: libdrm x11 xext xdamage xfixes xcb"
> > 
> > this must be removed as it's wrong and harmful for non-x11 builds.
> > If this is a 'must-have' for x11 builds, we need to have two files.
> > Any thought from somebody who has done a x11 build on 4.0.0 drivers?
> 
> I agree; but it seems we'll need to handle it with two files. One  for
> 'fb' and another for 'x11'. The used one can be choosen by the backend
> variable in use.
> 
> Can you take a look on this?

Yes. I'll do it in two commits (one v2 for the glesv1 change and another one 
for the x11 vs. non-x11) ... unless you want it in one? that's ok with me as 
well.

The idea for x11 vs. non-x11 I have right now would be:

SRC_URI += "${@base_contains("DISTRO_FEATURES", "x11", " file://pkg-
config_x11/egl.pc ", " file://egl.pc ", d)}"
(for all 3 files)

... so: having a 'neutral' version in gpu-viv-bin-mx6q/ and having the x11 
version in gpu-viv-bin-mx6q/pkg-config_x11/

does that sound reasonable?


> 
> --
> Otavio Salvador                             O.S. Systems
> http://www.ossystems.com.br        http://projetos.ossystems.com.br
> Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
Otavio Salvador - June 21, 2013, 1:43 p.m.
On Fri, Jun 21, 2013 at 10:02 AM, Thomas Senyk
<thomas.senyk@pelagicore.com> wrote:
> On Friday, 21 June, 2013 9:35:15 Otavio Salvador wrote:
>> On Fri, Jun 21, 2013 at 8:52 AM, Thomas Senyk
>>
>> <thomas.senyk@pelagicore.com> wrote:
>> > On Friday, 21 June, 2013 11:08:19 Thomas Senyk wrote:
>> >> On Thursday, 20 June, 2013 17:33:00 Otavio Salvador wrote:
>> >> > On Thu, Jun 20, 2013 at 5:00 PM, Otavio Salvador
>> >> >
>> >> > <otavio@ossystems.com.br> wrote:
>> >> > > On Thu, Jun 20, 2013 at 11:31 AM, Thomas Senyk
>> >> > >
>> >> > > <thomas.senyk@pelagicore.com> wrote:
>> >> > >> From: Thomas Senyk <thomas.senyk@pelagicore.com>
>> >> > >>
>> >> > >> libGLESv2 has undefined symbols, which get provided by libEGL and
>> >> > >> libGAL,
>> >> > >> but libGLESv2 has no implicit 'link' to those libs.
>> >> > >> So if you link against libGLESv2 but not against libEGL and libGAL,
>> >> > >> you'll get 'undefined symbol'-errors.
>> >> > >>
>> >> > >> Signed-off-by: Thomas Senyk <thomas.senyk@pelagicore.com>
>> >> > >
>> >> > > Please change your short description to include the recipe name:
>> >> > >
>> >> > > gpu-viv-bin-mx6q: Add ...
>> >> > > <empty line>
>> >> > > libGLESv2 ...
>> >> > >
>> >> > > Signed-off-by: ...
>> >>
>> >> ah, right! sorry
>> >>
>> >> > I did this locally and pushed to master-next. Please follow these
>> >> > guidelines when doing the commit log so it easy finding which changes
>> >> > might affect each recipe.
>> >>
>> >> Thanks and I keep in mind for next time!
>> >>
>> >> > Regards,
>> >> >
>> >> > --
>> >> > Otavio Salvador                             O.S. Systems
>> >> > http://www.ossystems.com.br        http://projetos.ossystems.com.br
>> >> > Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
>> >
>> > I've just spotted two other things:
>> >
>> > a: I skipped glesv1_cm.pc because I've not used it so far, but I looks
>> > like it has the same gco* and eglWaitClient symbols as "*UND*" as
>> > libGLESv2, so maybe it should be linked the same way
>>
>> Can you update the patch and send a v2?
>>
>> > and more importantly (at least for me):
>> >
>> > b: egl.pc (and glesv1_cm.pc) has:
>> >  "Requires.private: libdrm x11 xext xdamage xfixes xcb"
>> >
>> > this must be removed as it's wrong and harmful for non-x11 builds.
>> > If this is a 'must-have' for x11 builds, we need to have two files.
>> > Any thought from somebody who has done a x11 build on 4.0.0 drivers?
>>
>> I agree; but it seems we'll need to handle it with two files. One  for
>> 'fb' and another for 'x11'. The used one can be choosen by the backend
>> variable in use.
>>
>> Can you take a look on this?
>
> Yes. I'll do it in two commits (one v2 for the glesv1 change and another one
> for the x11 vs. non-x11) ... unless you want it in one? that's ok with me as
> well.

Yes; do it in two commits.

> The idea for x11 vs. non-x11 I have right now would be:
>
> SRC_URI += "${@base_contains("DISTRO_FEATURES", "x11", " file://pkg-
> config_x11/egl.pc ", " file://egl.pc ", d)}"
> (for all 3 files)
>
> ... so: having a 'neutral' version in gpu-viv-bin-mx6q/ and having the x11
> version in gpu-viv-bin-mx6q/pkg-config_x11/
>
> does that sound reasonable?

Almost but avoid subdirs. I'd use:

egl_x11.pc
egl_fb.pc

and use distro features in do_install, to choose.

--
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://projetos.ossystems.com.br
Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
Thomas Senyk - June 21, 2013, 2:24 p.m.
On Friday, 21 June, 2013 10:43:12 Otavio Salvador wrote:
> On Fri, Jun 21, 2013 at 10:02 AM, Thomas Senyk
> 
> <thomas.senyk@pelagicore.com> wrote:
> > On Friday, 21 June, 2013 9:35:15 Otavio Salvador wrote:
> >> On Fri, Jun 21, 2013 at 8:52 AM, Thomas Senyk
> >> 
> >> <thomas.senyk@pelagicore.com> wrote:
> >> > On Friday, 21 June, 2013 11:08:19 Thomas Senyk wrote:
> >> >> On Thursday, 20 June, 2013 17:33:00 Otavio Salvador wrote:
> >> >> > On Thu, Jun 20, 2013 at 5:00 PM, Otavio Salvador
> >> >> > 
> >> >> > <otavio@ossystems.com.br> wrote:
> >> >> > > On Thu, Jun 20, 2013 at 11:31 AM, Thomas Senyk
> >> >> > > 
> >> >> > > <thomas.senyk@pelagicore.com> wrote:
> >> >> > >> From: Thomas Senyk <thomas.senyk@pelagicore.com>
> >> >> > >> 
> >> >> > >> libGLESv2 has undefined symbols, which get provided by libEGL and
> >> >> > >> libGAL,
> >> >> > >> but libGLESv2 has no implicit 'link' to those libs.
> >> >> > >> So if you link against libGLESv2 but not against libEGL and
> >> >> > >> libGAL,
> >> >> > >> you'll get 'undefined symbol'-errors.
> >> >> > >> 
> >> >> > >> Signed-off-by: Thomas Senyk <thomas.senyk@pelagicore.com>
> >> >> > > 
> >> >> > > Please change your short description to include the recipe name:
> >> >> > > 
> >> >> > > gpu-viv-bin-mx6q: Add ...
> >> >> > > <empty line>
> >> >> > > libGLESv2 ...
> >> >> > > 
> >> >> > > Signed-off-by: ...
> >> >> 
> >> >> ah, right! sorry
> >> >> 
> >> >> > I did this locally and pushed to master-next. Please follow these
> >> >> > guidelines when doing the commit log so it easy finding which
> >> >> > changes
> >> >> > might affect each recipe.
> >> >> 
> >> >> Thanks and I keep in mind for next time!
> >> >> 
> >> >> > Regards,
> >> >> > 
> >> >> > --
> >> >> > Otavio Salvador                             O.S. Systems
> >> >> > http://www.ossystems.com.br        http://projetos.ossystems.com.br
> >> >> > Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750
> >> > 
> >> > I've just spotted two other things:
> >> > 
> >> > a: I skipped glesv1_cm.pc because I've not used it so far, but I looks
> >> > like it has the same gco* and eglWaitClient symbols as "*UND*" as
> >> > libGLESv2, so maybe it should be linked the same way
> >> 
> >> Can you update the patch and send a v2?
> >> 
> >> > and more importantly (at least for me):
> >> > 
> >> > b: egl.pc (and glesv1_cm.pc) has:
> >> >  "Requires.private: libdrm x11 xext xdamage xfixes xcb"
> >> > 
> >> > this must be removed as it's wrong and harmful for non-x11 builds.
> >> > If this is a 'must-have' for x11 builds, we need to have two files.
> >> > Any thought from somebody who has done a x11 build on 4.0.0 drivers?
> >> 
> >> I agree; but it seems we'll need to handle it with two files. One  for
> >> 'fb' and another for 'x11'. The used one can be choosen by the backend
> >> variable in use.
> >> 
> >> Can you take a look on this?
> > 
> > Yes. I'll do it in two commits (one v2 for the glesv1 change and another
> > one for the x11 vs. non-x11) ... unless you want it in one? that's ok
> > with me as well.
> 
> Yes; do it in two commits.

k, commit 1 is ready.
I'll send them in one mail when commit 2 is done

> 
> > The idea for x11 vs. non-x11 I have right now would be:
> > 
> > SRC_URI += "${@base_contains("DISTRO_FEATURES", "x11", " file://pkg-
> > config_x11/egl.pc ", " file://egl.pc ", d)}"
> > (for all 3 files)
> > 
> > ... so: having a 'neutral' version in gpu-viv-bin-mx6q/ and having the x11
> > version in gpu-viv-bin-mx6q/pkg-config_x11/
> > 
> > does that sound reasonable?
> 
> Almost but avoid subdirs. I'd use:
> 
> egl_x11.pc
> egl_fb.pc
> 
> and use distro features in do_install, to choose.

k!

Although I would do a "general" egl.pc for all non-x11 (fb and dfb) as I've no 
idea if dfb needs anything special?

If there is anything special about dfb I should know of, or if a plain copy is 
is actually the right thing to do: let me know and I'll do 3 versions of each 
file

> 
> --
> Otavio Salvador                             O.S. Systems
> http://www.ossystems.com.br        http://projetos.ossystems.com.br
> Mobile: +55 (53) 9981-7854            Mobile: +1 (347) 903-9750

Patch

diff --git a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2.pc 
b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2.pc
index e92620b..9be46f2 100644
--- a/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2.pc
+++ b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2.pc
@@ -7,6 +7,6 @@  Name: glesv2
 Description: Vivante OpenGL ES 2.0 library
 Requires.private:
 Version: 8.0
-Libs: -L${libdir} -lGLESv2
+Libs: -L${libdir} -lGLESv2 -lEGL -lGAL
 Libs.private: -lpthread -lrt
 Cflags: -I${includedir}