LINUX.ORG.RU

Ошибка в PKGBUILD

 , ,


0

0

Здравствуйте!
В PKGBUILD нашлась такая строчка

sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
И появляется ошибка
sed: невозможно прочитать libtool: Нет такого файла или каталога
==> ОШИБКА: Произошел сбой в build().
    Прерывание...
Прошел по ссылке https://bugzilla.gnome.org/show_bug.cgi?id=655517, но не разобрался.
Подскажите, что нужно сделать?

Собираю в ~/mutter/

mutter-3.20.0.tar.xz
mutter.install
PKGBUILD

PKGBUILD

pkgname=mutter
pkgver=3.20.0
pkgrel=1
pkgdesc="A window manager for GNOME"
arch=(i686 x86_64)
license=('GPL')
depends=('clutter' 'dconf' 'gobject-introspection-runtime'
 'gsettings-desktop-schemas' 'libcanberra' 'startup-notification'
'zenity' 'libsm' 'gnome-desktop' 'upower' 'libxkbcommon-x11'
'gnome-settings-daemon' 'libgudev')
makedepends=('intltool' 'libxkbcommon-x11' 'gobject-introspection' 'python2')
conflicts=('mutter-wayland')
replaces=('mutter-wayland')
url="http://www.gnome.org"
groups=('gnome')
options=('!emptydirs')
install=mutter.install
source=(file://mutter-3.20.0.tar.xz)
sha256sums=('44e6fb2ee84cab5a3fe8b1ac25c55413b6a44bf94fa047981a08f26260f3aa7c')

build() {
  cd "$pkgname-$pkgver" \
  ./configure --prefix=/usr --sysconfdir=/etc \
      --libexecdir=/usr/lib/mutter \
      --localstatedir=/var --disable-static \
      --disable-schemas-compile --enable-compile-warnings=minimum

  #https://bugzilla.gnome.org/show_bug.cgi?id=655517
  sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool

  make
}

package() {
  cd "$pkgname-$pkgver"
  make DESTDIR="$pkgdir" install
}

Файлы взяты с github/mutter и archlinux/packages

Deleted

Последнее исправление: Its_me (всего исправлений: 1)

У тебя это самый libtool установлен?

Для сборки должны быть установлены все пакеты base-devel, в makedepends эти пакеты не добавляются, читай вики.

greenman ★★★★★
()
Последнее исправление: greenman (всего исправлений: 2)
Ответ на: комментарий от Deleted

PKGBUILD из тестинга. Т.е. все зависимости должны быть из тестинга.

greenman ★★★★★
()
Ответ на: комментарий от greenman

А если установлен? Указанная ошибочная команда патчит libtool, которого однозначно не существует в исходниках mutter.

TC: убери из PKGBUILD-a проблемную команду и:

  • Либо сделай sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' /bin/libtool (от рута), потом собери пакет и, наконец, восстанови «испорченный» бинарник переустановкой соответствующего пакета (pacman -S libtool);
  • Либо пересобери libtool, пропатчив libtool (скрипт который; он появляется после конфигурирования), и уже потом собирай mutter.

Не знаю что эта команда здесь делает. Она если и нужна, то однозначно точно не здесь.

kalterfive ★★
()
Последнее исправление: kalterfive (всего исправлений: 3)
Ответ на: комментарий от kalterfive

Если вбить строчку «sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool» в гугль, то найдётся не один PKGBUILD.

Как-то же она работает, видимо.

greenman ★★★★★
()
Ответ на: комментарий от kalterfive

Строчку в кавычки. Кавычки нужны обычные двойные.

"sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool"

greenman ★★★★★
()
Ответ на: комментарий от kalterfive

Ошибка в PKGBUILD (комментарий)

LIBTOOL=/bin/libtool ./configure --prefix=/usr --sysconfdir=/etc \
	--libexecdir=/usr/lib/mutter \
	--localstatedir=/var --disable-static \
	--disable-schemas-compile --enable-compile-warnings=minimum

greenman, действительно верное предположение. Но testing/libtool нету, так что после обновления пакетов base-devel этот скрипт не будет автоматически появляться результатом работы configure.

kalterfive ★★
()
Последнее исправление: kalterfive (всего исправлений: 1)
Ответ на: комментарий от kalterfive

В общем, независимо от того, выполнить sed или дописать LIBTOOL=/bin/libtool, сборка идет только при

#sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
Сначала сделал makepkg, с ошибкой, разумеется. (
Потом в каталоге с распакованным архивом autogen.sh.
Затем снова makepkg и все собирается до конца.

Все это очень криво и надо бы разобраться, но возникла другая проблема:

После установки такого пакета gnome перестает загружаться, а при попытке установки / переустановки, например gdm, даже если собранный mutter уже удален, появляется такое сообщение

(1/1) проверка ключей                              [######################] 100%
ошибка: GPGME error: Недопустимый криптомеханизм
(1/1) проверяется целостность пакета               [######################] 100%
ошибка: GPGME error: Недопустимый криптомеханизм
ошибка: mutter: не найдена необходимая подпись
:: Файл /var/cache/pacman/pkg/mutter-3.18.3-2-x86_64.pkg.tar.xz поврежден
(неверный или поврежденный пакет(PGP-подпись)).
Хотите его удалить? [Y/n] yes ( или no )
ошибка: не удалось завершить транзакцию
(неверный или поврежденный пакет(PGP-подпись))

Пробовал в testing и stable, с gnome-3.18 .

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.