Mac OSX版のKiCadをソースからビルドする。

安定化版(bzr4022)がKiCad.jpで公開されているが、2015年1月15日現在の最新リビジョンがbzr5357。かなり開きがあるので、自分で最新版をビルドしてみたときのメモを残す。

2015/9 KiCad 4.0.1 RC版がリリースされました
前回の安定化版から大幅に機能改修&追加されたものがとうとう正式リリースされました。
KiCad.jpの有志の方々による日本語マニュアルも整備されているようなので、自分でビルドしてまで最新版を使う理由は昔ほどないかもしれないです。

KiCad.jpから詳細情報を入手し、正式版インストーラをダウンロードすることをおすすめします。

以下は過去ログとしてとりあえず残します。

※過去2回KiCadビルドに関する投稿はこの記事の公開で削除。当サイトでビルドしたMac版KiCad(本体のみ)を公開

大まかな作業の流れ

  1. code.launchpad.netで管理されているKiCadソースをbzrツ-ルを使ってダウンロードする
  2. GUIをスクリプト対応させるならwxPython、そうでないならwxWidgetsをダウンロード、ビルドする
  3. kicadソースをコンパイルしてアプリケーションフォルダに配置する
  4. GitHubで管理されているライブラリ・モジュールファイルをダウンロードして配置する
  5. 言語ファイルをダウンロードして配置する

事前準備

  • xcodeをApp Storeからダウンロードしてインストールしておく(コマンドラインツールだけあれば良いのかもしれない)
  • KiCadのソースはlaunchpadで管理されているので、portコマンドでbzrをインストールする
> sudo port selfupdate
> sudo port install bzr
  • ライブラリ関連はGitHubで管理されている。採取するためにgitコマンドをインストールしておく(サイトから直接DLするなら不要)
> sudo port search git
git @2.2.1 (devel)
    A fast version control system
> sudo port install git
: (省略)
  • wxPythonをビルドする場合、swig-pythonが必要になるのでインストールしておく(wxWidgetsを使うなら不要)
> sudo port search swig-python
swig-python @3.0.2 (devel)
    Python binding for swig
 
> sudo port install swig-python
: (省略)
 
> make
: (省略)
Scanning dependencies of target idfrect
[100%] Building CXX object utils/idftools/CMakeFiles/idfrect.dir/idf_rect.cpp.o
Linking CXX executable ../../kicad/kicad.app/Contents/MacOS/idfrect
[100%] Built target idfrect

> make install
[  1%] Built target boost
[ 30%] Built target bitmaps
[ 30%] Built target page_layout_lexer_source_files
: (省略)
  • ほかにもコンパイル時に必要なライブラリやツールが必要になるかもしれない。

ビルド環境のフォルダ構成

フォルダ構成は以下の通り。ワーキングディレクトリ下に作業を進めながら作成していく。ワーキングディレクトリを作成する。

buildwork   (ワーキングディレクトリ)
 +- bin/    (kicadビルドで自動生成)
 +- build/  (kicadビルド時に作成する)
 +- kicad/  (kicadのソース格納先)
 +- wx-bin/ (wxPython, wxWidgetsビルドで自動生成)
 +- wx-src/ (wxPython, wxWidgetsソースの格納先)
> mkdir buildwork
> cd buildwork

kicadソースの入手

KiCadのソースはLaunchpadで管理されている。今回は最新版を入手する。

https://code.launchpad.net/kicad
20150116144851

> bzr branch lp:kicad
Not checking SSL certificate for xmlrpc.launchpad.net.
You have not informed bzr of your Launchpad ID, and you must do this to
write to Launchpad or access private data.  See "bzr help launchpad-login".
   720kB     1kB/s | Fetching revisions:Inserting stream:Estimate 4368/72924   
:

ローカルリポジトリのリビジョンの確認はbzr logコマンドで確認できる

> bzr log -r-1
------------------------------------------------------------
revno: 5357

※次回以降で最新ソースの入手する場合

bzr mergeコマンドで最新ソースをチェックアウトする。ただ、後述する操作でソースにパッチが当てられるようで、そのままだとmergeコマンドがエラーになる。一度、bzr revetで加えられた変更をクリアしてから行う。

> bzr revert
> bzr pull

wxPython、wxWidgetsソースの入手

最近のKiCADには、Pythonスクリプト機能が実装された模様。それを必要とする場合はwxPython、そうでなければwxWidgetsを使用する。以下からソースコードがダウンロードできる。

wxwidgets http://www.wxwidgets.org/downloads
wxPython http://www.wxpython.org/download.php#source

ダウンロードしたソースをwx-srcディレクトリに展開する。(展開したディレクトリをwx-srcにリネームする)

wxPythonの場合
> tar xjvf wxPython-src-3.0.2.0.tar.bz2
> mv wxPython-src-3.0.2.0 wx-src
wxWidgetsの場合
> tar jxvf wxWidgets-3.0.1.tar.bz2
> mv wxWidgets-3.0.1 wx-src

wxPython, wxWidgetsのビルド

ダウンロードしたkicadのソース群にはwxPython、wxWidgetsのパッチ適用からビルドまでを自動でおこなうスクリプトがある。これを使ってコンパイルする。

第1引数はソースの格納ディレクトリ、第2引数は出力先、第3引数はkicadのソースディレクトリ、第4引数はビルドするOSXのバージョン、第4引数はオプション(とりあえず手順書に合わせた)。ビルドにはそれなりの時間を要する。

注意点として、指定するOSバージョンは環境に合わせること。10.9環境で、10.7を指定してビルドするとエラーが発生するケースがある。

