Skip to contentSkip to conversation

Daniel Stone : mesa: Build separate GLU library

oe-commits Martin Jansa 3 participants 3 messages Nov 3, 2012 – Nov 5, 2012 2 messages not in the archive

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): 20121102161855.814CC102E2@opal

#1 lore raw
Quoted 9 lines · On Fri, Nov 02, 2012 at 04:18:55PM +0000, [email protected] wrote:
Module: openembedded-core.git
Branch: master
Commit: 4395691a44b198ba0b9a969cbade669e8de07a4f
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=4395691a44b198ba0b9a969cbade669e8de07a4f
Author: Daniel Stone <[email protected]>
Date:   Fri Oct 26 16:00:09 2012 +0100

mesa: Build separate GLU library

This seems to cause incremental qt4-x11-free builds to fail with:

| arm-oe-linux-gnueabi-g++  -march=armv4t -marm -mthumb-interwork -mtune=arm920t --sysroot=/var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/sysroots/om-gta02 -Wl,-rpath-link,/var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/sysroots/om-gta02/usr/lib -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-rpath-link,/var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/qt4-x11-free-4.8.3-r48.0/qt-everywhere-opensource-src-4.8.3/lib -Wl,-rpath-link,/var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/qt4-x11-free-4.8.3-r48.0/qt-everywhere-opensource-src-4.8.3/lib -shared -o libqglgraphicssystem.so .obj/release-shared/main.o   -L/var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/sysroots/om-gta02/usr/lib -L/var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/qt4-x11-free-4.8.3-r48.0/qt-everywhere-opensource-src-4.8.3/lib -lQtOpenGL -L/var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/sysroots/om-gta02/usr/lib -L/var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/qt4-x11-free-4.8.3-r48.0/qt-everywhere-opensource-src-4.8.3/lib -lQtGui -lQtCore -lGLU -lGL -lpthread
| /var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/libexec/armv4t-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.7.2/ld: cannot find -lGLU
| collect2: error: ld returned 1 exit status
| make[3]: *** [../../../../plugins/graphicssystems/libqglgraphicssystem.so] Error 1
Quoted 126 lines

Mesa has removed GLU from the core tree upstream, so remove it from the Mesa build and add the separate tarball as a new recipe.

---

 meta/recipes-graphics/glew/glew_1.9.0.bb   |    4 ++--
 meta/recipes-graphics/mesa/libglu_9.0.0.bb |   27 +++++++++++++++++++++++++++
 meta/recipes-graphics/mesa/mesa-common.inc |   12 +++++++-----
 3 files changed, 36 insertions(+), 7 deletions(-)
meta/recipes-graphics/glew/glew_1.9.0.bb +2 -2
index 00fff11..599d64b 100644
@@ -5,9 +5,9 @@ SECTION = "x11"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2ac251558de685c6b9478d89be3149c2"
 
-DEPENDS = "virtual/libx11 virtual/libgl libxext libxi libxmu"
+DEPENDS = "virtual/libx11 virtual/libgl libglu libxext libxi libxmu"
 
-PR = "r0"
+PR = "r1"
 
 SRC_URI = "${SOURCEFORGE_MIRROR}/project/glew/glew/${PV}/glew-${PV}.tgz \
            file://autotools.patch \
meta/recipes-graphics/mesa/libglu_9.0.0.bb new file +27 -0
new file mode 100644
index 0000000..7980749
@@ -0,0 +1,27 @@
+SUMMARY = "The OpenGL utility toolkit"
+DESCRIPTION = "GLU is a utility toolkit used with OpenGL implementations"
+
+HOMEPAGE = "http://mesa3d.org"
+BUGTRACKER = "https://bugs.freedesktop.org"
+SECTION = "x11"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://include/GL/glu.h;endline=29;md5=6b79c570f644363b356456e7d44471d9 \
+                    file://src/libtess/tess.c;endline=29;md5=6b79c570f644363b356456e7d44471d9"
+
+# Epoch as this used to be part of mesa-dri
+PE = "2"
+PR = "0"
+
+SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/glu/glu-${PV}.tar.bz2"
+
+SRC_URI[md5sum] = "be9249132ff49275461cf92039083030"
+SRC_URI[sha256sum] = "1f7ad0d379a722fcbd303aa5650c6d7d5544fde83196b42a73d1193568a4df12"
+
+S = "${WORKDIR}/glu-${PV}"
+
+DEPENDS = "virtual/libgl"
+
+inherit autotools pkgconfig
+
+# Remove the mesa-glu dependency in mesa-glu-dev, as mesa-glu is empty
+RDEPENDS_${PN}-dev = ""
meta/recipes-graphics/mesa/mesa-common.inc +7 -5
index faa8183..460877c 100644
@@ -12,7 +12,7 @@ SECTION = "x11"
 LICENSE = "MIT"
 LIC_FILES_CHKSUM = "file://docs/license.html;md5=03ccdc4c379c4289aecfb8892c546f67"
 
-INC_PR = "r3"
+INC_PR = "r4"
 PE = "2"
 
 DEPENDS = "libxml2-native makedepend-native flex-native bison-native"
