-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 According to Brian Dessent on 7/7/2005 7:15 PM: > This is a problem with the new bash version 3.0, which is dynamically > linked to the readline, libiconv, and ncurses DLLs: > > The prior version of bash, 2.05b-17, is statically linked:
The problem is that bash 3.0 has grown so much since 2.05b that statically linking it roughly triples its size, it is already the biggest shell in /bin, and it cannot be hardlinked to save disk space without complicating future bash upgrades. I suppose it may be possible to compile two versions - the full-featured dynamically-linked bash.exe for interactive use, and the minimally-configured statically-linked sh.exe (keep all POSIX features like aliases, but strip all extensions like array variables) for scripts. Looking at ./configure --help, that would mean using: - --disable-arith-for-command --disable-array-variables - --disable-bang-history --disable-cond-command --disable-cond-regexp - --disable-debugger --disable-directory-stack --disable-disabled-builtins - --disable-dparen-arithmetic --disable-extended-glob --disable-help-builtin - --disable-multibyte --disable-net-redirections - --disable-process-substitution --disable-progcomp - --disable-prompt-string-decoding --disable-select - --disable-separate-helpfiles --enable-static-link I dunno - shipping a static /bin/sh without the full features of bash is once again going to lead to questions of why a shell script doesn't always work when people use bash extensions. > > This presents a somewhat serious problem for the rebaseall script. It > can be modified to exclude cyg{intl-3,iconv-2,readline6,ncurses-8}.dll > but that is not a very good solution, because it means they will not be > rebased. These DLLs unfortunately are used by lots of programs and I > fear not rebasing them is a poor solution. Or, you could make rebaseall a #!/bin/ash script, which would require that we never kill ash from the distribution, while freeing you from bash's dynamic linking. > > I think we will require a statically linked bash, or some kind of > trickery in the rebaseall script. One potential way around this might > be for it to output a .cmd file (or .bat under 9x, grrr) and then exec() > $COMSPEC to run the commands. This would have the advantage of not > requiring any Cygwin DLLs in use during the rebase, but it sounds more > error prone and complicated. Eww - outputting a .bat to do your work - that doesn't sound very appealing. - -- Life is short - so eat dessert first! Eric Blake [EMAIL PROTECTED] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (Cygwin) Comment: Public key at home.comcast.net/~ericblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD4DBQFCzdg084KuGfSFAYARAqiFAJi2Iur/PfoQASpJpV0Ou0Jt11bNAJ4mAC3b Su5fKRP0rqGdQcDlzvBXaw== =RMy7 -----END PGP SIGNATURE----- -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/