Debian LinuxにKiCad v6以降をソースコードビルド・インストールしてみる


※ 当ページには【広告/PR】を含む場合があります。
2022/10/03
2024/03/22
【KiCad応用講座】PCB切削で平面コイルが動くか試してみる① CADファイルの準備
蛸壺の中の工作室|Debian LinuxにKiCad v6以降をソースコードビルド・インストールしてみる

近年のKiCadは年に一回程度のハイペースでメジャーバージョンが上がるようになり、かなり活発的に開発が進むような状況になりました。

また、様々なOSへのインストールのサポート強化を進めており、さほど気にはせずとも比較的最新のバージョンのバイナリを各Linuxデストロの環境に簡単にインストールできるようになりました。

Download - KiCad

現状、KiCadv8が正式にリリースされました。

かつては最新のstable版はGitlabからの「ソースコードビルド」をする方法は一般的でしたが、徐々にその導入の選択肢も増えてきているように感じます。

この記事では以下の方法で、DebianOSへのKiCadのインストール手順を簡単に取り上げてみます。

            1. FlatPakからインストール
2. ソースコードビルドによるインストール
        
なお、公式のサイトでも注記事項として記述されているように、

            KiCadでは、メジャーバージョンが繰り上がるたびに、後方互換の避けるようにファイルフォーマットが改定されます。
つまり、KiCad 7系で作成したプロジェクトを、KiCad 6系にダウンコンバートすることが不可能になります。
        
なので注意が必要なのは、一度KiCadのバージョンを上げて、設計ファイルを編集&保存してしまうと、それ以降は古いメジャーバージョンのKiCadではプロジェクトなるごと立ち上げることができなくなってしまいます。

開発チームでプロジェクト共有する際には、KiCadを計画的に関係者全員のバージョンアップを検討されたほうが良いでしょう。


KiCadではじめる「プリント基板」製作 (I・O BOOKS)

IoTセンサーを自作しよう!KiCadで回路基板からDIY!ESP32プログラミング

古いKiCadのアンインストール

過去に古いKiCadをパッケージインストールしていた場合、開発環境に混在していると紛らわしいので、古いライブラリ群もまとめて一旦クリーンにしておきましょう。

Debainの場合、過去にパッケージインストールしていた場合には、コンソールから削除することができます。

例えば以下は、古いDebian LinuxでKiCad v5をパッケージインストールしていた場合です。

            $ sudo apt remove KiCad
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
  KiCad-demos KiCad-footprints KiCad-libraries KiCad-symbols KiCad-templates
  libcapi20-3 libfaudio0 libfreeimage3 libglew2.1 libngspice0
  libocct-data-exchange-7.5 libocct-foundation-7.5
  libocct-modeling-algorithms-7.5 libocct-modeling-data-7.5 libocct-ocaf-7.5
  libocct-visualization-7.5 libstb0 libtbb2 libwine
  linux-image-4.19.0-20-amd64 python3-wxgtk4.0 sse3-support wine64 xsltproc
これを削除するには 'sudo apt autoremove' を利用してください。
以下のパッケージは「削除」されます:
  KiCad
アップグレード: 0 個、新規インストール: 0 個、削除: 1 個、保留: 1 個。
この操作後に 101 MB のディスク容量が解放されます。
続行しますか? [Y/n] Y
(データベースを読み込んでいます ... 現在 202941 個のファイルとディレクトリがインストールされています。)
KiCad (5.1.9+dfsg1-1+deb11u1) を削除しています ...
hicolor-icon-theme (0.17-2) のトリガを処理しています ...
libc-bin (2.31-13+deb11u4) のトリガを処理しています ...
man-db (2.9.4-2) のトリガを処理しています ...
shared-mime-info (2.0-1) のトリガを処理しています ...
mailcap (3.69) のトリガを処理しています ...
desktop-file-utils (0.26-1) のトリガを処理しています ...

