Re: Buildworld broken with WITHOUT_DYNAMICROOT=yes in src.conf

From: Konstantin Belousov <kostikbel_at_gmail.com>
Date: Mon, 25 Nov 2013 21:24:58 +0200
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)
> >> _at__at_ -42,6 +42,9 _at__at_
> >> 
> >> 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


Received on Mon Nov 25 2013 - 18:25:05 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:44 UTC