ソースの表示以前のリビジョンバックリンク全て展開する/折り畳む文書の先頭へ Share via Share via... Twitter LinkedIn Facebook Pinterest Telegram WhatsApp Yammer Reddit Teams最近の変更Send via e-Mail印刷パーマリンク × 目次 MSYS2でEmacs環境とUNIXライク環境を作る 試した環境 MSYS🤔MSYS2😧MinGW😰Mingw-w64😇 インストール MSYS2 mingw32?mingw64? Emacs ssh 参考サイト 文書の過去の版を表示しています。 MSYS2でEmacs環境とUNIXライク環境を作る 試した環境 Windows 10 (x64) バージョン2004 msys2-x86_64-20200903 MSYS🤔MSYS2😧MinGW😰Mingw-w64😇 Windows上にUNIXライクな環境を構築するソフト群は、歴史的経緯により、MSYS, MSYS2, MinGW, Mingw-w64 と似たような名前のものが存在している。組み合わせて使われることが多いが、それぞれ独立で動くソフトウェアパッケージである。 当方も詳しくはないので間違ってるかもしれないが、簡単にまとめるとこんな感じ。 MinGW (Minimalist GNU for Windows) 32ビットWindowsネイティブ環境に移植したgccと関連ツールを、Win32 APIを使ったWindowsアプリ開発環境として最小限の構成でまとめたもの。 MSYS (Minimal SYStem) MinGWを補完する目的で作られた、Windowsネイティブ環境向けbash, makeなどのUNIXライクなコマンドシェル環境を提供するもの。 Mingw-w64 MinGWからフォークして作られた、追加のWin32 APIや64ビット対応を含むMinGW相当のもの。 MSYS2 64ビットWindowsネイティブ環境向けに、シェル環境を含む、主にUNIX系やオープンソース由来のソフトウェアの配布・構築プラットフォーム。 各ソフトの機能や動作環境を表にするとこんな感じ。 ソフト シェル コンパイラ 動作環境 開発ターゲット x86 x64 x86 x64 MinGW - 〇 ◎ 〇 〇 × MSYS 〇 - ◎ 〇 - - Mingw-w64 - 〇 ◎ ◎ ◎ ◎ MSYS2 〇 〇 × ◎ ◎ ◎ 実の所、Mingw-w64はMSYS2のパッケージリストに含まれていたりする。 MSYS2にはEmacsやOpenSSH、PuTTYにPythonなど多数のWindows向けバイナリパッケージも含まれているので、64ビット環境ならMSYS2を使う事で簡単に統合的なUNIXライクな環境を作ることができる。MinGW, MSYS, NTEmacs, PuTTYあたりを個別にインストールし頑張って連携させ、それぞれの更新も手動で行っていた頃と比べると隔世の感がある。 インストール MSYS2 まずはMSYS2をインストールする。 公式サイトからインストーラを取ってきて、これまた公式サイトのスクリーンショット付き解説の通りに進める。といっても、基本は「次へ」ボタンを押してくだけ。最後に「今すぐMSYS2 64bitを実行します。」にチェックを入れて「完了」ボタンを押す。 MSYS2が起動するので、MSYS2のコアシステムとパッケージデータベースを更新する。 $ pacman -Syu コアシステムに更新があればMSYS2を再起動し、再度パッケージを更新する。 $ pacman -Su mingw32?mingw64? pacmanでアプリを入れる際、mingw32, mingw64, msysのプレフィックスが付いた同名アプリが出てくることに気付くだろう。例えばemacsならこんな感じで。 $ pacman -Ss emacs mingw32/mingw-w64-i686-emacs 27.1-1 The extensible, customizable, self-documenting, real-time display editor (mingw-w64) mingw64/mingw-w64-x86_64-emacs 27.1-1 The extensible, customizable, self-documenting, real-time display editor (mingw-w64) msys/emacs 26.3-1 (editors) The extensible, customizable, self-documenting, real-time display editor (msys2) これらの意味の詳細は見つけられてないが、少なくともmingw32とmingw64はそれぞれ32ビット版、64ビット版を示しているようだ。その後のmingw-w64はビルドに使ったツールチェインの事と思われる。 とりあえずはmingw64の方を使っておけば大丈夫かと。 Emacs みんな大好きEmacsをインストール。/-vim?知らない子ですねぇ…-/ パッケージ名はmingw64/より後ろを書いてやればよい。 $ pacman -S mingw-w64-x86_64-emacs 依存関係を解決しています... 衝突するパッケージがないか確認しています... 警告: 循環依存が検出されました: 警告: mingw-w64-x86_64-freetype は依存パッケージ mingw-w64-x86_64-harfbuzz の前にインストールされます パッケージ (44) mingw-w64-x86_64-brotli-1.0.9-1 mingw-w64-x86_64-bzip2-1.0.8-1 mingw-w64-x86_64-ca-certificates-20200601-1 mingw-w64-x86_64-expat-2.2.9-1 mingw-w64-x86_64-freetype-2.10.3-1 mingw-w64-x86_64-gcc-libs-10.2.0-4 mingw-w64-x86_64-gettext-0.19.8.1-9 mingw-w64-x86_64-glib2-2.66.1-1 mingw-w64-x86_64-gmp-6.2.0-3 mingw-w64-x86_64-gnutls-3.6.15-2 mingw-w64-x86_64-graphite2-1.3.14-2 mingw-w64-x86_64-harfbuzz-2.7.2-1 mingw-w64-x86_64-jansson-2.12-1 mingw-w64-x86_64-libffi-3.3-1 mingw-w64-x86_64-libiconv-1.16-1 mingw-w64-x86_64-libidn2-2.3.0-1 mingw-w64-x86_64-libpng-1.6.37-3 mingw-w64-x86_64-libsystre-1.0.1-4 mingw-w64-x86_64-libtasn1-4.16.0-1 mingw-w64-x86_64-libtre-git-r128.6fb7206-2 mingw-w64-x86_64-libunistring-0.9.10-2 mingw-w64-x86_64-libwinpthread-git-8.0.0.6001.98dad1fe-3 mingw-w64-x86_64-libxml2-2.9.10-4 mingw-w64-x86_64-libyaml-0.2.5-1 mingw-w64-x86_64-mpc-1.2.0-2 mingw-w64-x86_64-mpdecimal-2.5.0-1 mingw-w64-x86_64-mpfr-4.1.0-3 mingw-w64-x86_64-ncurses-6.2-2 mingw-w64-x86_64-nettle-3.6-2 mingw-w64-x86_64-openssl-1.1.1.h-1 mingw-w64-x86_64-p11-kit-0.23.20-2 mingw-w64-x86_64-pcre-8.44-1 mingw-w64-x86_64-python-3.8.6-3 mingw-w64-x86_64-readline-8.0.004-1 mingw-w64-x86_64-sqlite3-3.33.0-1 mingw-w64-x86_64-tcl-8.6.10-1 mingw-w64-x86_64-termcap-1.3.1-6 mingw-w64-x86_64-tk-8.6.10-2 mingw-w64-x86_64-universal-ctags-git-r7253.7492b90e-1 mingw-w64-x86_64-wineditline-2.205-3 mingw-w64-x86_64-xpm-nox-4.2.0-5 mingw-w64-x86_64-xz-5.2.5-1 mingw-w64-x86_64-zlib-1.2.11-7 mingw-w64-x86_64-emacs-27.1-1 合計ダウンロード容量: 87.12 MiB 合計インストール容量: 549.86 MiB :: インストールを行いますか? [Y/n] y (以下、省略) ssh いわゆるsshコマンドはmsys/opensshパッケージに含まれる。 $ pacman -Ss openssh PuTTYも準備されているのでお好みで。 $ pacman -Ss mingw-w64-x86_64-putty 参考サイト MSYS2 Mingw-w64 - GCC for Windows 64 & 32 bits c++ - What is the difference between MinGW, MinGW-w64 and MinGW-builds? - Stack Overflow https://sites.google.com/site/toriaezuzakki/msys2?tmpl=%2Fsystem%2Fapp%2Ftemplates%2Fprint%2F windows/build_emacs_and_unix_like_environment_on_msys2.1602915873.txt.gz 最終更新: 2020-10-17 15:24by Decomo