🦔

windowsでawkコマンドを使う/正しく動作しない場合[libgcc_s_dw2-1.dll]

2023/08/05に公開

awkコマンドをwindowsで使用する手順について、現時点(2023年)時点での導入手順をまとめました。

筆者の環境

  • Windows10 64bit Education

gawkのダウンロード

ezwinportのサイトからw32版の最新版がダウンロードできます。(作者のEli-Zaretskii氏はgawkのメンテナー。ここに名前がある)

ezwinportの画面

ダウンロードしたファイルを適当な場所に展開してコマンドプロンプトでそのフォルダに移動し、以下のコマンドを実行します。

awk --version

or

gawk --version

正しく実行できる場合はバージョンが表示されます。
正しい実行画面
ただ、筆者の環境でははじめ、何も表示されませんでした。

何も表示されないgawk --version

正しく実行できない場合

試しに実行ファイルをダブルクリックすると、以下のような表示がでました。
libgcc_s_dw2-1.dll が見つからないため、コードの実行を続行できません。プログラムを再インストールすると、この問題が解決する可能性があります。

libgcc_s_dw2-1.dllが必要とのことですが、これはMinGWに利用されている例外機構であるdwarfのDLLだそうです。なのでMinGWのビルドから抜き出してきます。

mingw-builds-binariesのリリースからdwarfを利用したビルドをダウンロードします。今回はi686-13.1.0-release-win32-dwarf-ucrt-rt_v11-rev1.7zをダウンロードします。

ダウンロードするファイル

ダウンロードした7zファイルを解凍し、mingw32\bin\内からlibgcc_s_dw2-1.dll
[gawkをダウンロードしたフォルダ]\binのフォルダ内に移動させます。

移動させた後、再度awk --versiongawk --versionを実行し、バージョン情報が出ればOKです。

参考

https://mfi.sub.jp/_html_awk/gawk_basic.html
https://www.javadrive.jp/cstart/install/index6.html

Discussion