> chmod 775 kicad/scripts/osx_build_wx.sh
> kicad/scripts/osx_build_wx.sh wx-src wx-bin kicad 10.9 "-j4"
:
*** Removing build folder
*** Finished building!

kicadのビルド

kicad本体のビルドを実行する。cmakeでMakefileを作成する。wxPythonとwxWidgetsでcmakeオプションが異なるので注意

wxPythonの場合
> mkdir build
> cd build
> cmake ../kicad \
      -DCMAKE_C_COMPILER=clang \
      -DCMAKE_CXX_COMPILER=clang++ \
      -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 \
      -DwxWidgets_CONFIG_EXECUTABLE=../wx-bin/bin/wx-config \
      -DPYTHON_EXECUTABLE=`which python` \
      -DPYTHON_SITE_PACKAGE_PATH=`pwd`/../wx-bin/lib/python2.7/site-packages \
      -DKICAD_SCRIPTING=ON \
      -DKICAD_SCRIPTING_MODULES=ON \
      -DKICAD_SCRIPTING_WXPYTHON=ON \
      -DCMAKE_INSTALL_PREFIX=../bin \
      -DCMAKE_BUILD_TYPE=Release
wxWidgetsの場合
> mkdir build
> cd build
> cmake ../kicad \
      -DCMAKE_C_COMPILER=clang \
      -DCMAKE_CXX_COMPILER=clang++ \
      -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 \
      -DwxWidgets_CONFIG_EXECUTABLE=../wx-bin/bin/wx-config \
      -DKICAD_SCRIPTING=OFF \
      -DKICAD_SCRIPTING_MODULES=OFF \
      -DKICAD_SCRIPTING_WXPYTHON=OFF \
      -DCMAKE_INSTALL_PREFIX=../bin \
      -DCMAKE_BUILD_TYPE=Release

cmakeが成功したら、makemake installする。とても時間がかかる。

> make
Scanning dependencies of target boost
[  0%] Creating directories for 'boost'
[  0%] Performing download step (download, verify and extract) for 'boost'
:
boost_1_54_0.tar.bz2'
     timeout='1200 seconds'
-- [download 0% complete]
-- [download 1% complete]
-- [download 2% complete]
:
 
> make install

**※ソースをバージョンアップして再ビルドして、以下のエラーが出る場合、.downloads-by-cmakeフォルダを削除してからビルドを実行する。

> make
[  0%] creating 'boost scratch repo' specifically for boost to track boost patches
bzr: ERROR: Already a branch: "/Work/build/KiCad/kicad/.downloads-by-cmake/boost_1_54_0/src/boost".
:
> rm -r ../kicad/.downloads-by-cmake

アプリケーションのインストール

binフォルダ以下にアプリケーションが作成されるので、binフォルダごと/Applications/kicadフォルダにコピーする。

> cp bin /Applications/kicad

ライブラリ・モジュール・言語ファイルの取得と配置

ライブラリ関連、言語ファイルは、幾つかの場所に配置すればkiCadが探してロードしてくれる。kicadモジュール本体と別の場所で、全てのログインユーザで使用できる場所だと/Library以下に配置する。あと言語ファイルの配置ディレクトリはマニュアルで指定した場所に配置してもロードされなかった。いろいろ悩んだ挙げ句、下記の場所(share/internat/ja)でロードされることを確認。

/Library/Application\ Support/kicad/library
/Library/Application\ Support/kicad/modules
/Library/Application\ Support/kicad/template
/Library/Application\ Support/kicad/share/internat/ja

アプリケーションをインストールしただけでは、ライブラリがないと使用できない。ライブラリはGitHubのKiCadで管理されている。

ここに回路記号やフットプリント、3D表示用モデルが含まれている。gitでリポジトリごとチェックアウトするか、modules,library,templateフォルダをダウンロードする。

20150116144718

> cd /Library/Application\ Support
> git clone https://github.com/KiCad/kicad-library.git kicad
Cloning into 'kicad'...

GitHubから最新ライブラリへ更新する場合

git cloneコマンドで取得した場合、kicadフォルダ内にクローンリポジトリが作成される。git pullコマンドで更新される。

> cd /Library/Application\ Support/kicad
> git pull

KiCadの言語ファイルの設定

launchpadで管理されている。日本語ファイルはココにある。個別にダウンロードして配置したほうが早いので、curlコマンドで取得した。(リポジトリごとダウンロードすると結構なサイズになる)

> cd /Library/Application\ Support/kicad
> mkdir -p share/internat/ja
> cd share/internat/ja
> curl -O http://bazaar.launchpad.net/~kicad-developers/kicad/doc/download/midpika%40hotmail.com-20110118025030-vs63ctlervrzdqig/kicad.mo-20110118024458-aqu0xi5n1ztv319u-2/kicad.mo
> curl -O http://bazaar.launchpad.net/~kicad-developers/kicad/doc/download/midpika%40hotmail.com-20110118025030-vs63ctlervrzdqig/kicad.po-20110118024458-aqu0xi5n1ztv319u-3/kicad.po

KiCadのローカライズは、Poeditというツールを使用して翻訳することができるようだ。
poedit

KiCadの起動確認と言語設定

まず、kicad.appを選択して、KiCadが起動することを確認する。起動したらPreference-LanguageJapaneseを選択して日本語に切り替える。(全てが日本語に切り替わるわけではない)

20150116143600

回路図エディタで配置-コンポーネントでライブラリ一覧が表示されて、抵抗(R)やコンデンサ(C)が配置できれば、問題なくインストール&設定されていると思われる。

20150116144234

20150116144357