如何满足“libadwaita-1”构建依赖关系(在 gnome/meson 中)?

lin*_*des 5 gnome dependencies compiling

简而言之,问题是:

\n

如何libadwaita-1meson已构建的项目安装依赖项?

\n

(具体来说gnome-calculator,如果这很重要的话。)

\n

背景:

\n

我有兴趣对Gnome 计算器应用程序进行一些小调整,主要是为了我自己的娱乐(我想将 \xcf\x80 按钮更改为按钮,因为pi 是错误的;)),所以下载了源代码并尝试构建它,希望随后做出改变。

\n

它似乎期望用它来构建meson(我以前不熟悉它),所以......我试图让它用它来构建,这样我就可以进行调整并从那里开始。

\n

系统信息

\n

我正在 Ubuntu budgie 上做这个...

\n
: $; lsb_release -a\nNo LSB modules are available.\nDistributor ID: Ubuntu\nDescription:    Ubuntu 21.10\nRelease:        21.10\nCodename:       impish\n
Run Code Online (Sandbox Code Playgroud)\n

到目前为止我尝试过的

\n
    \n
  • git clone https://gitlab.gnome.org/GNOME/gnome-calculator.git(通过 HEAD 处的提交获得214649c

    \n
  • \n
  • cd gnome-calculator

    \n
  • \n
  • (查看自述文件,浏览各种内容,发现我可能想要meson,对此进行了一些阅读......)

    \n
  • \n
  • sudo apt install meson

    \n
  • \n
  • meson build

    \n
  • \n
  • 然后我继续发现各种未满足的依赖关系,我能够弄清楚如何解决......sudo apt install对每个依赖项进行操作:

    \n
      \n
    • valac
    • \n
    • cmake
    • \n
    • libxml2-dev
    • \n
    • libsoup-gnome2.4-dev
    • \n
    • libgee-0.8-dev
    • \n
    • libmpc-dev
    • \n
    • libgtk-4-dev(旁注:这安装了 4.4.0,我编辑meson.build将要求从 4.4.1 更改为...我认为这可能会产生其他问题,但如果/当我到达它们时我会弄清楚.)
    • \n
    \n
  • \n
  • 但最后,我得到了一个......我想我也许可以用 来解决sudo apt install libadwaitaqt-dev,但这并没有解决问题:

    \n
  • \n
\n

我得到的(精简版):

\n
: $; meson build\nThe Meson build system\nVersion: 0.56.2\nSource dir: /home/lindes/src/gits/gnome/gnome-calculator\nBuild dir: /home/lindes/src/gits/gnome/gnome-calculator/build\nBuild type: native build\nProject name: gnome-calculator\nProject version: 41.0\n[... a bunch of found dependencies elided; see below for full list ...]\nFound CMake: /usr/bin/cmake (3.18.4)\nRun-time dependency libadwaita-1 found: NO (tried pkgconfig and cmake)\n\nmeson.build:85:0: ERROR: Dependency "libadwaita-1" not found, tried pkgconfig and cmake\n
Run Code Online (Sandbox Code Playgroud)\n

问题:

\n

所以,简而言之,我想知道如何解决以下依赖关系:

\n

Run-time dependency libadwaita-1 found: NO

\n

我再次尝试sudo apt install安装libadwaitaqt-dev,安装成功,但没有解决构建依赖关系。我也尝试libadwaitaqt1过并且adwaita-qt.

\n

更具体地说,这是我安装的内容,但仍然失败:

\n
: $; dpkg-query -l \'*adwaita*\'\nDesired=Unknown/Install/Remove/Purge/Hold\n| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend\n|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)\n||/ Name                    Version         Architecture Description\n+++-=======================-===============-============-==========================================================\nii  adwaita-icon-theme      40.1.1-1ubuntu1 all          default icon theme of GNOME (small subset)\nun  adwaita-icon-theme-full <none>          <none>       (no description available)\nii  adwaita-qt:amd64        1.4.0-2         amd64        Qt 5 port of GNOME\xe2\x80\x99s Adwaita theme\nii  libadwaitaqt-dev:amd64  1.4.0-2         amd64        Qt 5 port of GNOME\xe2\x80\x99s Adwaita theme \xe2\x80\x94 development files\nii  libadwaitaqt1:amd64     1.4.0-2         amd64        Qt 5 port of GNOME\xe2\x80\x99s Adwaita theme \xe2\x80\x94 public library\nii  libadwaitaqtpriv1:amd64 1.4.0-2         amd64        Qt 5 port of GNOME\xe2\x80\x99s Adwaita theme \xe2\x80\x94 private library\n
Run Code Online (Sandbox Code Playgroud)\n

在此背景下重申的问题是:

\n

我如何安装它和/或更正依赖性检查以使用我所拥有的?

\n

关于该问题的进一步说明:

\n
    \n
  1. 我强烈希望通过某种包管理来安装依赖项,尽管我接下来可能会尝试从源代码构建 adwaita,看看是否可以正常工作。我的希望是只需要从头开始构建 gnome-calculator 本身。

    \n
  2. \n
  3. 另外:我的meson build命令行有什么问题吗?再说一次,我对介子很陌生,所以这方面的提示也很受欢迎,尽管我确实尝试了一些选项,而且如果它们做了任何看起来有用的事情,它们似乎都会产生相同的结果。

    \n
  4. \n