$ sudo apt autoremove
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています... 完了        
状態情報を読み取っています... 完了        
以下のパッケージは「削除」されます:
  KiCad-demos KiCad-footprints KiCad-libraries KiCad-symbols KiCad-templates
  libcapi20-3 libfaudio0 libfreeimage3 libglew2.1 libngspice0
  libocct-data-exchange-7.5 libocct-foundation-7.5
  libocct-modeling-algorithms-7.5 libocct-modeling-data-7.5 libocct-ocaf-7.5
  libocct-visualization-7.5 libstb0 libtbb2 libwine
  linux-image-4.19.0-20-amd64 python3-wxgtk4.0 sse3-support wine64 xsltproc
アップグレード: 0 個、新規インストール: 0 個、削除: 24 個、保留: 1 個。
この操作後に 757 MB のディスク容量が解放されます。
続行しますか? [Y/n] Y
(データベースを読み込んでいます ... 現在 202745 個のファイルとディレクトリがイン
ストールされています。)
KiCad-demos (5.1.9+dfsg1-1+deb11u1) を削除しています ...
KiCad-libraries (5.1.9+dfsg1-1+deb11u1) を削除しています ...
KiCad-footprints (5.1.7-1) を削除しています ...
KiCad-symbols (5.1.9-1) を削除しています ...
KiCad-templates (5.1.7-1) を削除しています ...
libcapi20-3:amd64 (1:3.27-3+b1) を削除しています ...
wine64 (5.0.3-3) を削除しています ...
libwine:amd64 (5.0.3-3) を削除しています ...
libfaudio0:amd64 (21.02-1) を削除しています ...
libocct-data-exchange-7.5:amd64 (7.5.1+dfsg1-2) を削除しています ...
libocct-ocaf-7.5:amd64 (7.5.1+dfsg1-2) を削除しています ...
libocct-visualization-7.5:amd64 (7.5.1+dfsg1-2) を削除しています ...
libfreeimage3:amd64 (3.18.0+ds2-6) を削除しています ...
libglew2.1:amd64 (2.1.0-4+b1) を削除しています ...
libngspice0:amd64 (34+ds-1) を削除しています ...
libocct-modeling-algorithms-7.5:amd64 (7.5.1+dfsg1-2) を削除しています ...
libocct-modeling-data-7.5:amd64 (7.5.1+dfsg1-2) を削除しています ...
libocct-foundation-7.5:amd64 (7.5.1+dfsg1-2) を削除しています ...
libstb0:amd64 (0.0~git20200713.b42009b+ds-1) を削除しています ...
libtbb2:amd64 (2020.3-1) を削除しています ...
linux-image-4.19.0-20-amd64 (4.19.235-1) を削除しています ...
/etc/kernel/prerm.d/dkms:
dkms: removing: aufs 4.19+20190211 (4.19.0-20-amd64) (x86_64)
#...省略
        
KiCadをアンインストールすると、付随する様々なライブラリも一緒に削除してくれます。

KiCad v6以降のソースコードビルドには比較的新しいライブラリが多数利用されていますので、KiCadをアップグレードする前に依存性のあるライブラリを最新のものにしておいたほうが良いでしょう。


KiCadではじめる「プリント基板」製作 (I・O BOOKS)

IoTセンサーを自作しよう!KiCadで回路基板からDIY!ESP32プログラミング

FlatPakからKiCadをインストールする

手始めに『flatpak』を使ってKiCadを簡単導入する方法から紹介します。

もしまだFlatPakを導入していない場合には、以下の簡易ガイドに従い、DebianにFlatPakをインストールするところから始めてみましょう。

Debian Quick Setup - FlatPak

なお著者のデスクトップ環境は
XFCEで試しています。

かなり古いDebianでは、
GnomeKDEしか選択できない状況でもありました。そのような古いOSでも、KiCadを導入したい場合には、公式に説明してあるプラグインをflatpakに導入してあげると動かせるようです。

