On Tue, Aug 13, 2019 at 07:28:01AM -0700, Darrick J. Wong wrote: > On Tue, Aug 13, 2019 at 03:14:20PM +1000, Dave Chinner wrote: > > From: Dave Chinner <dchinner@xxxxxxxxxx> > > > > Internal xfsprogs libraries are linked statically to binaries as > > they are not shipped libraries. Using --disable-static prevents the > > internal static libraries from being built and this breaks dead code > > elimination and results in linker failures from link dependencies > > introduced by dead code. > > > > We can't remove the --disable-static option that causes this as it > > is part of the libtool/autoconf generated infrastructure. We can, > > however, reliably detect whether static library building has been > > disabled after the libtool infrastructure has been configured. > > Therefore, add a check to determine the static build status and > > abort the configure script with an error if we have been configured > > not to build static libraries. > > Uh... is this missing from the patch? I don't see anything that aborts > configure. Though I sense this might be your v2 solution that works > around --disable-static via the ld command line and leaves configure > alone...? :) Ugh, forgot to refresh the patch after updating the comment. That paragraph should read: We can't remove the --disable-static option that causes this as it is part of the libtool/autoconf generated infrastructure. We can, however, override --disable-static on a per-library basis inside the build by passing -static to the libtool link command. Therefore, add -static to all the internal libraries we build and link statically to the shipping binaries. Cheers, Dave. -- Dave Chinner david@xxxxxxxxxxxxx