Deepin深度操作系统中编译和安装dde-file-manager

目录

一、Deepin环境准备

二、编译源码

1. 从git仓库下载源码

2. 安装第三方库依赖

2.1. 可以直接apt install的库

2.2. 安装Qt

2.3. 安装deepin其他第三方库

3. 编译安装

三、测试运行

参考


Deepin File Manager is a file management tool independently developed by Deepin Technology, featured with searching, copying, trash, compression/decompression, file property and other file management functions.

dde-file-manager是Deepin操作系统自带的文件管理器应用。使用过程中遇到bug,为修改源码提交patch,需要从源码编译并重新安装。

一、Deepin环境准备

使用的是Deepin 20.8 stable版本的虚拟机。从大学镜像站下载iso文件,虚拟机分配4核CPU、4G内存、128G硬盘。安装时选择推荐设置即可。

Deepin自带的文件管理器dde-file-manager

 

二、编译源码

1. 从git仓库下载源码

sudo apt install git
git clone https://github.com/linuxdeepin/dde-file-manager

2. 安装第三方库依赖

2.1. 可以直接apt install的库

按照仓库README的依赖说明,直接安装如下第三方库。

sudo apt install cmake debhelper pkg-config dh-systemd qtbase5-dev qtbase5-private-dev qtmultimedia5-dev libffmpegthumbnailer-dev libqt5svg5-dev libpolkit-agent-1-dev libpolkit-qt5-1-dev libdtkwidget-dev libdtkgui-dev libdtkcore-dev libdtkcore5-bin qttools5-dev-tools dde-dock-dev libdframeworkdbus-dev libtag1-dev libdmr-dev libicu-dev libqt5xdg-dev libgio-qt-dev libssl-dev libgtest-dev libgmock-dev libgsettings-qt-dev liblucene++-dev libdocparser-dev libboost-filesystem-dev libsecret-1-dev libkf5codecs-dev libpoppler-cpp-dev libcryptsetup-dev

此外,有4个无法直接通过apt安装的库,分别是:

  • libdeepin-pdfium-dev
  • libdfm-io-dev
  • libdfm-mount-dev
  • libdfm-burn-dev

这四个库需要从deepin的其他仓库中编译源码获得。

2.2. 安装Qt

从官网取得Qt的linux安装包。这里下载的是5.9.1版本。将.run文件直接复制到虚拟机中,终端运行。按照默认设置安装在/home/deepin/Qt5.9.1目录下。

https://download.qt.io/archive/qt/5.9/5.9.1/qt-opensource-linux-x64-5.9.1.runicon-default.png?t=N2N8https://download.qt.io/archive/qt/5.9/5.9.1/qt-opensource-linux-x64-5.9.1.run在接下来编译其他三方库和软件源码的过程中,会遇到qmake和lrelease程序报错:

qmake: could not find a Qt installation of ‘’

为解决此报错,需要把系统自带的qmake和lrelease软链接到Qt安装目录下的可执行文件上。另外,qmake运行需要g++支持。

which qmake    # /usr/bin/qmake
which lrelease # /usr/bin/lrelease

sudo rm /usr/bin/qmake
sudo ln -s /home/deepin/Qt5.9.1/5.9.1/gcc_64/bin/qmake /usr/bin/qmake

sudo rm /usr/bin/lrelease
sudo ln -s /home/deepin/Qt5.9.1/5.9.1/gcc_64/bin/lrelease/usr/bin/lrelease

sudo apt insall g++

2.3. 安装deepin其他第三方库

在2.1中的4个无法通过apt install安装的第三方库,在deepin源码仓库中分为两个项目,分别是util-dfm和deepin-pdfium。

git clone https://github.com/linuxdeepin/deepin-pdfium.git
git clone https://github.com/linuxdeepin/util-dfm.git

同样进一步安装两个库所需要的第三方依赖库。

# deepin-pdfium
sudo apt install liblcms2-dev libopenjp2-7-dev libchardet-dev

# util-dfm
sudo apt install libudisks2-dev libisoburn-dev libmediainfo-dev

此后,并不需要按照两个库中的README文件按步骤编译,而是直接用dpkg-buildpackage命令构建deb包,使用dpkg -i安装。

# dependencies
sudo apt install fakeroot build-essential

# deepin-pdfium
cd deepin-pdfium
dpkg-buildpackage -us -uc
sudo dpkg -i ../libdeepin-pdfium*.deb    # libdeepin-pdfium-dev

# util-dfm
cd ../util-dfm
dpkg-buildpackage -us -uc
sudo dpkg -i ../libdfm*.deb    # libdfm-io-dev libdfm-mount-dev libdfm-burn-dev

 在上面的编译过程中,会出现如下的报错,提示依赖问题。

编译过程报错

需要在debian/rules文件中,加上如下的两行,方可编译通过:

override_dh_shlibdeps:
	dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info

至此,dde-file-manager的所有三方依赖安装完成,可以开始编译。 

3. 编译安装

按照README文件所述的步骤进行编译安装。

# 检查并安装依赖
sudo apt build-dep ./

# 编译
cmake -B build -DCMAKE_INSTALL_PREFIX=/usr
cmake --build build

# 安装并替换原有应用
sudo cmake --build build --target install

编译过程比较慢。好在如果后续修改单个文件的话,不需要将整个项目重新编译一遍,速度还是可以接受的。

编译过程

 

三、测试运行

在终端唤起dde-file-manager应用。

# 可以使用-h查看支持的参数
dde-file-manager

 从源码构建的dde-file-manager已经可以成功运行。 

 

参考

安装qt qmake assistant 错误:could not find a Qt installation of ''_wangshaobovip的博客-优快云博客

 dpkg-buildpackage制作deb软件包_weixin_34124651的博客-优快云博客

debian packaging - dpkg-shlibdeps: error: no dependency information found for - Stack Overflow

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值