Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 5 Aug 1997 13:37:46 -0400 (EDT)
From:      Nathan Dorfman <nathan@rtfm.net>
To:        andrsn@andrsn.stanford.edu
Cc:        omar@clifford.inch.com, brian@awfulhak.org, dwhite@resnet.uoregon.edu, nathan@senate.org, khetan@iafrica.com, freebsd-questions@FreeBSD.ORG
Subject:   Static (was Re: wu-ftpd doesn't compress...)
Message-ID:  <199708051737.NAA00663@limbo.rtfm.net>
In-Reply-To: <Pine.BSF.3.96.970805102219.13094A-100000@andrsn.stanford.edu> from Annelise Anderson at "Aug 5, 97 10:26:57 am"

next in thread | previous in thread | raw e-mail | index | archive | help
> 
> 
> On Tue, 5 Aug 1997, Omar Thameen wrote:
> 
> > On Sun, Aug 03, 1997 at 11:14:56AM -0700, Annelise Anderson wrote:
> > > 
> > > 
> > > On Sun, 3 Aug 1997, Brian Somers wrote:
> > > 
> > > > > On Tue, 29 Jul 1997, Brian Somers wrote:
> > > > > 
> > > > > > > Wouldn't you need to add compress and tar binaries to ~ftp/bin so they
> > > > > > > will get executed after the chroot() in an anonymous login?
> > > > > > 
> > > > > > Yep, except you put them in ~ftp/usr/bin and create 
> > > > > > ~ftp/usr/lib/libc.so.... too.
> > > > > 
> > > > > Not if you yank them from /bin, they're statically linked there.
> > > > 
> > > 
> > > /usr/bin contains tar, bin, and compress on my system, of which
> > > only compress is dynamically linked according to ldd.   /stand
> > > doesn't contain compress.
> > > 
> > > /usr/bin/compress:
> > > 	-lc.3 => /usr/lib/libc.so.3.0 (0x801d000)
> > > 
> > > I tried putting compress in /home/ftp/bin and in /home/ftp/usr/bin,
> > > with the associated library in /home/ftp/lib and /home/ftp/usr/lib,
> > > but "get junk.tar.Z" still doesn't work--it creates a 0 byte file,
> > > even with ftpcompress changed to /usr/bin for .Z.
> > > However "get junk.tar.gz" does work. 
> > > 
> > > Annelise
> > 
> > You'll need to get the source for compress and compile it statically
> > (check the Makefile), then put it in the ~ftp/bin directory.
> > 
> > Omar
> 
> I have the source.  I added LDFLAGS= -STATIC to the Makefile but it
> doesn't do anything.  Here's the Makefile; I would appreciate some
> help on what to do to it, as I have no idea. 
> 
> #	@(#)Makefile	8.2 (Berkeley) 4/17/94
> 
> PROG=	compress
> SRCS=	compress.c zopen.c
> LINKS=	${BINDIR}/compress ${BINDIR}/uncompress
> MLINKS=	compress.1 uncompress.1
> 
> # XXX zopen is not part of libc
> # MAN3=zopen.3
> 
> .include <bsd.prog.mk>
> 
> Annelise
> 
Straight out of man gcc (RTFM!! ;>):
	Linker Options
		-llibrary -nostartfiles -nostdlib -static -shared
		-symbolic -Xlinker option -Wl,option -u symbol

...snip..
	-static
		On  systems that support dynamic linking, this pre-
		vents linking with the shared libraries.  On  other
		systems, this option has no effect.

You capitalized it wrong :-) also look at the ld option, -Bstatic as
opposed to -Bdynamic. It depends on whether you're passing the option
to cc or ld, it seems, as they have different syntax. So just add
-static to CFLAGS and you should be fine.

   ________________ _______________________________
  / Nathan Dorfman V PGP: finger nathan@rtfm.net  /
 / nathan@rtfm.net |    http://www.rtfm.net      /



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