Как собрать Meld на Ubuntu?

Я пытаюсь собрать последнюю версию Meld на Ubuntu 20.10.

Я выполнил инструкции на https://github.com/GNOME/meld , убедиться, что у меня есть необходимые пакеты для моей системы.

# Enabled "source code" in Sources & Updates.
sudo apt install git build-essential meson ninja-build gettext libgtk-3-dev python-gi-dev python3-cairo-dev appstream-util libgtksourceview-4-dev
sudo apt-get build-dep meld

git clone https://github.com/GNOME/meld.git
cd meld
meson _build
cd _build
ninja
ninja install

Все идет нормально, но когда я пытаюсь запустить meld, я получаю следующую ошибку

cd ~
meld
Traceback (most recent call last):
  File "/usr/local/bin/meld", line 97, in <module>
    import meld.conf  # noqa: E402
ModuleNotFoundError: No module named 'meld'

Я подозреваю, что это как-то связано с , где файлы были установлены в моей системе.

Я вижу, что meld был установлен в /usr/local/lib/python3.8/site-packages/ , в то время как я ожидал его установить в / usr / share .

Кроме того, я ожидал, что исполняемый файл будет помещен в / usr / bin , но он находится в / usr / local / bin . которые сливаются / usr / local / bin / meld

Что я делаю не так?

1
задан 28 December 2020 в 21:41

1 ответ

Анализ

Есть некоторые проблемы с методом из официального README.

Кроме того, после PKGBUILD из ArchLinux на Ubuntu с приведенными ниже шагами

cd /tmp
git-клон https://github.com/GNOME/meld.git
компакт-диск
сборка python3 setup.py
sudo python3 setup.py --no-update-icon-cache --no-compile-schemas install --prefix=/usr/local --optimize=1

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

$ meld
Traceback (последний последний вызов):
Файл "/usr/local/bin/meld", строка 97, в 
импортировать meld.conf # noqa: E402
ModuleNotFoundError: нет модуля с именем «meld»

Решение

Нам нужно использовать процедуру сборки пакета deb-src для последнего исходного кода из репозитория git.

В пошаговом стиле это будет выглядеть так:

sudo apt-get install git build-essential gettext libgtk-3-dev python-gi-dev python3-cairo-dev appstream-util libgtksourceview-4-dev dpkg-dev python3-pytest
sudo apt-get build-dep meld

cd ~/Downloads
git clone https://github.com/GNOME/meld.git
cd meld

wget http://archive.ubuntu.com/ubuntu/pool/universe/m/meld/meld_3.20.2-2.debian.tar.xz
tar -xf meld_3.20.2-2.debian.tar.xz
mv meld_3.20.2-2.debian.tar.xz ../

sed -i "s|meld.1|data/meld.1|" debian/meld.manpages
sed -i "s|3.20.2-2|$(git describe --tags | sed 's/-/+/g')|" debian/changelog

dpkg-buildpackage -b -uc -us

затем, наконец, установите пакет с помощью:

sudo apt-get install ../meld_3*_all.deb

и проверьте его версию:

$ meld --version
объединение 3.21.1
2
ответ дан 24 December 2020 в 06:25

Другие вопросы по тегам:

Похожие вопросы: