4.0.7 のバックアップ(No.3)
KiCad 4.0.7 Windows版 ビルド †
TOTAL:4743 今日:2 昨日:1
2017年03月20日 更新 †
KiCad で図面に日本語表示してみたくて、自力でコンパイルしてみたがドツボにはまったので参考までに・・・
4.0.7安定板 がリリースされたので、懲りずに挑戦しました。
おなじみでしょうが、すべて自己責任で!
質問は
まで
総評 †
前回 PKGBUILD-STABLE を PKGBUILD にリネームしただけで行けたんじゃね?みたいな感じがしてたので今回試したらビンゴでした。
MSYS2の使い方を含めたパッケージ管理やビルドの仕方をよく理解しないで、かなり無駄な努力をしてしまった感じがします・・・
前回はなんだかんだで1か月(笑いたきゃ笑ってくれ)かかったが今回は1週間ぐらいで検証完了した。
参考サイト †
日本語フォントのマージ手順 †
おなじみですがこのサイトの日本語フォントのマージ手順とツールなければ出来ませんでした。(というかやってみようとは思わなかった)
基本的なビルドの方法 †
http://docs.kicad-pcb.org/doxygen/md_Documentation_development_compiling.html
ソースからビルドする場合の情報です。
もしかすると32bit版はboostのダウングレードしなくても行けたのかな?
謝辞 †
今回も先人に感謝。
うちの情報も少しでも役に立ってくれれば、うれしいです。
作業環境 †
Windows10 64bit
4.0.6と一緒でDドライブにて作業してます。階層が深くなる対策のため kicad-winbuilder-master を kicad-winbuilder にリネームしてます、 読み替えてくださいませ。
また、容量に関しても24GB近かったので空き容量にはご注意ください。
作業開始 †
ソースの取得 †
https://github.com/KiCad/kicad-winbuilder の Winbuilder を使用しました。
前回よく理解しないで実行していたのですが Winbuilder をダウンロードしてバッチファイル実行すると環境がすべて整うんだな・・・
前回 4.0.6 のときは MSYS2 だの cmake だの環境について書いてたけど嘘ばっかしでした、ごめんなさい。
今度、クリーンな環境でビルド通るか試してみます。
ゆえに 4.0.6 環境を捨てて Winbuilder のダウンロードから試してみます。
git 環境が整っている方は github の kicad-winbuilder を Clone してください。
git 環境が無い場合は https://github.com/KiCad/kicad-winbuilder にアクセスして Clone or Download から zip でダウンロードして展開する。
注意点はドライブのルートに展開するのとユーザー名のスペースに注意です。(マルチバイト文字もかな)
検証は最初の部分にも書いた通り
D:\kicad-winbuilder
で行いました。
事前準備 †
前回と比べると NGSPICE のビルドで停止等は無くなりましたが多少修正はありました。
PKGBUILD-STABLE
- PKGBUILD
kicad-winbuilder ディレクトリの PKGBUILD を PKGBUILD.bak に名前変更
PKGBUILD-STABLE をコピーして PKGBUILD に名前変更
名前変更した PKGBUILD を以下の通り修正-DPYTHON_EXECUTABLE=${MINGW_PREFIX}/bin/python2.exe \ ${EXTRA_FLAGS} \ ../${_realname} cp /d/kicad-winbuilder/newstroke_font.cpp $HOME/MINGW-packages/mingw-w64-kicad-git/src/kicad/common ← 追加 make
- newstroke_font.cpp
上記 日本語フォントのマージ手順 に従って作成
- copydlls.sh
kicad-winbuilder ディレクトリのecho Building NSIS installer exe... cp -r $NSISPATH $TARGETDIR cp $HOME/MINGW-packages/mingw-w64-kicad-git/src/kicad/AUTHORS.txt "$TARGETDIR" ← 追加 cp $HOME/MINGW-packages/mingw-w64-kicad-git/src/kicad/license_for_documentation.txt "$TARGETDIR" ← 追加 }
- ca-bundle.crt
途中、証明書のエラーが出るので作成しておく。
https://curl.haxx.se/ca/cacert.pem
https://www.digicert.com/CACerts/DigiCertHighAssuranceEVRootCA.crt
http://cacerts.digicert.com/DigiCertHighAssuranceEVCA-1.crt
をダウンロード。crt を pem に openssl で変換しまとめる。openssl x509 -inform der -in DigiCertHighAssuranceEVRootCA.crt -out DigiCertHighAssuranceEVRootCA.pem openssl x509 -inform der -in DigiCertHighAssuranceEVCA-1.crt -out DigiCertHighAssuranceEVCA-1.pem cat cacert.pem >> ca-bundle.crt cat DigiCertHighAssuranceEVRootCA.crt >> ca-bundle.crt cat DigiCertHighAssuranceEVCA-1.crt >> ca-bundle.crt
DigiCertHighAssuranceEVRootCA.crt
DigiCertHighAssuranceEVCA-1.crt
ngwindows のコマンドプロンプト起動しカレント移します。
D: cd kicad-winbilder
文字コード変更(Win10の場合実行しないと MSYS2 の処理時に文字化けします。Win7は実行しなくても大丈夫でした。)
chcp 65001
とりあえず実行
make_all.bat
最後まで終了すれば問題ないが、多分エラーで止まると思う。
とりあえず実行するとファイルのダウンロードと環境の構築はしてくれるのでエラーが出てから考える。
うちの環境では *** NGSPICE library missing *** のエラーメッセージが出て終了しました。
環境の再構築
コマンドプロンプトで必要ファイルコピー
copy d:\kicad-winbuilder\PKGBUILD-ngspice-git D:\kicad-winbuilder\msys64
MSYS2コンソール起動 †
エクスプローラーで D:\kicad-winbuilder\msys64 の msys2_shell.cmd をダブルクリックで起動
以降 MSYS2 コンソールで作業
必要なパッケージインストールする
pacman -S autoconf pacman -S automake pacman -S bison pacman -S libtool pacman -S patch
ファイルのコピーと NGSPICE のビルド(NGSPICE は 4.0.6 安定板では使用しないと思われるが、パッケージングでライブラリコピーするので作成します。)
cd $HOME/MINGW-packages/mingw-w64-ngspice-git mv PKGBUILD $HOME/PKGBUILD-ngspice.bak cp /PKGBUILD-ngspice-git PKGBUILD makepkg-mingw -is
インストールを行いますか? で Y
i686版もインストールを行いますか? で Y
完了したら続いてKiCad
boost のダウングレード †
cd $HOME pacman -R mingw-w64-x86_64-boost
以上のパッケージ削除しますか? で Y
pacman -R mingw-w64-i686-boost
以上のパッケージ削除しますか? で Y
wget http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-boost-1.57.0-4-any.pkg.tar.xz wget http://repo.msys2.org/mingw/i686/mingw-w64-i686-boost-1.57.0-4- any.pkg.tar.xz pacman -U mingw-w64-x86_64-boost-1.57.0-4-any.pkg.tar.xz
インストールを行いますか? で Y
pacman -U mingw-w64-i686-boost-1.57.0-4-any.pkg.tar.xz
インストールを行いますか? で Y
ファイルダウンロードとビルド †
cd $HOME wget http://systembank.info/~sow/KiCad/PKGBUILD_kicad_jfont wget http://systembank.info/~sow/KiCad/newstroke_font.cpp rm -rf $HOME/MINGW-packages/mingw-w64-kicad-git/ mkdir $HOME/MINGW-packages/mingw-w64-kicad-git/ cd $HOME/MINGW-packages/mingw-w64-kicad-git cp $HOME/PKGBUILD_kicad_jfont PKGBUILD makepkg-mingw -is
それぞれ インストールを行いますか? で Y
起動&動作確認 †
エクスプローラーから D:\kicad-winbuilder\msys64\mingw64\bin\kicad.exe を起動して確認します。
特に、バージョン情報や図面に漢字の入力ができるか確認する。
インストールパッケージの作成
MSYS2 コンソールで必要なパッケージのインストールとファイルのダウンロード
cd $HOME pacman -S mingw-w64-i686-oce
インストールを行いますか? で Y
cd / wget http://systembank.info/~sow/KiCad/copydlls.sh
以上で MSYS2 の作業は終了なのでコンソール閉じて OK です。
windows のコマンドプロンプト起動しカレント移します。(今度は文字コード変更不要)
D: cd kicad-winbilder ren copydlls.sh copydlls.bak copy msys64\copydlls.sh make_all.bat
実行中に [エラー: /home/SBD/MINGW-packages/mingw-w64-kicad-git/kicad は https://github.com/KiCad/kicad-source-mirror.git の複製ではありません] が表示されますが、 スキップするので問題ありません。
kicad-source-mirro のWinbuilderで 4.0.6 安定板のパッケージをビルドし、インストールパッケージの作成だけをバッチ処理させているためです。
また、ライブラリファイルのコピーが終了してパッケージの作成に入るあたりで [Bad text encoding: install.nsi:9] のエラーが出る場合は、D:\kicad-winbuilder\nsis\install.nsi ファイルを文字コード変更できるエディタ等かツールで UTF-8 から Shift-JIS に変更して再度 make_all.bat を実行してください。
正常に終了すれば
D:\kicad-winbuilder\msys64\home\ユーザー名\out\pack-i686 D:\kicad-winbuilder\msys64\home\ユーザー名\out\pack-x86_64
それぞれにインストールパッケージが作成されています。
ダウンロードしたファイルの修正部分 †
上記手順で、当サイト http://systembank.info/~sow/KiCad/ からダウンロードしたファイルの修正箇所は以下の通りです。
PKGBUILD_kicad_jfont
-DPYTHON_EXECUTABLE=${MINGW_PREFIX}/bin/python2.exe \ ${EXTRA_FLAGS} \ ../${_realname} cp $HOME/newstroke_font.cpp $HOME/MINGW-packages/mingw-w64-kicad-git/src/kicad /common ← 追加 make
newstroke_font.cpp
http://wiki.kicad.jp/日本語フォントのマージ手順 に従って KST32B フォントをマージしたファイル
copydlls.sh
echo Building NSIS installer exe... cp -r $NSISPATH $TARGETDIR cp $HOME/MINGW-packages/mingw-w64-kicad-git/src/kicad/AUTHORS.txt "$TARGETDIR" ← 追加 cp $HOME/MINGW-packages/mingw-w64-kicad-git/src/kicad/license_for_documentation.txt "$TARGETDIR" ← 追加 } makensis() { cd "$TARGETDIR/nsis"