\n

我得到的(完整版):

\n
: $; meson build\nThe Meson build system\nVersion: 0.56.2\nSource dir: /home/lindes/src/gits/gnome/gnome-calculator\nBuild dir: /home/lindes/src/gits/gnome/gnome-calculator/build\nBuild type: native build\nProject name: gnome-calculator\nProject version: 41.0\nC compiler for the host machine: cc (gcc 11.2.0 "gcc (Ubuntu 11.2.0-7ubuntu2) 11.2.0")\nC linker for the host machine: cc ld.bfd 2.37\nVala compiler for the host machine: valac (valac 0.52.6)\nHost machine cpu family: x86_64\nHost machine cpu: x86_64\nFound pkg-config: /usr/bin/pkg-config (0.29.2)\nRun-time dependency gio-2.0 found: YES 2.68.4\nRun-time dependency glib-2.0 found: YES 2.68.4\nRun-time dependency gmodule-export-2.0 found: YES 2.68.4\nRun-time dependency gobject-2.0 found: YES 2.68.4\nRun-time dependency libxml-2.0 found: YES 2.9.12\nRun-time dependency libsoup-2.4 found: YES 2.72.0\nRun-time dependency gee-0.8 found: YES 0.20.4\nLibrary m found: YES\nLibrary mpc found: YES\nLibrary mpc found: YES\nLibrary mpfr found: YES\nLibrary mpfr found: YES\nLibrary posix found: YES\nConfiguring config.h using configuration\nProgram meson_post_install.py found: YES (/home/lindes/src/gits/gnome/gnome-calculator/meson_post_install.py)\nConfiguring gcalc-2.pc using configuration\nConfiguring gcalc-2.deps using configuration\nConfiguring namespace-info.vala using configuration\nConfiguring config.h using configuration\nProgram g-ir-compiler found: YES (/usr/bin/g-ir-compiler)\nRun-time dependency gtk4 found: YES 4.4.0\nFound CMake: /usr/bin/cmake (3.18.4)\nRun-time dependency libadwaita-1 found: NO (tried pkgconfig and cmake)\n\nmeson.build:85:0: ERROR: Dependency "libadwaita-1" not found, tried pkgconfig and cmake\n\nA full log can be found at /home/lindes/src/gits/gnome/gnome-calculator/build/meson-logs/meson-log.txt\n
Run Code Online (Sandbox Code Playgroud)\n

N0r*_*ert 6

你正试图让 Ubuntu 充当 Gentoo、LFS 或 ArchLinux。所以你做错了步骤。

要构建/重建/修补,gnome-calculator您必须获取Ubuntu 21.10 版本的 deb-package源代码。首先从软件和更新 ( software-properties-gtk) 启用源代码存储库,然后执行以下命令:

sudo apt-get install build-essential dpkg-dev devscripts
sudo apt-get build-dep gnome-calculator

cd ~/Downloads
apt-get source gnome-calculator
cd gnome-calculator-40.1/
# do some patching/coding here
dpkg-buildpackage -uc -us

sudo apt-get install ../gnome-calculator_40.1-1ubuntu2_amd64.deb
Run Code Online (Sandbox Code Playgroud)

如果您确定编译最新的非 Ubuntu gnome-calculator 版本 - 那么您必须libadwaita-1首先通过以下方式从即将推出的 22.04 LTS 构建软件包:

sudo apt-get install debhelper-compat dh-sequence-gir libgirepository1.0-dev libgnome-desktop-3-dev libgtk-4-dev meson sassc valac xvfb

cd ~/Downloads
wget http://archive.ubuntu.com/ubuntu/pool/universe/liba/libadwaita-1/libadwaita-1_1.0.0~alpha.2.orig.tar.gz
cd libadwaita-1-1.0.0~alpha.2/
wget http://archive.ubuntu.com/ubuntu/pool/universe/liba/libadwaita-1/libadwaita-1_1.0.0~alpha.2-1.debian.tar.xz
tar -xf libadwaita-1_1.0.0~alpha.2-1.debian.tar.xz
rm libadwaita-1_1.0.0~alpha.2-1.debian.tar.xz

export DEB_BUILD_OPTIONS=nocheck
dpkg-buildpackage -uc -us
sudo apt-get install ../*adw*.deb
Run Code Online (Sandbox Code Playgroud)

然后继续编译丢失的libgtksourceview-5-dev包:

sudo apt-get install dh-sequence-gnome gtk-doc-tools libxml2-utils libglib2.0-doc libgtk-3-doc libgdk-pixbuf2.0-doc libpango1.0-doc

cd ~/Downloads
wget http://archive.ubuntu.com/ubuntu/pool/universe/g/gtksourceview5/gtksourceview5_5.2.0.orig.tar.xz
cd gtksourceview-5.2.0/
wget http://archive.ubuntu.com/ubuntu/pool/universe/g/gtksourceview5/gtksourceview5_5.2.0-2.debian.tar.xz
tar -xf gtksourceview5_5.2.0-2.debian.tar.xz
rm gtksourceview5_5.2.0-2.debian.tar.xz
dpkg-buildpackage -uc -us
sudo apt-get install ../*gtksource*.deb
Run Code Online (Sandbox Code Playgroud)

只有这样你才能尝试继续编译 gnome-calculator 的 git master-branch 版本。