Date: Mon, 23 May 2005 23:48:09 -0500 From: Dan Nelson <dnelson@allantgroup.com> To: Darren Pilgrim <dmp@bitfreak.org> Cc: hackers@freebsd.org Subject: Re: Forcing static-linking on a port? Message-ID: <20050524044808.GD16069@dan.emsphone.com> In-Reply-To: <000401c56012$b34a3570$0a2a15ac@SMILEY> References: <000401c56012$b34a3570$0a2a15ac@SMILEY>
next in thread | previous in thread | raw e-mail | index | archive | help
In the last episode (May 23), Darren Pilgrim said: > I need to make use of a port during start up, but it has library > dependencies that aren't available, before the complete library path is > established. I've tried the following: > > NO_SHARED=true (added to /etc/make.conf) > make -DNO_SHARED > make LDFLAGS+=-static > > Every time, running file on the compiled program tells me that the binary is > dynamically-linked. I couldn't find anything else in any man pages, Mk > files, mailing lists, Google, etc. Sorry for the semi-inappropriate list > choice, but this one would get swallowed up on -questions. NO_SHARED only works on programs that use the bsd.prog.mk makefile template; I'd guess under a dozen ports do this. Some pieces of software have dynamic-link options hardcoded in their Makefiles, probably as a workaround for bugs in other OSes. Those options override -static. I can't think of a valid reason for them to be used in FreeBSD. Search for (and remove) any occurances of -Wl,-Bdynamic and -Wl,-Bstatic , and you should be set. -- Dan Nelson dnelson@allantgroup.com
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20050524044808.GD16069>