Skip to contentSkip to conversation

Adding -lEGL and -lGAL to glesv2.pc

PATCH In review Thomas Senyk 2 participants 9 messages Jun 20, 2013 – Jun 21, 2013

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Adding -lEGL and -lGAL to glesv2.pc

From: Thomas Senyk <[email protected]>

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.

---
 recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2.pc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
(quoted diff) +0 -0

b/recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2.pc index e92620b..9be46f2 100644

recipes-graphics/gpu-viv-bin-mx6q/gpu-viv-bin-mx6q/glesv2.pc +1 -1
@@ -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}
Signature · 1 line
1.8.3.1
#1 lore raw
Quoted 8 lines · Thomas Senyk

From: Thomas Senyk <[email protected]>

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.

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

#2 lore raw
Quoted 11 lines · Otavio Salvador
Quoted 8 lines · Thomas Senyk

From: Thomas Senyk <[email protected]>

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.

Quoted 7 lines

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

#3 lore raw
Quoted 22 lines · On Thursday, 20 June, 2013 17:33:00 Otavio Salvador wrote:

On Thu, Jun 20, 2013 at 5:00 PM, Otavio Salvador

Quoted 19 lines · <[email protected]> wrote:

On Thu, Jun 20, 2013 at 11:31 AM, Thomas Senyk

Quoted 8 lines · <[email protected]> wrote:

From: Thomas Senyk <[email protected]>

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.

Please change your short description to include the recipe name:

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

Signed-off-by ...

ah, right! sorry

Quoted 4 lines

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!

Quoted 7 lines

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

#4 lore raw
Quoted 25 lines · On Friday, 21 June, 2013 11:08:19 Thomas Senyk wrote:
Quoted 23 lines · On Thursday, 20 June, 2013 17:33:00 Otavio Salvador wrote:

On Thu, Jun 20, 2013 at 5:00 PM, Otavio Salvador

Quoted 20 lines · <[email protected]> wrote:

On Thu, Jun 20, 2013 at 11:31 AM, Thomas Senyk

Quoted 9 lines · <[email protected]> wrote:

From: Thomas Senyk <[email protected]>

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.

Please change your short description to include the recipe name:

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

Signed-off-by ...
Quoted 14 lines

ah, right! sorry

Quoted 3 lines

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!

Quoted 6 lines

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

#5 lore raw
Quoted 42 lines · Thomas Senyk
Quoted 25 lines · On Friday, 21 June, 2013 11:08:19 Thomas Senyk wrote:
Quoted 23 lines · On Thursday, 20 June, 2013 17:33:00 Otavio Salvador wrote:

On Thu, Jun 20, 2013 at 5:00 PM, Otavio Salvador

Quoted 20 lines · <[email protected]> wrote:

On Thu, Jun 20, 2013 at 11:31 AM, Thomas Senyk

Quoted 9 lines · <[email protected]> wrote:

From: Thomas Senyk <[email protected]>

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.

Please change your short description to include the recipe name:

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

Signed-off-by ...
Quoted 14 lines

ah, right! sorry

Quoted 3 lines

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!

Quoted 6 lines

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

Quoted 5 lines

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?

Quoted 6 lines

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

#6 lore raw
Quoted 61 lines · On Friday, 21 June, 2013 9:35:15 Otavio Salvador wrote:

On Fri, Jun 21, 2013 at 8:52 AM, Thomas Senyk

Quoted 41 lines · <[email protected]> wrote:
Quoted 25 lines · On Friday, 21 June, 2013 11:08:19 Thomas Senyk wrote:
Quoted 23 lines · On Thursday, 20 June, 2013 17:33:00 Otavio Salvador wrote:

On Thu, Jun 20, 2013 at 5:00 PM, Otavio Salvador

Quoted 20 lines · <[email protected]> wrote:

On Thu, Jun 20, 2013 at 11:31 AM, Thomas Senyk

Quoted 9 lines · <[email protected]> wrote:

From: Thomas Senyk <[email protected]>

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.

Please change your short description to include the recipe name:

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

Signed-off-by ...
Quoted 14 lines

ah, right! sorry

Quoted 3 lines

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!

Quoted 6 lines

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

Quoted 5 lines

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?

Quoted 8 lines

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?

Quoted 5 lines

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?

Quoted 5 lines

--
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

#7 lore raw
Quoted 66 lines · Thomas Senyk
Quoted 65 lines · On Friday, 21 June, 2013 9:35:15 Otavio Salvador wrote:

On Fri, Jun 21, 2013 at 8:52 AM, Thomas Senyk

Quoted 41 lines · <[email protected]> wrote:
Quoted 25 lines · On Friday, 21 June, 2013 11:08:19 Thomas Senyk wrote:
Quoted 23 lines · On Thursday, 20 June, 2013 17:33:00 Otavio Salvador wrote:

On Thu, Jun 20, 2013 at 5:00 PM, Otavio Salvador

Quoted 20 lines · <[email protected]> wrote:

On Thu, Jun 20, 2013 at 11:31 AM, Thomas Senyk

Quoted 9 lines · <[email protected]> wrote:

From: Thomas Senyk <[email protected]>

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.

Please change your short description to include the recipe name:

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

Signed-off-by ...
Quoted 14 lines

ah, right! sorry

Quoted 3 lines

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!

Quoted 6 lines

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

Quoted 5 lines

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?

Quoted 8 lines

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.

Quoted 5 lines
Quoted 1 line

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.

Quoted 10 lines

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

#8 lore raw
Quoted 71 lines · On Friday, 21 June, 2013 10:43:12 Otavio Salvador wrote:

On Fri, Jun 21, 2013 at 10:02 AM, Thomas Senyk

Quoted 68 lines · <[email protected]> wrote:
Quoted 67 lines · On Friday, 21 June, 2013 9:35:15 Otavio Salvador wrote:

On Fri, Jun 21, 2013 at 8:52 AM, Thomas Senyk

Quoted 43 lines · <[email protected]> wrote:
Quoted 26 lines · On Friday, 21 June, 2013 11:08:19 Thomas Senyk wrote:
Quoted 24 lines · On Thursday, 20 June, 2013 17:33:00 Otavio Salvador wrote:

On Thu, Jun 20, 2013 at 5:00 PM, Otavio Salvador

Quoted 21 lines · <[email protected]> wrote:

On Thu, Jun 20, 2013 at 11:31 AM, Thomas Senyk

Quoted 10 lines · <[email protected]> wrote:

From: Thomas Senyk <[email protected]>

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.

Please change your short description to include the recipe name:

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

Signed-off-by ...
Quoted 15 lines

ah, right! sorry

Quoted 4 lines

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!

Quoted 6 lines

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

Quoted 5 lines

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?

Quoted 8 lines

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.

Quoted 7 lines
Quoted 5 lines
Quoted 1 line

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

Quoted 10 lines
Quoted 10 lines

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/

Quoted 8 lines
Quoted 1 line

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

Quoted 5 lines

--
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