Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Nov 2004 13:29:46 +0100
From:      Erik Trulsson <ertr1013@student.uu.se>
To:        Erik Norgaard <norgaard@locolomo.org>
Cc:        "freebsd-questions@freebsd.org" <freebsd-questions@freebsd.org>
Subject:   Re: Building base system with CFLAGS=-static
Message-ID:  <20041125122946.GA47638@falcon.midgard.homeip.net>
In-Reply-To: <41A5CDE0.8090308@locolomo.org>
References:  <41A5CDE0.8090308@locolomo.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Nov 25, 2004 at 01:19:44PM +0100, Erik Norgaard wrote:
> Hi,
> 
> I am trying to build the base system statically linked to create an 
> installation root file system.
> 
> I have tried "make CFLAGS=-static buildworld", which fails. Building 
> each program separately, in most cases it works with "make 
> CFLAGS=-static" but some like systinstall, sh, csh and init fails.
> 
> What is the suggested method to create a static built base system?
> Alternatively, how do I trace which libraries are used/needed?

make NOSHARED=yes buildworld

should work fine for building a statically linked system.

(If you are using 4-stable you will probably have to apply the
following patch to make the world build correctly using NOSHARED=yes,
at least if you use NOPAM=yes.  No idea how it works if you compile
with PAM support which is the default.)

Index: usr.bin/fetch/Makefile
===================================================================
RCS file: /ncvs/src/usr.bin/fetch/Makefile,v
retrieving revision 1.3.6.4
diff -u -r1.3.6.4 Makefile
--- usr.bin/fetch/Makefile	9 Jan 2003 11:54:58 -0000	1.3.6.4
+++ usr.bin/fetch/Makefile	20 Nov 2003 16:59:18 -0000
@@ -6,8 +6,8 @@
 DPADD=		${LIBFETCH}
 LDADD=		-lfetch
 .if !defined(NOCRYPT) && !defined(NOSECURE) && !defined(NO_OPENSSL)
-DPADD+=		${LIBCRYPTO} ${LIBSSL}
-LDADD+=		-lcrypto -lssl
+DPADD+=		${LIBSSL} ${LIBCRYPTO}
+LDADD+=		-lssl -lcrypto
 .endif
 
 .include <bsd.prog.mk>
Index: usr.sbin/rpc.statd/file.c
===================================================================
RCS file: /ncvs/src/usr.sbin/rpc.statd/file.c,v
retrieving revision 1.3
diff -u -r1.3 file.c
--- usr.sbin/rpc.statd/file.c	13 Oct 1997 11:13:18 -0000	1.3
+++ usr.sbin/rpc.statd/file.c	20 Nov 2003 18:53:24 -0000
@@ -207,28 +207,6 @@
   }
 }
 
-/* xdr_stat_chge ----------------------------------------------------------- */
-/*
-   Purpose:	XDR-encode structure of type stat_chge
-   Returns:	TRUE if successful
-   Notes:	This function is missing from librpcsvc, because the
-		sm_inter.x distributed by Sun omits the SM_NOTIFY
-		procedure used between co-operating statd's
-*/
-
-bool_t xdr_stat_chge(XDR *xdrs, stat_chge *objp)
-{
-  if (!xdr_string(xdrs, &objp->mon_name, SM_MAXSTRLEN))
-  {
-    return (FALSE);
-  }
-  if (!xdr_int(xdrs, &objp->state))
-  {
-    return (FALSE);
-  }
-  return (TRUE);
-}
-
 
 /* notify_one_host --------------------------------------------------------- */
 /*




-- 
<Insert your favourite quote here.>
Erik Trulsson
ertr1013@student.uu.se



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041125122946.GA47638>