仮想マシンなしで Windows 上で bash 4.2 を実行する方法を探しています。
CygWin で試してみましたが、インストールできる最新バージョンは bash 4.1 であり、CygWin に bash 4.2 をインストールする方法は見つかりませんでした。
ここで開発者は bash 4.2 を CygWin に移植していると述べていますが、これは 2 年前に書かれたものです。
win-bash や MinGW などの他のソフトウェアには、古いバージョンの bash があります。
では、Windows に bash 4.2 をインストールする方法はあるのでしょうか?
編集:
CygWinの返信: 64 ビット版で利用可能です。ただし、32 ビット版では利用できません。まだそのアップデートを待っています (wordexp(3) を修正するために WORDEXP_OPTION を有効にし、ロード可能な組み込み関数のサポートを有効にします)...
おそらく、cygwinports で 32 ビット バージョンが見つかるでしょう。
しかし、64 ビット用の CygWin で Bash 4.1 を見つけました。 http://cygwin.com/cgi-bin2/package-grep.cgi?grep=bash&arch=x86_64
それならわかりません。:S
更新しましたCygWinはBash 4.2を自分でインストールする必要があると私に言った
編集2: オプション: CygWinにBash 4.2をインストールします。
私は$ gcc --version -> gcc (GCC) 4.8.2、$ make --version -> GNU Make 4.0を使用しており、readlineをインストールしました。CygWin 64ビット、次のエラーが発生します:
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: `make_absolute' 関数:
/bash-4.2/general.c:630: `cygwin_conv_to_full_posix_path' が定義なしで参照されています
/bash-4.2/general.c:630:(.text+0xcc9): 調整のために再起動が必要: R_X86_64_PC32 が `cygwin_conv_to_full_posix_path' シンボルなしで定義されています
collect2: エラー: ld は salida 1 の状態に移行しました
Makefile:540: ターゲット 'bash.exe' のレシピが失敗しました
make: *** [bash.exe] エラー 1
アップデート2
CygWin サポートの回答:
Bash 4.2はまだ古くて長い間非推奨であった cygwin_conv_to_full_posix_path 関数を使用しています。 cygwin_conv_path または cygwin_create_path 関数を使用するように呼び出しを変更するべきでした。
最終更新
Cygwin 32 バージョンでは動作しますが、64 バージョンでは動作しません。解決しました