There is a build error when I update the git repo and build again:

x86_64-linux-libtool: link: cannot find the library 
`/path/to/sysroots/x86_64-linux/usr/lib/libpng15.la' or ...

This because libpng was 1.5 before I update the git repo, and it
is 1.6 now, libpng's include dir and lib dir are special, they are:

/usr/include/libpngXX/png.h
/usr/lib/libpngXX.la

The XX is the version, e.g, libpng15.la, cairo doesn't handle this
depends well, the configure finds that the lbpng is 1.6 after the
update, but it doesn't rebuild libcairo.la since this depends isn't in
the Makefile, it should have a file like cairo.def (cairo has this file,
but it is only used for windows) to record this dependency.  Add
libpng's includedir to EXTRA_libcairo_la_DEPENDENCIES as a quick fix.

[YOCTO #4002]

Signed-off-by: Robert Yang <liezhi.y...@windriver.com>
---
 meta/recipes-graphics/cairo/cairo_1.12.14.bb | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/meta/recipes-graphics/cairo/cairo_1.12.14.bb 
b/meta/recipes-graphics/cairo/cairo_1.12.14.bb
index 16f9d7b..857cfa6 100644
--- a/meta/recipes-graphics/cairo/cairo_1.12.14.bb
+++ b/meta/recipes-graphics/cairo/cairo_1.12.14.bb
@@ -38,6 +38,19 @@ FILES_cairo-gobject = "${libdir}/libcairo-gobject.so.*"
 FILES_cairo-script-interpreter = "${libdir}/libcairo-script-interpreter.so.*"
 FILES_cairo-perf-utils = "${bindir}/cairo-trace 
${libdir}/cairo/libcairo-trace.so.*"
 
+do_compile() {
+       # The libpng's include is special, it is usually
+       # usr/include/libpngXX, the XX is the version number, add it to
+       # libcairo.la's dependencies so that libcairo.la can be rebuilt
+       # when libpng upgrades.
+       if [ "${PN}" = "cairo-native" ]; then
+               libpng_DEPS="`pkg-config libpng --variable=includedir`"
+       else
+               libpng_DEPS="${STAGING_DIR_HOST}`pkg-config libpng 
--variable=includedir`"
+       fi
+       oe_runmake EXTRA_libcairo_la_DEPENDENCIES="$libpng_DEPS"
+}
+
 do_install_append () {
        rm -rf ${D}${bindir}/cairo-sphinx
        rm -rf ${D}${libdir}/cairo/cairo-fdr*
-- 
1.7.11.2


_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

Reply via email to