写真集

Camera:Panasonic LUMIX DMC-LX3
Vine Linux と Ubuntu の設定方法など

Debian Interix Port を導入する

2011-01-31 15:46:14 | Interix6.1

Subsystem for UNIX-based Applications (SUA Windows7)
Interix 6.1 にDebian Interix Port を導入しました。
http://debian-interix.net/

下記の手順を参照しました。
http://www.debian-interix.net/debian-interix/INSTALL

  1. インストールラーをダウンロードします。
    http://debian-interix.net/debian-interix/install.zip
  2. 下記のディレクトリが存在しないことを確認します。
      - /debootstrap/debootstrap.log
      - /usr/local/man/man
      - /var/cache/apt/
      - /var/lib/apt/
      - /var/lib/dpkg/
  3. Administrator ユーザを使用できるようにします。
    コントロール パネル -> システムとセキュリティ -> 管理ツール
    ローカルセキュリティポリシーを開きます。
    ローカルポリシー -> セキュリティオプションを開きます。
    「アカウント:Administrator アカウントの状態」を右クリックして有効にします。
  4. Administrator ユーザにパスワードを設定します。
  5. $ su administrator
    $ id -u
      197108
    197108と表示されることを確認します。
  6. パスを追加設定します。
    export PATH=/usr/sbin:/sbin:$PATH
  7. install.zipを展開したディレクトリへ移動します。
    $ cd 展開したディレクトリへ
    $ ./setup
    "Base system installed successfully."
    と表示されることを確認します。
  8. /etc/apt/ に preferences ファイルを作成します。
    内容は下記の通り
        Package: *
        Pin: release a=unreleased35
        Pin-Priority: 800
  9. 下記のコマンドを実行してインストール終了です。
    $ apt-get update
    $ apt-get upgrade -f -V

Interix 6.1 で GNU make 3.82をmakeしてみた

2011-01-31 11:13:06 | Interix6.1

Windows 7 の サブシステム UNIX ベース アプリケーション用サブシステム (SUA) に GNU make 3.82 をインストールします。

GNU make を gmake に変更してインストールします。
$ ./configure --program-prefix=g CC=/opt/gcc.4.2/bin/gcc
$ make
下記のエラーがでました。
--------------------------------------------------------------------------------------------------
In file included from ar.c:20:
make.h:436: error: expected declaration specifiers or '...' before 'uintmax_t'
In file included from ar.c:24:
filedef.h:37: error: expected specifier-qualifier-list before 'uintmax_t'
filedef.h:113: warning: 'enum cmd_state' declared inside parameter list
filedef.h:113: warning: its scope is only this definition or declaration, which is probably not what you want
filedef.h:159: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'file_timestamp_cons'
filedef.h:160: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'file_timestamp_now'
filedef.h:161: error: expected declaration specifiers or '...' before 'uintmax_t'
filedef.h:171: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'f_mtime'
--------------------------------------------------------------------------------------------------

make.h:436: error: expected declaration specifiers or '...' before 'uintmax_t'
make.h ファイルの436行目を見とFILE_TIMESTAMP の定義が怪しい。
436 const char *vpath_search (const char *file, FILE_TIMESTAMP *mtime_ptr,
                          unsigned int* vpath_index, unsigned int* path_index);

FILE_TIMESTAMP を検索します。
-----------------------------------------
#if HAVE_INTTYPES_H
# include <inttypes.h>
#endif
#define FILE_TIMESTAMP uintmax_t
-----------------------------------------
inttypes.h には uintmax_t 定義されていない。
定義されているのは stdint.h なので追加しました。
-----------------------------------------
#if HAVE_INTTYPES_H
# include <inttypes.h>
#endif
#include <stdint.h>
#define FILE_TIMESTAMP uintmax_t
-----------------------------------------
無事にmakeが終了。

$ make install