前準備
OSインストール直後はディスク容量に空きが少ない場合、gpartedをインストールして、パーテション拡張しておく。
sudo apt install gparted
swapファイル確認。
swapon --show
100MBなので、拡大
swap停止
sudo dphys-swapfile swapoff
設定ファイル変更
sudo nano /etc/dphys-swapfile
例
CONF_SWAPSIZE=100
100=100MB なので、数値を変更
めんどいので、2000に設定
swapファイルを再作成
sudo dphys-swapfile setup
作成したswap機能を有効化
sudo dphys-swapfile swapon
再起動
sudo reboot
確認
sudo swapon --show
必要なパッケージのインストール
2024/06/11 重複パッケージ整理修正
sudo apt update
sudo apt -y upgrade
sudo apt install -y autoconf automake autopoint autotools-dev \
build-essential cmake cmake-doc cpp curl default-jre default-libmysqlclient-dev \
flatbuffers-compiler flatbuffers-compiler-dev g++ gawk gcc gdc generate-ninja \
gettext gperf libaacs0 libasound2-dev libass-dev libavahi-client-dev \
libavahi-common-dev libbluetooth-dev libbluray-dev libboost-python1.81.0 \
libboost-python1.81-dev libbz2-dev libcdio++-dev libcdio-dev libcec-dev \
libcrossguid-dev libcurl4-gnutls-dev libcurl4-openssl-dev libcwiid-dev libdbus-1-dev \
libdisplay-info1 libdisplay-info-bin libdisplay-info-dev libdrm-dev libegl1-mesa-dev \
libenca-dev libffi-dev libflac-dev libfmt-dev libfontconfig-dev libfreetype6-dev \
libfribidi-dev libfstrcmp-dev libgcrypt-dev libgif-dev libgles2-mesa-dev libglew-dev \
libglu1-mesa-dev libgnutls28-dev libgpg-error-dev libgtest-dev libiso9660-dev \
libjpeg-dev liblcms2-dev liblirc-dev libltdl-dev liblzo2-dev libmicrohttpd-dev \
libncurses5-dev libnfs-dev libogg-dev libomxil-bellagio-dev libp8-platform-dev \
libpcre3-dev libplist-dev libpng-dev libpugixml1v5 libpugixml-dev libpulse-dev \
libreadline-dev libshairplay-dev libsmbclient-dev libspdlog-dev libsqlite3-dev \
libssl-dev libtag1-dev libtiff5-dev libtinyxml2-dev libtinyxml-dev libtool libudev-dev \
libunistring-dev libva-dev libvdpau-dev libvorbis-dev libwayland-egl1-mesa \
libxkbcommon-dev libxmu-dev libxrandr-dev libxslt1-dev libxt-dev lsb-release make \
mesa-utils mesa-utils-bin meson nasm ninja-build pkg-config pugixml-doc \
python3-bluez python3-dev python3-gattlib python3-minimal python3-pil \
python3-simplejson rapidjson-dev scons software-properties-common swig unzip \
uuid-dev waylandpp-dev wayland-protocols wipe yasm zip zlib1g zlib1g-dev
ホームディレクトリを起点にする。
cd $HOME
gitから、必要なファイル取得(ホームディレクトリ配下にkodiフォルダを作成してgit cloneしている。)
git clone -b Omega https://github.com/xbmc/xbmc kodi
*Omegaの部分を変更すると、異なるバージョンをビルド可能。
ビルド前にMakefileファイルの修正が必要。
各内容の
BASE_URL := http://mirrors.kodi・・・
を
BASE_URL := https://mirrors.kodi・・・
httpをhttpsにするだけ。
一応.orgでバックアップ作成
cp kodi/tools/depends/target/crossguid/Makefile kodi/tools/depends/target/crossguid/Makefile.org
cp kodi/tools/depends/target/flatbuffers/Makefile kodi/tools/depends/target/flatbuffers/Makefile.org
cp kodi/tools/depends/target/fmt/Makefile kodi/tools/depends/target/fmt/Makefile.org
cp kodi/tools/depends/target/spdlog/Makefile kodi/tools/depends/target/spdlog/Makefile.org
cp kodi/tools/depends/target/wayland-protocols/Makefile kodi/tools/depends/target/wayland-protocols/Makefile.org
cp kodi/tools/depends/target/waylandpp/Makefile kodi/tools/depends/target/waylandpp/Makefile.org
httpをhttpsに置き換え
sudo sed -i -e s/http:/https:/g kodi/tools/depends/target/crossguid/Makefile
sudo sed -i -e s/http:/https:/g kodi/tools/depends/target/flatbuffers/Makefile
sudo sed -i -e s/http:/https:/g kodi/tools/depends/target/fmt/Makefile
sudo sed -i -e s/http:/https:/g kodi/tools/depends/target/spdlog/Makefile
sudo sed -i -e s/http:/https:/g kodi/tools/depends/target/wayland-protocols/Makefile
sudo sed -i -e s/http:i/https:/g kodi/tools/depends/target/waylandpp/Makefile
作業用ディレクトリに移動し各ブロック毎のビルドを実行。
cd $HOME/kodi
sudo make -C tools/depends/target/crossguid PREFIX=/usr/local
sudo make -C tools/depends/target/flatbuffers PREFIX=/usr/local
sudo make -C tools/depends/target/fmt PREFIX=/usr/local
sudo make -C tools/depends/target/spdlog PREFIX=/usr/local
sudo make -C tools/depends/target/wayland-protocols PREFIX=/usr/local
sudo make -C tools/depends/target/waylandpp PREFIX=/usr/local
ホームディレクトリ配下に本体ビルド用ディレクトリ作成し、x11用のビルドコンフィグ作成。
mkdir $HOME/kodi-build
cd $HOME/kodi-build
cmake ../kodi -DCMAKE_INSTALL_PREFIX=/usr/local -DCORE_PLATFORM_NAME=x11 -DAPP_RENDER_SYSTEM=gl
ビルド実行
cmake --build . -- VERBOSE=1 -j$(getconf _NPROCESSORS_ONLN)
完了後
./kodi-x11
で実行できるが、RDPリモートデスクトップでは正常に表示できないVNCは正常なのでリモートでプレイリストの編集が可能になった。
sudo make install
で通常の様に、インストール。
GUIメニューに表示されない場合、通常の apt install kodi でリポジトリのkodiをインストール後に sudo make install を実行すればメニューから実行可能なので現在の音楽再生環境のkodiサーバとの置き換えが可能なはず。
次は別システムでもインストール可能なdebパッケージを作成したい。
gitで、debを検索。
git clone --branch 21.0-Omega https://github.com/xbmc/xbmc.git
mkdir kodi-build
cd kodi-build
cmake ../xbmc-21.0-Omega/ -DVERBOSE=1 -DUSE_LTO=4 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/kodi -DENABLE_AIRTUNES=ON -DENABLE_ALSA=ON -DENABLE_AVAHI=ON -DENABLE_DBUS=ON -DENABLE_EGL=ON -DENABLE_EVENTCLIENTS=ON -DENABLE_INTERNAL_DAV1D=ON -DENABLE_INTERNAL_FFMPEG=ON -DENABLE_INTERNAL_CROSSGUID=OFF -DENABLE_INTERNAL_RapidJSON=OFF -DENABLE_MICROHTTPD=ON -DENABLE_MYSQLCLIENT=ON -DENABLE_NFS=ON -DENABLE_PULSEAUDIO=ON -DENABLE_SMBCLIENT=ON -DENABLE_UDEV=ON -DENABLE_UPNP=ON -DENABLE_VAAPI=ON -DENABLE_VDPAU=ON -DENABLE_XSLT=ON -DENABLE_LIRCCLIENT=ON -DAPP_RENDER_SYSTEM=gl -DCPACK_GENERATOR=DEB
らしいので、これで可能かと思ったがNG
cmake ../kodi -DVERBOSE=1 -DUSE_LTO=4 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/opt/kodi -DENABLE_AIRTUNES=ON -DENABLE_ALSA=ON -DENABLE_AVAHI=ON -DENABLE_DBUS=ON -DENABLE_EGL=ON -DENABLE_EVENTCLIENTS=ON -DENABLE_INTERNAL_DAV1D=ON -DENABLE_INTERNAL_FFMPEG=ON -DENABLE_INTERNAL_CROSSGUID=OFF -DENABLE_INTERNAL_RapidJSON=OFF -DENABLE_MICROHTTPD=ON -DENABLE_MYSQLCLIENT=ON -DENABLE_NFS=ON -DENABLE_PULSEAUDIO=ON -DENABLE_SMBCLIENT=ON -DENABLE_UDEV=ON -DENABLE_UPNP=ON -DENABLE_VAAPI=ON -DENABLE_VDPAU=ON -DENABLE_XSLT=ON -DENABLE_LIRCCLIENT=ON -DAPP_RENDER_SYSTEM=gl -DCPACK_GENERATOR=DEB
2024/06/05 追記
ビルドでエラーが発生するようになった。
バックアップしていたソースで実施、OKならソース改変による問題(エラーメッセージから、レトロプレイヤー関連)と思われるので確認作業実施。
結果NG、同じと思われるエラーで停止なのでどこかの手順かインストールしたパッケージの問題?