Date: Thu, 1 Aug 2002 08:28:54 +0100 From: Matthew Seaman <m.seaman@infracaninophile.co.uk> To: Darren Pilgrim <dmp@pantherdragon.org> Cc: freebsd-questions@FreeBSD.ORG Subject: Re: How to tell if something is built static- or dynamic-linked? Message-ID: <20020801072854.GB41777@happy-idiot-talk.infracaninophi> In-Reply-To: <3D4856F0.3773D429@pantherdragon.org> References: <3D4856F0.3773D429@pantherdragon.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jul 31, 2002 at 02:30:24PM -0700, Darren Pilgrim wrote: > The OpenSSL bug has triggered me to learn how to figure out if a given > program was built with static- or dynamic-linking? I figure there's > something in the Makefile, but what? Virtually everything is built using dynamic linking --- the exceptions being some absolutely crucial commands found in /sbin or /bin. You can use the file(1) command to see the difference: happy-idiot-talk:~:% file /bin/sh /bin/sh: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), statically linked, stripped happy-idiot-talk:~:% file /usr/bin/sed /usr/bin/sed: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), dynamically linked (uses shared libs), stripped Use the ldd(1) command to see what shared libraries are linked to by a dynamic executable: happy-idiot-talk:~:% ldd /usr/bin/sed /usr/bin/sed: libc.so.4 => /usr/lib/libc.so.4 (0x2806b000) If you've installed a version of the openssl port, you can run: pkg_info -R openssl\* to find the ports that depend on the openssl port, but that's not guarranteed be either complete or accurate. Cheers, Matthew -- Dr Matthew J Seaman MA, D.Phil. 26 The Paddocks Savill Way Tel: +44 1628 476614 Marlow Fax: +44 0870 0522645 Bucks., SL7 1TH UK To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020801072854.GB41777>