Рейтинг:5

Как удовлетворить зависимость сборки libadwaita-1 (в gnome/meson)?

флаг bb

Короче вопрос:

Как я могу установить либадвайта-1 зависимость от мезонпостроенный проект?

(Конкретно гном-калькулятор, если это важно)

Задний план:

Мне было интересно внести небольшие изменения в Калькулятор гномов приложение, в основном просто для собственного развлечения (я хочу изменить кнопку Ï на кнопку, потому что число пи неправильно ;) ), и поэтому загружал исходный код и пытался его собрать, надеясь затем внести изменения.

Кажется, ожидается, что он будет построен с мезон (с которым я раньше не был знаком), поэтому... я пытаюсь заставить его строиться с этим, чтобы я мог внести свои коррективы и пойти дальше.

Системная информация

Я делаю это на Ubuntu budgie...

: $; lsb_release -a
Нет доступных модулей LSB.
Идентификатор дистрибьютора: Ubuntu
Описание: Убунту 21.10
Релиз: 21.10
Кодовое имя: озорник

Что я пробовал до сих пор

  • клон git https://gitlab.gnome.org/GNOME/gnome-calculator.git (получил с фиксацией 214649с в ГОЛОВУ)

  • cd gnome-калькулятор

  • (просмотрел README, поковырялся в разных вещах, понял, что наверное хотел мезон, почитал об этом...)

  • sudo apt установить мезон

  • мезон построить

  • Затем я продолжил находить различные неудовлетворенные зависимости, которые я был в состоянии выяснить, как решить... делать sudo ап установить на каждом из:

    • валак
    • cmake
    • libxml2-dev
    • libsoup-gnome2.4-dev
    • libgee-0.8-dev
    • libmpc-dev
    • libgtk-4-dev (примечание: это установило 4.4.0, и я отредактировал мезон.сборка изменить требование на это из 4.4.1... Что, я полагаю, может создать другие проблемы, но я выясню это, если/когда доберусь до них.)
  • Но, в конце концов, я добрался до того, что... Я думал, что смогу решить с помощью sudo apt установить libadwaitaqt-dev, но это не помогло:

Что у меня получилось (сокращенная версия):

: $; мезон построить
Система сборки Meson
Версия: 0.56.2
Исходный каталог: /home/lindes/src/gits/gnome/gnome-calculator
Каталог сборки: /home/lindes/src/gits/gnome/gnome-calculator/build
Тип сборки: нативная сборка
Название проекта: гном-калькулятор
Версия проекта: 41.0
[... устранена куча найденных зависимостей; полный список см. ниже...]
CMake найден: /usr/bin/cmake (3.18.4)
Обнаружена зависимость времени выполнения libadwaita-1: НЕТ (пробовали pkgconfig и cmake)

meson.build:85:0: ОШИБКА: Зависимость "libadwaita-1" не найдена, попробовал pkgconfig и cmake

Эта проблема:

Итак, короче говоря, я хотел бы знать, как разрешить следующую зависимость:

Обнаружена зависимость времени выполнения libadwaita-1: НЕТ

Я снова попытался sudo ап установить на libadwaitaqt-dev, и эта установка сработала, но не разрешила зависимость сборки. я тоже пробовал libadwaitaqt1 и адвайта-qt.

В частности, вот что я установил, хотя это все еще не работает:

: $; dpkg-query -l '*adwaita*'
Желаемый=Неизвестно/Установить/Удалить/Очистить/Удерживать
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(нет)/Reinst-required (Статус,Err: верхний регистр=плохой)
||/ Имя Версия Архитектура Описание
+++-======================-===============-======= ======-========================================== ===============
ii adwaita-icon-theme 40.1.1-1ubuntu1 все темы значков GNOME по умолчанию (небольшое подмножество)
un adwaita-icon-theme-full <none> <none> (описание отсутствует)
ii adwaita-qt:amd64 1.4.0-2 amd64 Qt 5 порт темы GNOME Adwaita
ii libadwaitaqt-dev:amd64 1.4.0-2 amd64 Порт Qt 5 темы Adwaita GNOME – файлы разработки
ii libadwaitaqt1:amd64 1.4.0-2 amd64 Порт Qt 5 темы Adwaita GNOME – публичная библиотека
ii libadwaitaqtpriv1:amd64 1.4.0-2 amd64 Порт Qt 5 темы Adwaita GNOME – частная библиотека

Вопрос, повторенный на этом фоне:

Как я могу установить это и/или исправить проверку зависимостей, чтобы использовать то, что у меня есть?

Дополнительные примечания к вопросу:

  1. Я бы предпочел установить зависимости с каким-либо управлением пакетами, хотя я могу попробовать собрать Адвайта из источника затем и посмотреть, смогу ли я заставить это работать. Я надеялся, что мне нужно будет только построить сам gnome-calculator с нуля.

  2. Также: я делаю что-то не так со своим мезон построить командная строка? Опять же, я новичок в мезоне, поэтому советы в этом отношении также приветствуются, хотя я пробовал несколько вариантов, и все они, кажется, дают одинаковый результат, если они делают хоть что-то полезное.