最近のDebianではプラグインを噛ます必要もなく、以下のコマンドだけで導入も一発OKです。

            $ sudo apt install flatpak
$ flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
        
flatpakが使えるようになったら、KiCadをインストールしてみましょう。

            $ flatpak install --from https://flathub.org/repo/appstream/org.kicad.KiCad.flatpakref
        
こちらもインストールにはライブラリを含めて2GB程度の容量を必要としますので、ストレージには十分な空きがあるかを確認しましょう。

KiCadのインストールが完了したらなら、早速アプリを起動してみましょう。

flatpakからインストールしたものは、基本的にflatpakコマンドから登録されたアプリケーションIDで呼び出す方式になります。

            $ flatpak list --app
Name                Application ID        Version       Branch       Installation
KiCadの開発者       org.kicad.KiCad       8.0.1         stable       system

$ flatpak run org.kicad.KiCad
Note that the directories

'/var/lib/flatpak/exports/share'
'/home/**********/.local/share/flatpak/exports/share'

are not in the search path set by the XDG_DATA_DIRS environment variable, so
applications installed by Flatpak may not appear on your desktop until the
session is restarted.
        
flatpak越しに、KiCad ver.8がきちんと立ち上がることが確認できます。

合同会社タコスキングダム|蛸壺の中の工作室


KiCadではじめる「プリント基板」製作 (I・O BOOKS)

IoTセンサーを自作しよう!KiCadで回路基板からDIY!ESP32プログラミング

KiCadのソースコードインストールする

※こちらはKiCad ver.6がstable当時のソースコードビルドの内容で説明しています。

ソースコードからインストールするメリットは、基本的にアプリケーションのソースコードビルドが上手く行けば、確実に実行できる点にあります。

ただし、デメリットとして、ビルドに必要な補助ライブラリを大量にインストールするという準備の手間が多少煩雑なのと、KiCadの場合にはビルドに必要なライブラリのサイズが15GBほどの容量になるので、貧弱なマシーンならストレージを割と圧迫します。

では、古いKiCadとそのライブラリ群を削除できたことを確認してから、ソースコードから最新のKiCadをビルド&インストールしてみましょう。

手順としては、公式の手順に沿って作業を進めていきます。

KiCad - Getting Started

ビルド手順としては、以下に説明があります。

KiCad - source code build Linux

こちらに記述してある通り、ビルドする際に依存するソフトウェア類は結構多いです。

個別のソフトウェアのインストール方法は省きますが、ビルドに失敗するようならばその都度不足しているソフトウェア・ライブラリを継ぎ足してください。

例えば、
Debian OSでのDependenciesに従うと、

            $ sudo apt install cmake debhelper doxygen \
    libbz2-dev libcairo2-dev libglu1-mesa-dev \
    libgl1-mesa-dev libglew-dev libx11-dev libwxbase3.0-dev \
    libwxgtk3.0-gtk3-dev mesa-common-dev pkg-config \
    libssl-dev build-essential cmake-curses-gui grep \
    python3-dev swig4.0 dblatex po4a asciidoc \
    python3-wxgtk4.0 source-highlight libboost-all-dev
    libglm-dev libcurl4-openssl-dev libgtk-3-dev
    libngspice0-dev ngspice-dev \
    libocct-modeling-algorithms-dev libocct-modeling-algorithms-7.5 \
    libocct-modeling-data-dev libocct-modeling-data-7.5 \
    libocct-data-exchange-dev libocct-data-exchange-7.5 \
    libocct-visualization-dev libocct-visualization-7.5 \
    libocct-foundation-dev libocct-foundation-7.5 \
    libocct-ocaf-dev libocct-ocaf-7.5 unixodbc-dev \
    zlib1g-dev shared-mime-info
        
ライブラリを入れるだけでもディスクにそれなりの空き領域(〜15GB程度)が必要です。

