在 Ubuntu 18.04 環境下編譯 OxOOL

建議使用 Destktop 版本做為編譯基礎環境。
  • 先關閉原本安裝的 OxOOL
sudo systemctl stop oxool
sudo systemctl disable oxool
  • 安裝 git 指令
sudo apt install git -y
  • 將 OxOOL 源始碼 Clone 回來
git clone https://github.com/OSSII/oxool-community.git
  • 安裝 Ubuntu 18.04 編譯環境所需的套件
cd oxool-community
./install_build_require_ubuntu.sh
  • 安裝及設定 nvm

執行:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash

執行以下二行指令,第一行:

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"

第二行:

[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

安裝 nvm

nvm install node
  • 編譯及測試執行 OxOOL

切換到 oxool-cummunity 程式的主目錄下,開始編譯程式。

./autogen.sh # 過程中若是提示找不到 fontconfig,請安裝 libfontconfig-dev;若提示缺少 Poco 標頭,則請安裝 libpoco-dev
make -j2

如果成功就會看到以下訊息請您輸入編譯帳號的密碼:

[sudo] password for oxoffice:

輸入後,會繼續編譯直到完成,然後輸入以下指令測試是否能運行成功:

make run

如果看到以下訊息,就代表已經可以成功測試了。

Ready to accept connections on port 9980.
  • 打包 OxOOL deb 套件

我們使用的打包工具 debhelper 會在打包時啟用 fakeroot 環境,所以環境的執行檔會以 root 為主,因此請根據以下的教學將 npm & node 的執行路徑新增至 「/usn/bin」,請先執行以下指令:

whereis npm

會得到類似 /home/oxoffice/.nvm/versions/node/v14.3.0/bin/npm 的結果
請將以下的 /home/oxoffice/.nvm/versions/node/v14.3.0/bin/npm 取代為你自己環境的路徑,指令如下:

sudo ln -s /home/oxoffice/.nvm/versions/node/v14.3.0/bin/* /usr/bin/

接下來請在專案的根目錄執行

debuild -b -uc -us # 若您已先執行過上面的編譯動作,在執行此步驟前請先在您的 oxool-community 目錄執行 git clean -fdx 指令,如此才能正常打包

最後打包的 deb 結果會生成在專案的上層目錄

cd ..
ls oxool_3.x.x-1.community_amd64.deb

套件直接就可以拿來安裝~編譯完成。