Nautilus源码编译傻瓜式教程一

发布于:2024-12-21 ⋅ 阅读:(195) ⋅ 点赞:(0)

安装flatpak并更改为国内源

安装flatpak

选择你的系统

ubuntu安装flatpak

根据上面的步骤安装

上面的步骤里面有一步执行了如下命令

flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

命令解析:

  • flatpak remote-add:这是用于管理 Flatpak 应用仓库的命令。它允许用户添加、删除、列出和管理 Flatpak 应用仓库。

  • --if-not-exists:这是一个选项(flag),表示如果指定的远程仓库不存在,则添加它。如果已经存在同名的远程仓库,则不会执行任何操作,这样可以避免重复添加相同的仓库。

  • flathub:这是你为远程仓库指定的名称。在 Flatpak 中,远程仓库通常用于存储和分发 Flatpak 应用程序。

  • https://dl.flathub.org/repo/flathub.flatpakrepo:这是远程仓库的 URL 地址,即要添加的远程仓库的位置。在这种情况下,https://dl.flathub.org/repo/flathub.flatpakrepo 是 Flathub 提供的官方仓库地址,用于访问 Flathub 存储的 Flatpak 应用程序。

先安装官方仓库:注意此处命名为:flathub  接下来更改镜像源的时候,以这个名称为准

注意:如果你把官方仓库命名为flathub-1 ,那么接下来更改镜像源时,
也要以flathub-1的名称为准:
flatpak remote-modify flathub-1 --url=https://mirror.sjtu.edu.cn/flathub,
而不是flathub,不然按网上默认的flathub名称去操作,会无法更改镜像源。

更改为国内源

flatpak remotes --show-details  查看源

flatpak remote-modify flathub --url=https://mirror.sjtu.edu.cn/flathub  更换上交大的源

上交大网站

如上表示源切换成功

下载Builder

Builder下载链接

flatpak install flathub org.gnome.Builder

执行上面指令后会出现交互,输入 

你的账号密码

 Y 

你的账号密码

等待下载即可

交大的源不稳定,如果替换了交大的源下不了的花就多试几次替换源,下载

交大的源最大能有500kb左右的速度,下载速度会随着链接的稳定越来越快,耐心等待即可

启动Builder

flatpak run org.gnome.Builder

参照https://welcome.gnome.org/zh-CN/app/Nautilus/#installing-a-nightly-build

下载Nautilus源码

填入项目地址:GNOME / Files · GitLabA file browser for GNOME Report a Bug | Questions & Suggestions | icon-default.png?t=O83Ahttps://gitlab.gnome.org/GNOME/nautilus.git

下载的路径保持默认

下载完后会自动打开项目,并提示你下载依赖资源

这里可查看系在信息跟进度预览

reload可以重新检测你的sdk环境

安装必要环境

sudo apt install fuse3

sudo apt-get install libinih-dev

sudo apt-get install -y build-essential cmake git libz-dev libexpat1-dev

sudo apt install libfuse-dev
 

编译项目

点击小锤子编译

详细编译过程参考下一篇博文

附录:

处理编译报错

错误一

cp: cannot stat '/home/XXXXXX/Projects/.gnome-builder/flatpak-builder/git/https_github.com_Exiv2_exiv2.git': No such file or directory

原因是github链接不稳定

下载 GitCode - 全球开发者的开源社区,开源代码托管平台

到本地

cd .gnome-builder/flatpak-builder/git

git clone git@gitcode.com:gh_mirrors/ex/exiv2.git

并修改配置文件

nautilus/build-aux/flatpak/org.gnome.Nautilus.json

      "name": "exiv2",
      "config-opts": [
        "-DCMAKE_INSTALL_PREFIX=/app",
        "-DCMAKE_INSTALL_LIBDIR=/app/lib"
      ],
      "buildsystem": "cmake-ninja",
      "sources": [
        {
          "type": "dir",
          "path": "/home/lijilei/Projects/.gnome-builder/flatpak-builder/git/exiv2",
          "branch": "0.27-maintenance"
        }

错误二

Could NOT find inih (missing: inih_LIBRARY inih_INCLUDE_DIR inih_inireader_INCLUDE_DIR inih_inireader_LIBRARY)

上面下载的exiv2编译报错

.gnome-builder/flatpak-builder/git/exiv2/cmake/Findinih.cmake

在上述文件中将

set(inih_LIBRARY_NAMES "inih" "libinih")
set(inih_inireader_LIBRARY_NAMES "INIReader" "libINIReader")

find_path(inih_INCLUDE_DIR
  NAMES "ini.h"
  DOC "inih include directory")

find_path(inih_inireader_INCLUDE_DIR
  NAMES "INIReader.h"
  DOC "INIReader include directory")

find_library(inih_LIBRARY
  NAMES ${inih_LIBRARY_NAMES}
  DOC "inih library")

find_library(inih_inireader_LIBRARY
  NAMES ${inih_inireader_LIBRARY_NAMES}
  DOC "inih library")

改为固定路径

set(inih_INCLUDE_DIR "/usr/include/")
set(inih_inireader_INCLUDE_DIR "/usr/include/")
set(inih_LIBRARY "/usr/lib/x86_64-linux-gnu/")
set(inih_inireader_LIBRARY "/usr/lib/x86_64-linux-gnu/")

具体的路径可通过以下命令查找

find /usr -name *libINIReader*

find /usr -name INIReader.h

find /usr -name ini.h

find /usr -name libinih.a

错误三

  [32/89] Building CXX object src/CMakeFiles/exiv2lib_int.dir/nikonmn_int.cpp.o
<command-line>: warning: "_FORTIFY_SOURCE" redefined

.gnome-builder/flatpak-builder/git/exiv2/cmake/compilerFlags.cmake

注释掉add_compile_options(-Wp,-D_FORTIFY_SOURCE=2) # Requires to compile with -O2


网站公告

今日签到

点亮在社区的每一天
去签到