ページ

2026年4月6日月曜日

FreeCADをubuntu24.04でビルド


背景

オープンソースの3D CADプログラムFreeCADをubuntu24.04でビルドする際に手間取ったので、備忘録として対応内容を記事に残します。

deb-srcを設定しつつ関連ライブラリをインストールしてビルドして実行

全体のコマンドを共有後に要所を解説します。
sudo add-apt-repository -y ppa:freecad-maintainers/freecad-daily
sudo sed -i -e 's/Types: deb$/Types: deb deb-src/' /etc/apt/sources.list.d/freecad-maintainers-ubuntu-freecad-daily-noble.sources
sudo apt update
sudo apt build-dep -y freecad-daily

sudo apt install -y cmake cmake-gui libboost-date-time-dev libboost-dev libboost-filesystem-dev libboost-graph-dev libboost-iostreams-dev libboost-program-options-dev libboost-python-dev libboost-regex-dev libboost-serialization-dev libboost-thread-dev libcoin-dev libeigen3-dev libgts-bin libgts-dev libkdtree++-dev libmedc-dev libocct-data-exchange-dev libocct-ocaf-dev libocct-visualization-dev libopencv-dev libproj-dev libpyside2-dev libqt5opengl5-dev libqt5svg5-dev qtwebengine5-dev libqt5x11extras5-dev libqt5xmlpatterns5-dev libshiboken2-dev libspnav-dev libx11-dev libxerces-c-dev libzipios++-dev occt-draw pyside2-tools python3-dev python3-lark python3-matplotlib python3-packaging python3-pivy python3-ply python3-pyside2.qtcore python3-pyside2.qtgui python3-pyside2.qtsvg python3-pyside2.qtwidgets python3-pyside2.qtnetwork python3-pyside2.qtwebengine python3-pyside2.qtwebenginecore python3-pyside2.qtwebenginewidgets python3-pyside2.qtwebchannel python3-markdown python3-git qtbase5-dev qttools5-dev swig libyaml-cpp-dev
sudo apt install -y libharfbuzz-bev

mkdir ~/gitprojects
cd ~/gitprojects/
git clone https://github.com/FreeCAD/FreeCAD.git --depth 1
cd FreeCAD
git submodule update --init

mkdir ~/gitprojects/FreeCAD/build
cd ~/gitprojects/FreeCAD/build
cmake ..
make -j$(nproc --ignore=2)
./bin/FreeCAD

aptのdeb-srcとして関連ライブラリをインストールするために、FreeCADのppaを登録し、deb-srcとしても利用可能に変更(Typesにdeb-srcを追加)し、dev-srcの関連ライブラリをインストールします。
(dev-srcの記述が必要なことがこの記事で最も言いたいことです。ubuntu24.04からこのdeb-src追加が必要になったようです。参考: Ubuntu 24.04 getting error You must put some 'deb-src' URIs in your sources.list when issuing apt-get build-dep
ppaのurlは  Installing on Linux で確認できます。
今回はdaily版のurlを利用しました。
sudo add-apt-repository ppa:freecad-maintainers/freecad-daily
sudo sed -i -e 's/Types: deb$/Types: deb deb-src/' /etc/apt/sources.list.d/freecad-maintainers-ubuntu-freecad-daily-noble.sources
sudo apt update
sudo apt build-dep -y freecad-daily

sources.listのファイルにdeb-srcを追加しないと、add-apt-repositoryを実施しても下記のエラーがapt dev-srcコマンド実行時に表示されます。
E: You must put some 'deb-src' URIs in your sources.list


dev-srcでは取得対象にならないライブラリをインストールします。
これは Compile on Linux の Debian and Ubuntu の Single command for Python 3 and Qt5 で示されています。
sudo sed -i -e 's/Types: deb$/Types: deb deb-src/' /etc/apt/sources.list.d/freecad-maintainers-ubuntu-freecad-daily-noble.sources

ubuntu24.04では下記のライブラリがインストール出来なかったので、それらは除外しました。
E: パッケージ 'libvtk7-dev' にはインストール候補がありません
E: パッケージ python3-pyside2uic が見つかりません


無いとcmakeがエラーになるライブラリをインストールします。
sudo apt install -y libharfbuzz-bev

上記のライブラリをインストールしていないと下記のエラーが出ますが、エラーで検索するとFreeCADの問題報告が出てきて上記のコマンドで解決すると分かりました。
CMake Error at cMake/FreeCAD_Helpers/SetupFreeType.cmake:24 (message):
HarfBuzz not found
Call Stack (most recent call first):
CMakeLists.txt:128 (SetupFreetype)

FreeCADのソースコードをgitでcloneします。
pull requestを出す予定ならsshのurlでdepthコマンド無しでcloneしておく方が管理が楽ですが、今回はビルド例を示すだけなのでhttpsのurlでdepth 1(最新コミットだけ取得)でcloneしています。
mkdir ~/gitprojects
cd ~/gitprojects/
git clone https://github.com/FreeCAD/FreeCAD.git --depth 1
cd FreeCAD
git submodule update --init

ソースコードをcloneでPCに配置できたら、cmakeとmakeを実施します。
cmakeが失敗したら、エラーの内容を読んで不足するライブラリをインストールしてください。
makeは自分の環境だと1時間ほどかかりました。
mkdir ~/gitprojects/FreeCAD/build
cd ~/gitprojects/FreeCAD/build
cmake ..
make -j$(nproc --ignore=2)

ビルドしたFreeCADを実行します。
cd ~/gitprojects/FreeCAD/build
./bin/FreeCAD

開発版FreeCADを起動できました。


おわり

ubuntu24..04のppaの設定にdev-srcの記述が必要だったり、一部の必要なライブラリがwikiに記述されていなくて手間取りましたが、FreeCADをビルドして実行できました。

参考

buntu 24.04 getting error You must put some 'deb-src' URIs in your sources.list when issuing apt-get build-dep
Compile on Linux
Installing on Linux

0 件のコメント :

コメントを投稿