Hello Monty, * Monty Taylor wrote on Fri, Mar 05, 2010 at 07:01:15PM CET: > On 03/05/2010 09:26 AM, Monty Taylor wrote: > >The simple case where it's happening is in libcassandra. We have to > >lib_LTLIBRARIES defined, libgenthrift.la and libcassandra.la: > > > >lib_LTLIBRARIES+= libcassandra/libcassandra.la > >lib_LTLIBRARIES+= libgenthrift/libgenthrft.la > > As a follow up, if I reverse the order of the above declaration to: > > lib_LTLIBRARIES+= libgenthrift/libgenthrft.la > lib_LTLIBRARIES+= libcassandra/libcassandra.la > > It works. So it does seem to be that install doesn't pay attention > to dependency information here.
Yes, that's a known bug in the automake/libtool combo. You have to list libraries in one Makefile in one automake variable in dependency order. Sorry you had to find out the hard way. Between different variables (say, lib_LTLIBRARIES and pkglib_LTLIBRARIES) currently there is no guaranteed installation ordering at all. Between different Makefiles of a package the traversal order given by the SUBDIRS variables of all Makefiles need to walk libraries in dependency order. I'm not sure whether it's worth actually trying to fix any of these issues except maybe the relative ordering between different variables in one Makefile.am. Cheers, Ralf