Что у меня получилось (полная версия):

: $; мезон построить
Система сборки Meson
Версия: 0.56.2
Исходный каталог: /home/lindes/src/gits/gnome/gnome-calculator
Каталог сборки: /home/lindes/src/gits/gnome/gnome-calculator/build
Тип сборки: нативная сборка
Название проекта: гном-калькулятор
Версия проекта: 41.0
Компилятор C для хост-компьютера: cc (gcc 11.2.0 "gcc (Ubuntu 11.2.0-7ubuntu2) 11.2.0")
C-линкер для хост-компьютера: cc ld.bfd 2.37
Компилятор Vala для хост-компьютера: valac (valac 0.52.6)
Семейство процессоров хост-машины: x86_64
Процессор хост-машины: x86_64
Найден pkg-config: /usr/bin/pkg-config (0.29.2)
Обнаружена зависимость времени выполнения gio-2.0: YES 2.68.4
Обнаружена зависимость времени выполнения glib-2.0: YES 2.68.4
Зависимость gmodule-export-2.0 во время выполнения найдена: YES 2.68.4
Найден объект зависимости времени выполнения-2.0: ДА 2.68.4
Обнаружена зависимость времени выполнения libxml-2.0: YES 2.9.12
Найдена зависимость времени выполнения libsoup-2.4: YES 2.72.0
Зависимость во время выполнения gee-0.8 найдена: YES 0.20.4
Библиотека m найдена: ДА
Библиотека mpc найдена: ДА
Библиотека mpc найдена: ДА
Библиотека mpfr найдена: ДА
Библиотека mpfr найдена: ДА
Библиотека posix найдена: ДА
Настройка config.h с помощью конфигурации
Программа meson_post_install.py найдена: ДА (/home/lindes/src/gits/gnome/gnome-calculator/meson_post_install.py)
Настройка gcalc-2.pc с помощью конфигурации
Настройка gcalc-2.deps с помощью конфигурации
Настройка namespace-info.vala с помощью конфигурации
Настройка config.h с помощью конфигурации
Программа g-ir-compiler найдена: YES (/usr/bin/g-ir-compiler)
Обнаружена зависимость gtk4 во время выполнения: YES 4.4.0
CMake найден: /usr/bin/cmake (3.18.4)
Обнаружена зависимость времени выполнения libadwaita-1: НЕТ (пробовали pkgconfig и cmake)

meson.build:85:0: ОШИБКА: Зависимость "libadwaita-1" не найдена, попробовал pkgconfig и cmake

Полный журнал можно найти в /home/lindes/src/gits/gnome/gnome-calculator/build/meson-logs/meson-log.txt.
флаг hr
Похоже, что файлы разработки `libadwaita-1` не предоставляются до выпуска Ubuntu "jammy" пакетом [libadwaita-1-dev](https://packages.ubuntu.com/jammy/libadwaita-1-dev)
Рейтинг:6
флаг zw

Вы пытаетесь заставить Ubuntu действовать как Gentoo, LFS или ArchLinux. Значит, вы сделали неверные шаги.

Для сборки/пересборки/исправления гном-калькулятор вы должны получить его исходники для deb-пакет для вашего выпуска Ubuntu 21.10. Сначала включите репозитории исходного кода из Software & Updates (программное обеспечение-свойства-gtk), а затем выполните следующие команды:

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

компакт-диск ~/Загрузки
apt-получить источник gnome-калькулятор
компакт-диск гном-калькулятор-40.1/
# делаем некоторые патчи/кодирование здесь
dpkg-buildpackage -uc -us

sudo apt-get install ../gnome-calculator_40.1-1ubuntu2_amd64.deb

Если вы уверены в компиляции последней версии gnome-calculator, отличной от Ubuntu, вам нужно собрать либадвайта-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

компакт-диск ~/Загрузки
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

экспортировать DEB_BUILD_OPTIONS=без проверки
dpkg-buildpackage -uc -us
sudo apt-get install ../*adw*.deb

а затем продолжить компиляцию пропущенных 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

компакт-диск ~/Загрузки
wget http://archive.ubuntu.com/ubuntu/pool/universe/g/gtksourceview5/gtksourceview5_5.2.0.orig.tar.xz
компакт-диск 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

И только после этого можно попытаться приступить к компиляции git master-branch версии gnome-calculator.

флаг bb
Я не уверен, что вы имеете в виду под этим первым предложением... что значит, что я «пытаюсь заставить Ubuntu действовать как Gentoo, LFS или ArchLinux»? В любом случае, спасибо за ответ. В данный момент я на другой машине, но скоро попробую и проголосую и/или прокомментирую, как получится.
флаг us
libadwaita доступна для 21.10 в этом PPA. https://launchpad.net/~ubuntuhandbook1/+архив/ubuntu/giara/+пакеты

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.