Patchwork [1/1] gdk-pixbuf: fix parallel install issue

login
register
mail settings
Submitter wenzong.fan@windriver.com
Date Aug. 3, 2012, 3:30 a.m.
Message ID <9ed1d4d30aeac33273968b00c0b5afab059bbc0f.1343964466.git.wenzong.fan@windriver.com>
Download mbox | patch
Permalink /patch/33735/
State Accepted
Commit e6fb5a25a098bd639be4b176f58e552404232c93
Headers show

Comments

wenzong.fan@windriver.com - Aug. 3, 2012, 3:30 a.m.
From: Wenzong Fan <wenzong.fan@windriver.com>

This patch fixes parallel install issue that lib libpixbufloader-png.la
depends on libgdk_pixbuf-2.0.la which will be regenerated during insta-
llation, if libgdk_pixbuf-2.0.la is regenerating and at the same time
libpixbufloader-png.la links it, the error will happen.

Error message is:
* usr/bin/ld: cannot find -lgdk_pixbuf-2.0
* collect2: ld returned 1 exit status

Make an explicit dependency to the libs install targets would fix this
issue.

[YOCTO #2883]

Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
---
 .../extending-libinstall-dependencies.patch        |   42 ++++++++++++++++++++
 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.24.1.bb |    3 +-
 2 files changed, 44 insertions(+), 1 deletion(-)
 create mode 100644 meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.24.1/extending-libinstall-dependencies.patch
Colin Walters - Aug. 5, 2012, 10:32 p.m.
On Fri, 2012-08-03 at 11:30 +0800, wenzong.fan@windriver.com wrote:

> Make an explicit dependency to the libs install targets would fix this
> issue.

I don't think Yocto should be running the 'make install' target with
parallelism enabled; it's just going to be a source of major pain for
small gain.  Historically Automake's install targets have had a lot of
paralleism issues AIUI, even discarding modules which have custom
install hooks.
wenzong.fan@windriver.com - Aug. 6, 2012, 6:56 a.m.
On 08/06/2012 06:32 AM, Colin Walters wrote:
> On Fri, 2012-08-03 at 11:30 +0800, wenzong.fan@windriver.com wrote:
>
>> Make an explicit dependency to the libs install targets would fix this
>> issue.
>
> I don't think Yocto should be running the 'make install' target with
> parallelism enabled; it's just going to be a source of major pain for
> small gain.  Historically Automake's install targets have had a lot of
> paralleism issues AIUI, even discarding modules which have custom
> install hooks.
>
>
Hi Richard,

What's your opinions?

Disable/Enable paralleism for 'make install', this more like a policy
issue rather than tech.

Thanks
Wenzong

>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
Richard Purdie - Aug. 6, 2012, 12:55 p.m.
On Sun, 2012-08-05 at 18:32 -0400, Colin Walters wrote:
> On Fri, 2012-08-03 at 11:30 +0800, wenzong.fan@windriver.com wrote:
> 
> > Make an explicit dependency to the libs install targets would fix this
> > issue.
> 
> I don't think Yocto should be running the 'make install' target with
> parallelism enabled; it's just going to be a source of major pain for
> small gain.  Historically Automake's install targets have had a lot of
> paralleism issues AIUI, even discarding modules which have custom
> install hooks.

We did used to steer clear of this but more recently tested it out and
with a few exceptions (which we disabled with PARALLEL_MAKEINST=""),
parallel make install seems to work fine and did give a small but
measurable speed-up (I'd have to look at the archives to remember what).

It helps that we use the latest automake everywhere and regenerate all
the makefiles ourselves.

So whilst I agree with this from a historical perspective, times so seem
to be changing and improving. If there are issues I do want to know
about and deal with them though.

Cheers,

Richard
Koen Kooi - Aug. 6, 2012, 1:24 p.m.
Op 6 aug. 2012, om 00:32 heeft Colin Walters <walters@verbum.org> het volgende geschreven:

> On Fri, 2012-08-03 at 11:30 +0800, wenzong.fan@windriver.com wrote:
> 
>> Make an explicit dependency to the libs install targets would fix this
>> issue.
> 
> I don't think Yocto should be running the 'make install' target with
> parallelism enabled

You mean oe-core, right?

Patch

diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.24.1/extending-libinstall-dependencies.patch b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.24.1/extending-libinstall-dependencies.patch
new file mode 100644
index 0000000..edbdced
--- /dev/null
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf-2.24.1/extending-libinstall-dependencies.patch
@@ -0,0 +1,42 @@ 
+Upstream-Status: Pending
+
+This patch fixes parallel install issue that lib libpixbufloader-png.la
+depends on libgdk_pixbuf-2.0.la which will be regenerated during insta-
+llation, if libgdk_pixbuf-2.0.la is regenerating and at the same time
+libpixbufloader-png.la links it, the error will happen.
+
+Error message is:
+* usr/bin/ld: cannot find -lgdk_pixbuf-2.0
+* collect2: ld returned 1 exit status
+
+Make an explicit dependency to the libs install targets would fix this
+issue.
+
+Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
+---
+ gdk-pixbuf/Makefile.am |    1 +
+ libdeps.mk             |    3 +++
+ 2 files changed, 4 insertions(+), 0 deletions(-)
+ create mode 100644 libdeps.mk
+
+diff --git a/gdk-pixbuf/Makefile.am b/gdk-pixbuf/Makefile.am
+index 95a93a8..db44cae 100644
+--- a/gdk-pixbuf/Makefile.am
++++ b/gdk-pixbuf/Makefile.am
+@@ -783,3 +783,4 @@ loaders.cache:
+ endif
+ 
+ -include $(top_srcdir)/git.mk
++-include $(top_srcdir)/libdeps.mk
+diff --git a/libdeps.mk b/libdeps.mk
+new file mode 100644
+index 0000000..d7a10a8
+--- /dev/null
++++ b/libdeps.mk
+@@ -0,0 +1,3 @@
++# Extending dependencies of install-loaderLTLIBRARIES:
++# The $(lib-LTLIBRARIES) is needed by relinking $(loader_LTLIBRARIES)
++install-loaderLTLIBRARIES: install-libLTLIBRARIES
+-- 
+1.7.6.1
+
diff --git a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.24.1.bb b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.24.1.bb
index 8e13115..484fb12 100644
--- a/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.24.1.bb
+++ b/meta/recipes-gnome/gdk-pixbuf/gdk-pixbuf_2.24.1.bb
@@ -15,12 +15,13 @@  SRC_URI = "http://ftp.acc.umu.se/pub/GNOME/sources/gdk-pixbuf/2.24/gdk-pixbuf-${
            file://configure_nm.patch \
            file://hardcoded_libtool.patch \
            file://configure_fix.patch \
+           file://extending-libinstall-dependencies.patch \
            "
 
 SRC_URI[md5sum] = "72f39b34b20f68148c1609bd27415412"
 SRC_URI[sha256sum] = "da7a3f00db360913716368e19e336402755cafa93769f3cfa28a969303e4bee1"
 
-PR = "r3"
+PR = "r4"
 
 inherit autotools pkgconfig gettext