Windows 7 の サブシステム UNIX ベース アプリケーション用サブシステム (SUA) に bash 4.1 をインストールします。
- bash-4.1.tar.gz をダウンロードします。
- patchを当てます。
patch -p0 < ../bash41-001
patch -p0 < ../bash41-002
patch -p0 < ../bash41-003
patch -p0 < ../bash41-004
patch -p0 < ../bash41-005
patch -p0 < ../bash41-006
patch -p0 < ../bash41-007
patch -p0 < ../bash41-008
patch -p0 < ../bash41-009 - $ ./configure
- $ make
下記のエラーがでました。
-----------------------------------------------------------
making ./lib/intl/libintl.a in ./lib/intl
gcc -c -DLOCALEDIR=\"/usr/local/share/locale\" -DLOCALE_ALIAS_PATH=\"/usr/local/share/locale\" -DLIBDIR=\"/usr/local/libdata\" -DIN_LIBINTL -DENABLE_RELOCATABLE=1 -DIN_LIBRARY -DINSTALLDIR=\"/usr/local/lib\" -DNO_XMALLOC -Dset_relocation_prefix=libintl_set_relocation_prefix -Drelocate=libintl_relocate -DDEPENDS_ON_LIBICONV=1 -DHAVE_CONFIG_H -DSHELL -I. -I. -I/dev/fs/C/Users/username/unix/bash-4.1 -I../.. -g -O2 loadmsgcat.c
loadmsgcat.c: In function `get_sysdep_segment_value':
loadmsgcat.c:727: error: `uintmax_t' undeclared (first use in this function)
loadmsgcat.c:727: error: (Each undeclared identifier is reported only once
loadmsgcat.c:727: error: for each function it appears in.)
*** Error code 1
Stop in /dev/fs/C/Users/username/unix/bash-4.1/lib/intl.
*** Error code 1
Stop in /dev/fs/C/Users/username/unix/bash-4.1 (line 628 of makefile).
-----------------------------------------------------------
uintmax_t が未定義だと stdint.h は /usr/include に存在するのになぜ?
loadmsgcat.c を stdint.h が include されるように変更します。ifをコメントアウトしました。
ついでに inttypes.h も無条件でインクルードされるように変更します。
-----------------------------------------------------------
82 //#if defined HAVE_STDINT_H_WITH_UINTMAX || defined _LIBC
83 # include
84 //#endif
85 //#if defined HAVE_INTTYPES_H || defined _LIBC
86 # include
87 //#endif
-----------------------------------------------------------
無事に make 終了しました。
-----------------------------------------------------------
ls -l bash
-rwxr-xr-x 1 username None 2143063 Jan 26 14:07 bash
size bash
text data bss dec hex filename
663819 19145 18308 701272 ab358 bash
----------------------------------------------------------- - $ make install
- 無事にインストールされたました。
$ echo $BASH_VERSION
4.1.9(1)-release
$ bash
bash-4.1$
$ uname -a
Interix pcname 6.1 10.0.7063.0 x86 Intel_x86_Family15_Model4_Stepping10
Microsoft Subsystem for UNIX-based Applications をインストールする方法
http://wikis.sun.com/pages/viewpage.action?pageId=102400231
Debian Interix Port
http://www.debian-interix.net/
参考
http://girlab2010.wordpress.com/category/interix/
http://air.s.kanazawa-u.ac.jp/~ohara/interix.html
http://www.hakusan.tsg.ne.jp/tjkawa/lib/index.jsp
http://d.hatena.ne.jp/piropirostar/
※コメント投稿者のブログIDはブログ作成者のみに通知されます