[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: About libtool supporting parallel "make install"

From: Dan Nicholson
Subject: Re: About libtool supporting parallel "make install"
Date: Thu, 17 Mar 2011 15:47:38 -0700

On Thu, Mar 17, 2011 at 3:08 AM, Pacho Ramos <address@hidden> wrote:
> Hello
> Downstream on Gentoo we see some package having problems at "make
> install" phase using -j2 or more. Reporting to upstream, some of them
> told us that they think parallel *installation* is not supported:

This is bogus. The problem is that the Makefile has src before libltdl
in SUBDIRS. That can't possibly work since things in src need to link
to -ltdl. Trying to build the vanilla tarball, it fails even on make
-j1. My guess is that the developer has libltdl-devel installed and
didn't notice it wasn't linking to the one in the tree. You may just
not want to build an ancient canberra, though.


This seems more legitimate. I looked at the's and they
look reasonable to me. You have two libraries, one is in
lib_LTLIBRARIES and the other is in pkglib_LTLIBRARIES. The pkglib one
depends on the lib one.

It seems that make is running install-libLTLIBRARIES and
install-pkglibLTLIBRARIES in parallel. Each one of these these rules
installs the libraries serially in a loop. However, if libtool is
relinking the libraries, it really needs to wait until the
prerequisite libraries from _other_ rules are installed. I'd bet if
you do this:

echo "install-pkglibLTLIBRARIES: install-libLTLIBRARIES" >>

it will work again. This seems like a bug in automake's libtool
support to me, but I don't know how to fix it.

> I would like then to confirm if parallel installation is supported and
> supposed to work or we should force it to be non-parallel downstream.

I've used parallel install with libtoolized packages for years. I've
never had bugs with it. I work on the xserver, which has tons of
interdependent libtool libraries, and I've never seen a problem like


reply via email to

[Prev in Thread] Current Thread [Next in Thread]