Buildworld broken with WITHOUT_DYNAMICROOT=yes in src.conf

Konstantin Belousov kostikbel at gmail.com
Mon Nov 25 19:25:05 UTC 2013


On Mon, Nov 25, 2013 at 01:36:15PM +0100, Dimitry Andric wrote:
> On 25 Nov 2013, at 08:51, Konstantin Belousov <kostikbel at gmail.com> wrote:
> > On Sun, Nov 24, 2013 at 11:48:54PM -0500, Glen Barber wrote:
> ...
> >> Index: Makefile
> >> ===================================================================
> >> --- Makefile      (revision 258538)
> >> +++ Makefile      (working copy)
> >> @@ -42,6 +42,9 @@
> >> 
> >> DPADD=	${LIBTERMCAP} ${LIBCRYPT}
> >> LDADD=	-ltermcap -lcrypt
> >> +.if ${MK_ICONV} != "no" && ${MK_DYNAMICROOT} != "yes"
> >> +LDADD+=    -lc_nonshared
> >> +.endif
> >> 
> >> LINKS=	${BINDIR}/csh ${BINDIR}/tcsh
> >> 
> > 
> > No, this is wrong.  As is, static linking is broken and the hack above
> > only fixes one case.
> > 
> > What is needed is inclusion of the lib/libc_nonshared object files into
> > static libc.a.  I am not sure how to express this in our build system.
> 
> Hi Kostik,
> 
> You can add the additional object files to ${STATICOBJS}.  These will
> only be built for the static and profiled libraries.  See for example
> gnu/lib/libgcc/Makefile or lib/libc++/Makefile.
> 

The patch we ended up with is available at
http://people.freebsd.org/~kib/misc/iconv_static_linking.1.patch

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 834 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-current/attachments/20131125/e75b6a55/attachment.sig>


More information about the freebsd-current mailing list