* [PATCH 0/1] cairo: add libpng to EXTRA_libcairo_la_DEPENDENCIES
@ 2013-03-13 8:58 Robert Yang
2013-03-13 8:58 ` [PATCH 1/1] " Robert Yang
0 siblings, 1 reply; 4+ messages in thread
From: Robert Yang @ 2013-03-13 8:58 UTC (permalink / raw)
To: openembedded-core; +Cc: qingtao.cao
The following changes since commit 4da406cd50cf02a63ed76810a670aba1eb561c79:
gst-plugins-gl: allow empty packages (2013-03-12 18:33:30 +0000)
are available in the git repository at:
git://git.pokylinux.org/poky-contrib robert/cairo
http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=robert/cairo
Robert Yang (1):
cairo: add libpng to EXTRA_libcairo_la_DEPENDENCIES
meta/recipes-graphics/cairo/cairo_1.12.14.bb | 13 +++++++++++++
1 file changed, 13 insertions(+)
--
1.7.11.2
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/1] cairo: add libpng to EXTRA_libcairo_la_DEPENDENCIES
2013-03-13 8:58 [PATCH 0/1] cairo: add libpng to EXTRA_libcairo_la_DEPENDENCIES Robert Yang
@ 2013-03-13 8:58 ` Robert Yang
2013-03-13 16:33 ` Saul Wold
0 siblings, 1 reply; 4+ messages in thread
From: Robert Yang @ 2013-03-13 8:58 UTC (permalink / raw)
To: openembedded-core; +Cc: qingtao.cao
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.yang@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
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/1] cairo: add libpng to EXTRA_libcairo_la_DEPENDENCIES
2013-03-13 8:58 ` [PATCH 1/1] " Robert Yang
@ 2013-03-13 16:33 ` Saul Wold
2013-03-15 3:32 ` Robert Yang
0 siblings, 1 reply; 4+ messages in thread
From: Saul Wold @ 2013-03-13 16:33 UTC (permalink / raw)
To: Robert Yang; +Cc: qingtao.cao, openembedded-core
On 03/13/2013 01:58 AM, Robert Yang wrote:
> 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.
>
I understand what you are trying to do here, but this is a point fix for
a much bigger issue with the renaming of libpngXX, there are a number of
other issues that will be uncovered and making this a hard code change
here is not correct.
There are other .la that will contain pngXX and cause problems, this
issue is also contained in SSTATE files, in the past we would do PR
bumps to all the affected recipes that depended on PNG.
Sau!
> [YOCTO #4002]
>
> Signed-off-by: Robert Yang <liezhi.yang@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*
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/1] cairo: add libpng to EXTRA_libcairo_la_DEPENDENCIES
2013-03-13 16:33 ` Saul Wold
@ 2013-03-15 3:32 ` Robert Yang
0 siblings, 0 replies; 4+ messages in thread
From: Robert Yang @ 2013-03-15 3:32 UTC (permalink / raw)
To: Saul Wold; +Cc: qingtao.cao, openembedded-core
On 03/14/2013 12:33 AM, Saul Wold wrote:
> On 03/13/2013 01:58 AM, Robert Yang wrote:
>> 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.
>>
> I understand what you are trying to do here, but this is a point fix for a much
> bigger issue with the renaming of libpngXX, there are a number of other issues
> that will be uncovered and making this a hard code change here is not correct.
>
Hi Saul,
Thanks, there is already a symlink libpng.pc to libpngXX.pc, but the content of
libpngXX.pc is still -lpngXX, change this to -lpng would fix the problem, I'm
thinking about whether we should change /usr/include/libpngXX/ to /usr/include
/libpng/ or make a symlink for it.
I will send a patch if you are fine with it.
// Robert
> There are other .la that will contain pngXX and cause problems, this issue is
> also contained in SSTATE files, in the past we would do PR bumps to all the
> affected recipes that depended on PNG.
>
> Sau!
>
>> [YOCTO #4002]
>>
>> Signed-off-by: Robert Yang <liezhi.yang@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*
>>
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-03-15 3:49 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-13 8:58 [PATCH 0/1] cairo: add libpng to EXTRA_libcairo_la_DEPENDENCIES Robert Yang
2013-03-13 8:58 ` [PATCH 1/1] " Robert Yang
2013-03-13 16:33 ` Saul Wold
2013-03-15 3:32 ` Robert Yang
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox