KiCad 5.1.0 Windows版 日本語フォントマージビルド

KiCad 5.1.0 Windows版 日本語フォントマージビルド

2019年04月13日 新規投稿
2019年04月15日 一部修正中
2019年04月16日 修正完了・ビルド確認完了
2019年04月18日 カテゴリ・一部修正・インストールパッケージ追加

KiCad で図面に日本語入力・表示してみたくて自力でコンパイルしてみた第4弾。
5.0公開後、5.1の安定板 がリリースされ、リクエストが届いたので再度挑戦しました。
おなじみでしょうが、すべて自己責任で!
間違い・質問・ご要望は お問い合わせ まで。
インストールパッケージは一番下です。

総評

前回に比べるとBoostパッケージのダウングレードがいらなくなり、かなり改善しました。
作業開始時はGLMバージョンのメッセージが出て長期戦を覚悟しましたが、数日後に再度ビルドしたら修正されていました。
この手順で書いてある内容もすぐ修正されるかもしれないので、とりあえずビルド実行してエラーをつぶした方が近道かもしれません。
ビルド途中にエラーで止まることは無かったですが相変わらず欠落ファイルがあって修正が必要でした。

libeay32.dll
ssleay32.dll
librtmp*.dll
libgnutls*.dll
libreadline7.dll
libzstd.dll

基本的な動作には必要無いように思われますが、どの機能で使用するファイルか不明なため多少手順が面倒でもできる限り欠落ファイルを無くす方向でビルドしました。
ライブラリ関係以外のテキストファイルの迷子とドキュメント関係で日本語以外のワーニングは無視しました。(日本語フォント導入するのは日本語で使用するだろう・・・多分)
前回整えた環境でアップグレードしていくと問題無く終了するかもしれませんが基本的にクリーン環境で実行できる手順を目指してます。
ファイル欠落の対応がメインでエラーはほとんど無く、数日で完了しました。

参考サイト

日本語フォントのマージ手順

http://wiki.kicad.jp/

おなじみですがこのサイトの日本語フォントのマージ手順とツールなければ出来ませんでした。(というかやってみようとは思わなかった)

基本的なビルドの方法

http://docs.kicad-pcb.org/doxygen/md_Documentation_development_compiling.html

ソースからビルドする場合の情報です。

謝辞

今回も先人に感謝。参考サイト以外にも各サイトにお世話になってます。
うちの情報も役に立ってくれれば、うれしいです。

作業環境

Windows10 64bit
5.0.0と一緒でDドライブにて作業してます。階層が深くなる対策のため kicad-winbuilder-master を kicad-winbuilder にリネームしてます、 読み替えてくださいませ。

作業開始

Cmakeのインストール

https://cmake.org/download/ から自分の環境にあったインストーラをダウンロードしてセットアップします。
普通にセットアップできるので問題はないかと思います。

ソースの取得

https://github.com/KiCad/kicad-winbuilder の Winbuilder を使用しました。git 環境が整っている方はgithub のkicad-winbuilder を Clone してください。
git 環境が無い場合は https://github.com/KiCad/kicad-winbuilder にアクセスして Clone or Download から zip でダウンロードして展開する。
注意点はドライブのルートに展開するのとユーザー名のスペースに注意です。(マルチバイト文字もかな)
検証は最初の部分にも書いた通り
D:\kicad-winbuilder
で行いました。

事前準備

今回の手順で大変なのは欠落ファイルを補うためパッケージをダウングレードするとcmake が起動出来なくなる点でした。
途中、エラーで止まったのを見計らってファイルをコピーする方法で対応しました。(スクリプト修正するのが面倒だった・・・スミマセン)

  • PKGBUILD

kicad-winbuilder ディレクトリの PKGBUILD を PKGBUILD.bak に名前変更。
PKGBUILD-STABLE をコピーして PKGBUILD に名前変更。
名前変更した PKGBUILD の25行目付近に2行追加。
(必須ライブラリの追加)

depends=("${MINGW_PACKAGE_PREFIX}-boost"
         "${MINGW_PACKAGE_PREFIX}-cairo"
         "${MINGW_PACKAGE_PREFIX}-curl"
         "${MINGW_PACKAGE_PREFIX}-glew"
         "${MINGW_PACKAGE_PREFIX}-openssl"
         "${MINGW_PACKAGE_PREFIX}-wxPython"
         "${MINGW_PACKAGE_PREFIX}-wxWidgets"
         "${MINGW_PACKAGE_PREFIX}-libxslt"
         "${MINGW_PACKAGE_PREFIX}-oce"
         "${MINGW_PACKAGE_PREFIX}-gnutls" ← 追加
         "${MINGW_PACKAGE_PREFIX}-rtmpdump" ← 追加
         "${MINGW_PACKAGE_PREFIX}-ngspice"
         "${MINGW_PACKAGE_PREFIX}-fftw")
makedepends=("${MINGW_PACKAGE_PREFIX}-cmake"
             "${MINGW_PACKAGE_PREFIX}-doxygen"
             "${MINGW_PACKAGE_PREFIX}-gcc"
             "${MINGW_PACKAGE_PREFIX}-python2"
             "${MINGW_PACKAGE_PREFIX}-pkg-config"
             "${MINGW_PACKAGE_PREFIX}-swig"
             "${MINGW_PACKAGE_PREFIX}-glm"
             "git")

PKGBUILD の83行目付近に1行追加。
(ストロークフォントファイルのコピー)

EXTRA_FLAGS=""
if [ $GCCVERSION = "5.1.0" ] || [ $GCCVERSION = "5.2.0" ]; then
EXTRA_FLAGS=" -DCMAKE_CXX_FLAGS=-Wno-deprecated-declarations"
fi

cp /d/kicad-winbuilder/newstroke_font.cpp $HOME/MINGW-packages/mingw-w64-kicad-git/src/kicad/common ← 追加

MSYS2_ARG_CONV_EXCL="-DCMAKE_INSTALL_PREFIX=" \
${MINGW_PREFIX}/bin/cmake.exe \

この追加部分の先頭 cp /d/kicad-winbuilder/new…… の /d がドライブレターを表しているので環境で変更する。
例えば Cドライブなら cp /c/kica…… のように。

  • newstroke_font.cpp

上記参考サイトの 日本語フォントのマージ手順 に従って作成。
作成完了したら kicad-winbuilder ディレクトに配置

  • copydlls.sh

kicad-winbuilder ディレクトリの copydlls.sh を編集。
211行目付近に1行追加。
このファイル無いと起動しません。

"libreadline7.dll" \
"libtermcap-0.dll" \
"libpsl-5.dll" \
"libzstd.dll" \ ← 追加
"libcrypto-1_1*.dll" )

270行目付近に1行追加。
(修正しなくても問題ないが存在するファイルなのでちゃんとコピーしてみる。今回も license_for_documentation.txt は行方不明。)

echo Building NSIS installer exe...
cp -r $NSISPATH $TARGETDIR
cp $HOME/MINGW-packages/mingw-w64-kicad-git/src/kicad/AUTHORS.txt "$TARGETDIR" ← 追加
}
  • KiCad-Winbuilder.cmake

kicad-winbuilder ディレクトリの KiCad-Winbuilder.cmake を編集

101行目付近に2行追加
(openssl と readline パッケージのダウングレードのファイル定義)

if( i686 )
set( TOOLCHAIN_PACKAGES "${TOOLCHAIN_PACKAGES} mingw-w64-i686-toolchain mingw-w64-i686-boost mingw-w64-i686-cairo mingw-w64-i686-curl mingw-w64-i686-glew mingw-w64-i686-openssl mingw-w64-i686-wxPython mingw-w64-i686-wxWidgets mingw-w64-i686-cmake mingw-w64-i686-gcc mingw-w64-i686-python2 mingw-w64-i686-python2-pip mingw-w64-i686-pkg-config mingw-w64-i686-swig mingw-w64-i686-libxslt bzr git doxygen" )
  set( DWONGRADE_PACKAGES "${DWONGRADE_PACKAGES} http://repo.msys2.org/mingw/i686/mingw-w64-i686-openssl-1.0.2.p-1-any.pkg.tar.xz http://repo.msys2.org/mingw/i686/mingw-w64-i686-readline-7.0.005-1-any.pkg.tar.xz" ) ← 追加
endif()

if( x86_64 )
set( TOOLCHAIN_PACKAGES "${TOOLCHAIN_PACKAGES} mingw-w64-x86_64-toolchain mingw-w64-x86_64-boost mingw-w64-x86_64-cairo mingw-w64-x86_64-curl mingw-w64-x86_64-glew mingw-w64-x86_64-openssl mingw-w64-x86_64-wxPython mingw-w64-x86_64-wxWidgets mingw-w64-x86_64-cmake mingw-w64-x86_64-gcc mingw-w64-x86_64-python2 mingw-w64-x86_64-python2-pip mingw-w64-x86_64-pkg-config mingw-w64-x86_64-swig mingw-w64-x86_64-libxslt bzr git doxygen" )
   set( DWONGRADE_PACKAGES "${DWONGRADE_PACKAGES} http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-openssl-1.0.2.p-1-any.pkg.tar.xz http://repo.msys2.org/mingw/x86_64/mingw-w64-x86_64-readline-7.0.005-1-any.pkg.tar.xz" ) ← 追加
endif()

312行目付近に1行追加
(openssl と readline パッケージダウングレードの実行用)

if( NOT EXISTS "${LOG_DIR}/pacman_required_packages" )
# Get the initial required packages and then update pacman again
execute_msys2_bash( "pacman --noconfirm -S base-devel" "${LOG_DIR}/pacman_base_devel" )
execute_msys2_bash( "pacman --noconfirm -S git make ${TOOLCHAIN_PACKAGES}" "${LOG_DIR}/pacman_required_packages" )
execute_msys2_bash( "pacman --noconfirm -Su" "${LOG_DIR}/pacman_required_packages_update" )
execute_msys2_bash( "pacman --noconfirm -U ${DWONGRADE_PACKAGES}" "${LOG_DIR}/pacman_boost_packages_downgrade" ) ← 追加
endif()
  • install.nsi

kicad-winbuilder ディレクトリにある nsis ディレクトリの install.nsi ファイルの文字コードが UTF-8N なので UTF-8 か shift-JIS に変換して保存しなおす。

ビルド開始

Windows のコマンドプロンプト起動しカレント移します。

D:
cd kicad-winbilder

文字コード変更
(Win10の場合実行しないと MSYS2 の処理時に文字化けします。Win7は試してないけど4.0.7と一緒で実行しなくても大丈夫だと思います。)

chcp 65001

とりあえず実行

make_all.bat

環境作成できてKicad本体のビルドが始まるぐらいにCmakeが起動できなくてエラーで停止します。
D:\kicad-winbuilder\msys64\mingw32\bin にある

libeay32.dll
ssleay32.dll
libreadline7.dll

をコピーしてバックアップ。
エクスプローラーで D:\kicad-winbuilder\msys64 の msys2_shell.cmd をダブルクリックで起動し、コマンドを実行してopenssl と readline のパッケージを最新版に戻す。

pacman --noconfirm -S mingw-w64-i686-openssl
pacman --noconfirm -S mingw-w64-i686-readline

パッケージが戻ったら MSYS2 コンソールでの作業は終了し先程バックアップしたファイルを

D:\kicad-winbuilder\msys64\mingw32\bin
D:\kicad-winbuilder\msys64\mingw64\bin

にコピーする。
以上の作業が完了したら、コマンドプロンプトに戻って再度

make_all.bat

を実行する。

あとは停止しないでビルドして勝手にパッケージングしてくれる・・・はず。
ファイルは

kicad-winbuilder\msys64\home\ユーザー名\out\pack-i686
kicad-winbuilder\msys64\home\ユーザー名\out\pack-x86_64

に作成されます。

とりあえず無事にパッケージは完成してインストール確認しましたが、今のところ問題なさそうです。

インストールパッケージ

上記手順でビルドしたインストールパッケージです。
自己責任でご使用ください。
(毎度のことながら貧乏なので署名はしていません。Windows Defender SmartScreen で警告出ます・・・多分)
Windows10の場合 詳細方法 → 実行
32bit版 環境無くて未チェックです・・・すみません

32bit版 kicad-5.1.0_1-i686.exe

64bit版 kicad-5.1.0_1-x86_64.exe

 

 
 
てんちょ!

投稿者: てんちょ!

電脳再生研究所 助手