< WindowsにおけるKiCad のビルド(2017年3月版)>
Date : 03/11/2017
Author: starfort_jp
1.準備
1)MSYS2の導入
まず最初にWindows上で動作する必要最低限のUnixシェル、ユーティリティ類を統合したパッケージであるMSYS2(Minimal SYStem 2)を導入します。
(1)インストール
MSYS2のサイトからダウンロードし、インストールして下さい。
インストールが正常に終了するとShellが自動的に起動します。
以下のコマンドを入力してパッケージのデータベースとパッケージを更新して下さい。
$ pacman -Syuu (パッケージデータベースの更新(-Sy)とパッケージの更新(-Suu))
・警告が表示された場合はAlt-F4か右上のクローズボタンでウィンドウを一度閉じます
・スタートメニューからMSYS2 > MSYS2 MSYSを選んでShellを再起動して下さい
・何も行うことがありませんと表示されるまで"$ pacman -Suu"を繰り返します
(-Suではなく-Suuなのはダウングレードを許可するため)
(2)パッケージ管理
Pacman(Package manager)と呼ばれるArchLinux由来のパッケージ管理システムを持っています。
スタートメニューからMSYS2 MSYSをクリックしてコンソールを立ち上げ、コマンドを入力して使用します。
<よく使うコマンド例>
i) リポジトリ上のパッケージ一覧
pacman –Sl
ii) ローカルのパッケージデータベースを同期
pacman -Sy
iii) リポジトリ上のパッケージ検索
pacman -Ss [キーワード]
iv) リポジトリ上のパッケージをインストール
pacman -S [パッケージ名]
v) 特定の場所からパッケージ(.pkg.tar.xz/gz)をインストール
pacman -U [ファイルパス]
pacman -U [URL]
vi) インストール済パッケージのリスト
pacman -Qqe |more
vii) インストール済パッケージのバージョン
pacman -Qs <package>
viii) インストール済パッケージのアップグレード
pacman -Su
ix) インストール済パッケージの同期
pacman -Suu
x) インストール済パッケージの削除(パッケージのみ)
pacman -R [パッケージ名]
xi) インストール済パッケージの削除(パッケージと、それのみで必須な他のパッケージ)
pacman -Rs [パッケージ名]
xii) ヘルプ
pacman -h
2)MinGWの導入
次にWindows用のGNUツールチェーンであるMinGW(Minimalist GNU for Windows)を導入します。
KiCadのビルドには下記3つのツールチェーンが必要です。MSYS2コンソールからPacmanでインストールします。
(1)基本環境
pacman -S base-devel
pacman -S msys2-devel
(2)MinGW-w64(64bit)の開発環境
pacman -S mingw-w64-x86_64-toolchain
(3)MinGW-w64(32bit)の開発環境
pacman -S mingw-w64-i686-toolchain
3)ツールの導入
作業に当たっては、以下のツールをインストールしておく必要があります。
(1)zip/unzip(アーカイブ/圧縮ユーティリティ)
pacman -S unzip
pacman -S zip
(2)OpenSSH(SSHプロトコルを利用するためのソフトウェア群)
pacman -S openssh
(3)cmake(ビルド自動化ツール)
pacman -S cmake
(4)git(バージョン管理システム)
pacman -S git
以下のツールはオプションですが、あると便利かも知れません。
(1)vim(テキストエディタ)
pacman -S vim
(2)tmux(ターミナルマルチプレクサ)
pacman -S tmux
(3)ruby (オブジェクト指向のスクリプト言語)
pacman -S ruby
pacman -S ruby-docs
2.KiCadパッケージのビルドとインストール
1)新規パッケージの作成
準備ができたら、いよいよ作業に入ります。
(1)最新ソースコードの入手
MSYS2コンソール上で下記のように入力し、srcディレクトリを作ってGitHubからコピーします
cd
mkdir src
cd src
git clone https://github.com/Alexpux/MINGW-packages
(2)ngspiceの導入
回路シミュレータをKiCadに統合させるにはngspiceを導入しておくことが必要です。
cd MinGW-packages/mingw-w64-ngspice-git
makepkg-mingw –is
(3) PKGBUILDの変更
シミュレータの統合にはsrc/MinGW-packages/mingw-w64-kicad-git内にあるPKGBUILDの変更も必要です。
→”-DKICAD_SPICE=ON \”を追加して下さい。(記述がないデフォルトでは無効となっています)
またデフォルトでは多国語リソースとドキュメントもインストールされません。
インストールするには同様にPKGBUILDを書き換える必要があります。
KiCad関連リソース置き場に変更済のPKGBUILDをいくつか置いてありますので、参考にして下さい。
(4)パッケージのビルド
以上の準備ができたら、いよいよパッケージのビルドです。
問題なく終了するとPKGBUILDがあるディレクトリにパッケージが出来ています。
cd
cd src/MinGW-packages/mingw-w64-kicad-git
makepkg-mingw –s
・複数のPKGBUILDを違う名前で作っておいて、切り替えて使うと便利です。
この場合はmakepkgを下記のように変更します。
makepkg-mingw –s -p [PKGBUILDの名前]
2)更新パッケージの作成
一度成功してしまえば、後は上の”パッケージのビルド”の手順を繰り返すだけなので、簡単です。
(以降、差分だけを取得するようになるのでダウンロード時間は短縮されます。)
cd
cd src/MinGW-packages/mingw-w64-kicad-git
makepkg-mingw –s
3)パッケージのインストール
パッケージができたら、msys2環境へpacmanでインストールできます。
cd
cd src/MinGW-packages/mingw-w64-kicad-git
pacman -U [パッケージ名] (デフォルトではC:\msys64\mingw64\bin\にインストールされます)
もしくはMakepkgでもインストールできます。
cd
cd src/MinGW-packages/mingw-w64-kicad-git
makepkg-mingw -i -p [PKGBUILDの名前] ( https://wiki.archlinuxjp.org/index.php/Makepkg を参照)
4)パッケージのアンインストール
試し終わってアンインストールする場合もpacmanで行います。
cd
pacman -R [パッケージ名](パッケージ名はmingw-w64-x86_64-kicad-gitのようになっているはずです)
5)トラブルシューティング
(1)boostのダウングレード(boostが原因で問題が生じた場合)
1)下記から、mingw-w64-x86_64-boost-x.xx.x-x-any.pkg.tar.xzをダウンロード
https://sourceforge.net/projects/msys2/files/REPOS/MINGW/x86_64/
2)/var/cache/pacman/pkg/にダウンロードしたファイルをコピー
3)pacmanでx.xx.xへダウングレードを実行
pacman -U /var/cache/pacman/pkg/mingw-w64-x86_64-boost-x.xx.x-x-any.pkg.tar.xz
4)アップグレードを抑圧するために /etc/pacman.conf ファイルを編集して以下を追加
IgnorePkg = mingw-w64-x86_64-boost (IgnoreGroup(24行目近傍)に追加する)
5)boostのバージョンを確認
pacman -Qs mingw-w64-x86_64-boost
3.KiCadドキュメントの作成
1)po4aの導入
翻訳にあたってはpo4aというGettextの翻訳フレームワークが必要です。pacmanでインストールして下さい。
pacman -S po4a
2)最新ソースの入手
GitHubからkicad-doc-masterのコピーを入手します。下記の場所からzip形式でダウンロードすることもできます。
https://github.com/KiCad/kicad-doc
入手したら、”C:\msys64\home\<user_name>\src\kicad-doc-master”以下にコピーしておきます。
3)スクリプトの作成
コピーしたkicad-doc-masterにある\utils\old-build-scripts内のMakefileを利用します。
シェルスクリプトを書きMSYS2コンソールで実行することで、各種のドキュメントを作成することができます。
作成したものがKiCad関連リソース置き場 (\MSYS2\doc\shell_script)にありますので、ダウンロードしておきます。
次にコピー先のディレクトリを用意します。
cd
cd src/kicad-doc-master
mkdir shell_script
ここにダウンロードしたupdate_potpo.shとupdate_doc.shをコピーして下さい。
4)pot/poファイルの作成または更新
まずは翻訳用にgettext potとpoファイルを作ります。
cd
cd src/kicad-doc-master/shell_script
bash update_potpo.sh -pot (全ての pot ファイルを作成/更新)
bash update_potpo.sh -po ja (全ての ja po ファイルを作成/更新)*
5)poファイルを使った翻訳
src/kicad-doc-master/src下にある各ディレクトリの下にあるpoディレクトリにあるja.poファイルが翻訳対象です。
Poeditなどを利用して翻訳作業を行います。
6)adoc, html, epubの作成または更新
翻訳が終わったら、asciidoc形式の元ファイルに対する翻訳版を作り、HTML、ePub形式へと変換します。
bash update_doc.sh -adoc (全ての adoc ファイルの翻訳版を作成/更新)
bash update_doc.sh -html (全ての html ファイルの翻訳版を作成/更新)
bash update_doc.sh -epub (全ての ePub ファイルの翻訳版を作成/更新)
7)pdfの作成
pdfはwindowsのmsys2上では上手く変換できていません。
CalibreのようなWindows用プログラムでePubから変換してpdfを作成して下さい。
* poファイルの更新がうまく行かず、未翻訳文字列が抽出できないケースがあります。
このため未翻訳がなくても、Poeditを使って”POTファイルから更新”を一度実行することをオススメします。
追記:2017/3/15
Update poはファイルの更新日付で判断するので、ローカルにファイルをコピーした方法に影響を受けます。
このため最初の作業時には、更新漏れを防ぐために”POTファイルから更新”を実行して下さい。
以降は原版asciidocの日付が新しいことが保証される限り、”POTファイルから更新”を実行する必要はありません。