@@ -24,7 +24,7 @@ FILESEXTRAPATHS_append := "${THISDIR}/mesa:"
 
 inherit autotools pkgconfig pythonnative
 
-EXTRA_OECONF = "--enable-glu \
+EXTRA_OECONF = "--disable-glu \
                 --disable-glw \
                 --disable-glut \
                 --enable-shared-glapi"
@@ -42,7 +42,6 @@ EXCLUDE_FROM_WORLD = "1"
 RDEPENDS_${PN}-dev = ""
 
 PACKAGES =+ "libegl libegl-dev \
-             libglu libglu-dev \
              libosmesa libosmesa-dev \
              libgl libgl-dev \
              libglapi libglapi-dev \
@@ -51,13 +50,17 @@ PACKAGES =+ "libegl libegl-dev \
              libgles2 libgles2-dev \
             "
 
+do_install_append () {
+    # GLU is now in libglu (this shouldn't be required in Mesa 9.x)
+    rm -f ${D}${includedir}/GL/glu*
+}
+
 FILES_libegl = "${libdir}/libEGL.so.* ${libdir}/egl/*.so"
 FILES_libgbm = "${libdir}/libgbm.so.*"
 FILES_libgles1 = "${libdir}/libGLESv1*.so.*"
 FILES_libgles2 = "${libdir}/libGLESv2.so.*"
 FILES_libgl = "${libdir}/libGL.so.*"
 FILES_libglapi = "${libdir}/libglapi.so.*"
-FILES_libglu = "${libdir}/libGLU.so.*"
 FILES_libosmesa = "${libdir}/libOSMesa.so.*"
 
 FILES_libegl-dev = "${libdir}/libEGL.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
@@ -66,7 +69,6 @@ FILES_libgl-dev = "${libdir}/libGL.* ${includedir}/GL ${libdir}/pkgconfig/gl.pc"
 FILES_libglapi-dev = "${libdir}/libglapi.*"
 FILES_libgles1-dev = "${libdir}/libGLESv1*.* ${includedir}/GLES ${libdir}/pkgconfig/glesv1*.pc"
 FILES_libgles2-dev = "${libdir}/libGLESv2.* ${includedir}/GLES2 ${libdir}/pkgconfig/glesv2.pc"
-FILES_libglu-dev = "${libdir}/libGLU.* ${includedir}/GL/glu*.h ${libdir}/pkgconfig/glu.pc"
 FILES_libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/osmesa.h"
 
 FILES_${PN}-dbg += "${libdir}/dri/.debug/* ${libdir}/egl/.debug/*"

_______________________________________________
Openembedded-commits mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-commits

Signature · 1 line
Martin 'JaMa' Jansa     jabber: [email protected]
#2 lore raw
Quoted 9 lines · Martin Jansa
Quoted 8 lines · On Fri, Nov 02, 2012 at 04:18:55PM +0000, [email protected] wrote:
Module: openembedded-core.git
Branch: master
Commit: 4395691a44b198ba0b9a969cbade669e8de07a4f
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=4395691a44b198ba0b9a969cbade669e8de07a4f
Author: Daniel Stone <[email protected]>
Date:   Fri Oct 26 16:00:09 2012 +0100
Quoted 7 lines
Quoted 1 line

mesa: Build separate GLU library

This seems to cause incremental qt4-x11-free builds to fail with:

| arm-oe-linux-gnueabi-g++  -march=armv4t -marm -mthumb-interwork -mtune=arm920t --sysroot=/var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/sysroots/om-gta02 -Wl,-rpath-link,/var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/sysroots/om-gta02/usr/lib -Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-rpath-link,/var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/qt4-x11-free-4.8.3-r48.0/qt-everywhere-opensource-src-4.8.3/lib -Wl,-rpath-link,/var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/qt4-x11-free-4.8.3-r48.0/qt-everywhere-opensource-src-4.8.3/lib -shared -o libqglgraphicssystem.so .obj/release-shared/main.o   -L/var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/sysroots/om-gta02/usr/lib -L/var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/qt4-x11-free-4.8.3-r48.0/qt-everywhere-opensource-src-4.8.3/lib -lQtOpenGL -L/var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/sysroots/om-gta02/usr/lib -L/var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/qt4-x11-free-4.8.3-r48.0/qt-everywhere-opensource-src-4.8.3/lib -lQtGui -lQtCore -lGLU -lGL -lpthread
| /var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/libexec/armv4t-oe-linux-gnueabi/gcc/arm-oe-linux-gnueabi/4.7.2/ld: cannot find -lGLU
| collect2: error: ld returned 1 exit status
| make[3]: *** [../../../../plugins/graphicssystems/libqglgraphicssystem.so] Error 1

We need a DEPENDS += "libglu" for qt4?

Cheers,

Richard

A message that is not in the archive (sent off-list or not yet received): [email protected]

#4 lore raw
Quoted 1 line · Ross Burton

Missing dependency, easily sorted (on Monday).

Untested but hopefully obvious patch just sent.

I'll point out that Qt depends on virtual/libgl and libglu even when it's not building GL (as controlled by distro features), but I'll leave that for someone who cares about Qt to fix.

Ross