Path: csiph.com!xmission!news.glorb.com!usenet.stanford.edu!not-for-mail From: Linda Walsh Newsgroups: gnu.bash.bug Subject: remaking bash, trying static, glibc refuses static...? Date: Sun, 16 Aug 2015 14:54:58 -0700 Lines: 31 Approved: bug-bash@gnu.org Message-ID: NNTP-Posting-Host: lists.gnu.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: usenet.stanford.edu 1439762110 22364 208.118.235.17 (16 Aug 2015 21:55:10 GMT) X-Complaints-To: action@cs.stanford.edu To: bug-bash Envelope-to: bug-bash@gnu.org User-Agent: Thunderbird X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x (no timestamps) [generic] X-Received-From: 173.164.175.65 X-BeenThere: bug-bash@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Bug reports for the GNU Bourne Again SHell List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Xref: csiph.com gnu.bash.bug:11357 bash-4.3/lib/readline/complete.c:2193: warning: Using 'getpwent' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking Other syms: getpwnam, setpwent, endpwent. Is providing a static lib that reads the local machine's /etc/passwd file really beyond the capabilities of the glibc people? The configure comment says one would build bash static for 'miniroot operations by 'root' (formatting other partitions, restoring, etc...). I don't really see why dynamic libs are needed at a time that no other file systems may be mounted -- operating in like "run level 1 (single user). This has a political feel to it (only because I can't imagine any techncial reason to not provide it). Does anyone else ever try a static link on bash? My 'bash' is 'bigger than most distro bashes (1.2M), but everything but the libc stuff is builtin (all the builtins & help files -- given that's all in there, 1.2M doesn't seem that large these days > ldd /bin/bash linux-vdso.so.1 (0x00007ffd09d86000) libdl.so.2 => /lib64/libdl.so.2 (0x0000003001400000) libc.so.6 => /lib64/libc.so.6 (0x0000003000c00000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003004000000) /lib64/ld-linux-x86-64.so.2 (0x00005612dbf11000)