次にKiCadのプロジェクトからソースコード全体をダウンロードし、ソースコードビルドを開始します。

こちらもディスク容量に空きが足りないと、ビルドが途中でコケます。

            $ git clone https://gitlab.com/KiCad/code/KiCad.git
Cloning into 'KiCad'...
remote: Enumerating objects: 370838, done.
remote: Counting objects: 100% (2859/2859), done.
remote: Compressing objects: 100% (1038/1038), done.
remote: Total 370838 (delta 1879), reused 2747 (delta 1819), pack-reused 367979
Receiving objects: 100% (370838/370838), 740.42 MiB | 4.91 MiB/s, done.
Resolving deltas: 100% (302429/302429), done.
Updating files: 100% (9599/9599), done.

$ cd KiCad/
$ mkdir -p build/release
$ cd build/release/
$ cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ../../
-- KiCad install dir: </usr/local>
-- Enabling warning -Wsuggest-override
#...中略
-- Generating done
-- Build files have been written to: /home/****/KiCad/build/release

$ make
#...makeにはPCスペックによっては完了まで1時間以上の処理時間を要します
#...中略
[100%] Linking CXX executable ibis_proto
[100%] Built target ibis_proto

$ sudo make install
[  1%] Built target metadata
[  1%] Creating image archive /home/*********/KiCad/build/release/resources/images.tar.gz
#...中略
-- Installing: /usr/local/share/KiCad/demos/video/video.KiCad_sch
-- Installing: /usr/local/share/KiCad/demos/video/video.KiCad_pcb
-- Installing: /usr/local/share/KiCad/demos/video/video.KiCad_pro

#☆重要な仕上げ処理
$ sudo ldconfig
        
これでソースコードビルドが完了です。

なお、ここで公式の手順に書いてないですが、
make install直後は、追加した共有ライブラリが読み込まれていないので、ldfonfigを実行して変更をキャッシュから読み出す必要があります。


KiCadではじめる「プリント基板」製作 (I・O BOOKS)

IoTセンサーを自作しよう!KiCadで回路基板からDIY!ESP32プログラミング

KiCadの起動と動作確認

※こちらはKiCad ver.6がstable当時の動作確認状況になります。

先程ソースコードビルド&インストールしたKiCadを簡単に立ち上げてみます。

コンソールからの場合、

            $ KiCad
        
として呼び出すか、スタートメニューからも呼び出すことも可能です。

合同会社タコスキングダム|蛸壺の中の工作室

初回の立ち上げでは、以前のバージョンのKiCadの設定ファイルが残っていればそれも読み込んで反映させることができます。

合同会社タコスキングダム|蛸壺の中の工作室

プラグインのアップデートも立ち上げ時に自動か、手動で行うかを最初にチェックします。

合同会社タコスキングダム|蛸壺の中の工作室

KiCadが立ち上がると、v5以前のバージョンと比べても、より洗練されたデザインのグラフィカルUIが表示されます。

合同会社タコスキングダム|蛸壺の中の工作室

執筆中の現在のベータ版の最新バージョンはv6.99で、「About KiCad」のページでリリースビルドの詳細が確認できます。

合同会社タコスキングダム|蛸壺の中の工作室

これで最新のKiCad v6のモダンなPCB基板設計の環境が無事インストールすることができました。

ビルド後に不要になったリソースフォルダの削除

KiCadをインストール後に、ソースコードビルドに利用済みの作業フォルダの容量をみると、

            $ du -s ./*
12225332 ./KiCad
        
と、おおよそ12GB以上もディスクサイズを圧迫しています...。

よほど再利用の理由がなければ残しておく必要はないと思いますので、フォルダごと削除しておくと良いと思います。

            $ rm -rf KiCad
        

記事を書いた人

記事の担当:taconocat

ナンデモ系エンジニア

電子工作を身近に知っていただけるように、材料調達からDIYのハウツーまで気になったところをできるだけ細かく記事にしてブログ配信してます。