1

I'm looking for the way to run bash 4.2 on Windows without a virtual machine.

I've tried with CygWin, but the latest version that you can install is bash 4.1, and I didn't find a way to install bash 4.2 on CygWin.

Here the developer told that he was porting bash 4.2 to CygWin, but it has been written two years ago.

Other software like win-bash or MinGW have older versions of bash.

So, is there any way to install bash 4.2 on Windows?

EDIT:

CygWin reply: It is available for 64-bit. Not 32-bit though, we're still waiting for that update (with the WORDEXP_OPTION enabled to fix wordexp(3) and enabled support for loadable builtins)...

You could probably find a 32-bit version in cygwinports.

But I just found Bash 4.1 on CygWin for 64bits. http://cygwin.com/cgi-bin2/package-grep.cgi?grep=bash&arch=x86_64

I dont undersatnd then. :S

Updated CygWin said me that I need install Bash 4.2 myself

EDIT 2: Option: Install Bash 4.2 on CygWin:

I have $ gcc --version -> gcc (GCC) 4.8.2, $ make --version -> GNU Make 4.0, and I installed readline on CygWin 64Bits, and I get this error:

rm -f bash.exe

gcc -L./builtins -L./lib/readline -L./lib/readline -L./lib/glob -L./lib/tilde -L./lib/sh -L./lib/termcap -g -O2 -o bash.exe shell.o eval.o y.tab.o general.o make_cmd.o print_cmd.o dispose_cmd.o execute_cmd.o variables.o copy_cmd.o error.o expr.o flags.o jobs.o subst.o hashcmd.o hashlib.o mailcheck.o trap.o input.o unwind_prot.o pathexp.o sig.o test.o version.o alias.o array.o arrayfunc.o assoc.o braces.o bracecomp.o bashhist.o bashline.o list.o stringlib.o locale.o findcmd.o redir.o pcomplete.o pcomplib.o syntax.o xmalloc.o -lbuiltins -lglob -lsh -lreadline -lhistory ./lib/termcap/libtermcap.a -ltilde lib/intl/libintl.a -ldl

general.o: En la función `make_absolute':

/bash-4.2/general.c:630: referencia a `cygwin_conv_to_full_posix_path' sin definir

/bash-4.2/general.c:630:(.text+0xcc9): reubicación truncada para ajustar: R_X86_64_PC32 contra el símbolo `cygwin_conv_to_full_posix_path' sin definir

collect2: error: ld devolvió el estado de salida 1

Makefile:540: recipe for target 'bash.exe' failed

make: *** [bash.exe] Error 1

Update 2

The answer of CygWin support:

Bash 4.2 is still using the old and long deprecated cygwin_conv_to_full_posix_path function. It should long have changed the call to use the cygwin_conv_path or cygwin_create_path function.

FINAL UPDATE

I can work it on cygwin 32 version, but no on 64 version. Solved

4
  • Just wondering why you need bash 4.2 specifically ? MobaXterm has Bash 4.1, but the team working on it seems pretty active so maybe hit them up ?
    – Lawrence
    Dec 5, 2013 at 2:17
  • I need Bash 4.2, because I tried to run a program (script?) on bash that use "declare -rgA" and it is not on Bash 4.1. I am newbie with Bash and I think that is very difficult for me reschedule to Bash 4.1. I will ask to MobaXtrem team, maybe I will have more luck that with CygWin :(. Thanks!
    – eKeR
    Dec 5, 2013 at 9:08
  • I have no problem in compiling the official bash 4.2 sources (ftp.gnu.org/gnu/bash/bash-4.2.tar.gz) under cygwin 32bit. You'll need make, gcc and probably readline packages (perhaps some others, too?!).
    – mpy
    Dec 6, 2013 at 16:13
  • I tried to install Bash 4.2 on CygWin 64Bits and I get error... Maybe do I need install CygWin 32Bits? I updated my post with the error. Thanks! :)
    – eKeR
    Dec 7, 2013 at 17:17

0

You must log in to answer this question.

Browse other questions tagged .