Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Feb 2001 15:09:02 +0200
From:      Maxim Sobolev <sobomax@FreeBSD.org>
To:        "Jacques A. Vidrine" <n@nectar.com>
Cc:        "David O'Brien" <obrien@FreeBSD.org>, Christian Weisgerber <naddy@mips.inka.de>, Steve Price <steve@FreeBSD.org>, freebsd-ports@FreeBSD.org
Subject:   Re: ksh93
Message-ID:  <3A9CF86E.18C36ED0@FreeBSD.org>
References:  <200102260514.f1Q5EHJ96328@freefall.freebsd.org> <20010226215311.A44937@spawn.nectar.com> <20010227154226.A36915@kemoauc.mips.inka.de> <20010227162104.A7892@dragon.nuxi.com> <20010228065758.A29047@hamlet.nectar.com>

next in thread | previous in thread | raw e-mail | index | archive | help
"Jacques A. Vidrine" wrote:

> On Tue, Feb 27, 2001 at 04:21:04PM -0800, David O'Brien wrote:
> > On Tue, Feb 27, 2001 at 03:42:26PM +0100, Christian Weisgerber wrote:
> > > > I notice that this installs the Korn shell as a static binary.
> > ...
> > > +.if defined(WANT_STATIC)
> > > +MAKE_ARGS+=        LDFLAGS=-static
> > > +.endif
> >
> > I am very against this.  It is not a bug for ksh93 to be built
> > statically, but the bug is in those shells that are built dynamically
> > in /usr/ports/shells/.  Fix the right bug.
>
> What do you suggest?  That all shells be linked and installed
> statically? Is there something that makes shells special, or do you
> want all ports built static by default?
>
> I would like it if all the shells in ports/shells were linked dynamic
> by default, but had knobs for getting static versions.  Then one can
> have WANT_STATIC in /etc/make.conf (man, we really need a separate
> make.conf-type file just for ports).
>
> > P.S.  What in the world is everyone's aversion to static binaries??
>
> Personally I like to keep static versions of my favorite shell(s)
> installed in /bin.  However, ksh93 supports dynamic loading of
> commands.  This feature is, of course, unavailable if ksh93 is
> statically linked.  In the future I expect to see ksh-foo ports in the
> same fashion that we have py-* and p5-* ports.  But if ksh93 itself is
> static by default, such ports could only be used after a recompile.
>
> Statically linked applications are also a bit of a pain when new
> functionality is introduced into libc, either directly or indirectly,
> e.g. SOCKS or nsswitch.  That doesn't mean that static linking is
> never appropriate, I just think that it shouldn't be the default for
> most people.

Idea: why not to create dynamic executable, but explicitly link static versions
of required libs (cc -o foo foo.o bar.o /usr/lib/libc.a ...) into it? The
resulting executable will be protected against breakage of system libs, while
still able to use dl*() functions.

-Maxim



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3A9CF86E.18C36ED0>