On Wed, 22 Aug 2012, Del Merritt wrote:

[Reponding on-list to what was Diego's private response to me; I hope he doesn't mind.]

I just finished an experiment with a single libfoo.a and all many-thousands of sources for libfoo_a_SOURCES. The compilation worked, but I got the dreaded "make[1]: execvp: /bin/bash: Argument list too long" message when it tried to do the "ar". To the shell's credit, the command line appears to be 134K bytes/characters in length, so I can understand why it would choke. This doesn't bode well for the various "dist" targets.

In case it is not clear, when a libtool convenience library is used, all of the object files are extracted from the .a file and then the object files are passed to the linker. If you were to successfully build the archive, the doom might just be postponed to the link step.

In a non-recursive build, it really should be better to simply encapsulate the collections of objects to use (equivalent to a convenience library) into make variables and then tell automake to use those when the dependent libraries or executables get built.

Libtool is supposed to take steps to limit command line length to the tested limits. Apparently this did not work for you.

Bob
--
Bob Friesenhahn
bfrie...@simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/

Reply via email to