Slackware.su

Проблемы => Софт => Тема начата: bormant от 12 октября 2012, 15:51:51

Название: [SlackBuild] awesome для Slackware 14.0
Отправлено: bormant от 12 октября 2012, 15:51:51
awesome -- это быстрый и лёгкий оконный менеджер для X.
Домашняя страница проекта: http://awesome.naquadah.org/

Для сборки и установки потребуются, помимо входящего в дистрибутив:
lua, imlib2, libev -- есть на slackbuilds.org
libxdg-basedir -- слакбилд прилагается

а также дистрибутивный cairo, пересобранный с --enable-xcb, например, так:
wget -r -nH --cut-dirs=5 ftp://ftp.osuosl.org/pub/slackware/slackware64-14.0/source/l/cairo
cd cairo
sed -e "s/  --build=\$ARCH/  --enable-xcb \\\\\n\0/" -i *Build
BUILD=2xcb ./*Build
upgradepkg /tmp/cairo-*xcb.t?z


Удачи.
Название: Re: [SlackBuild] awesome для Slackware 14.0
Отправлено: kvip от 26 декабря 2012, 15:49:52
lua: (command line):1: module 'lgi' not found:
        no field package.preload['lgi']
        no file './lgi.lua'
        no file '/usr/share/lua/5.1/lgi.lua'
        no file '/usr/share/lua/5.1/lgi/init.lua'
        no file '/usr/lib/lua/5.1/lgi.lua'
        no file '/usr/lib/lua/5.1/lgi/init.lua'
        no file './lgi.so'
        no file '/usr/lib/lua/5.1/lgi.so'
        no file '/usr/lib/lua/5.1/loadall.so'
stack traceback:
        [C]: in function 'require'
        (command line):1: in main chunk
        [C]: ?


       WARNING
       =======

The lgi check failed.
The Lua GObject introspection package is just a runtime dependency, so it is not
necessary for building awesome. However, awesome needs it to run.
Add AWESOME_IGNORE_LGI=1 to your environment to continue.


make[3]: *** [CMakeFiles/lgi-check] Error 1
make[2]: *** [CMakeFiles/lgi-check.dir/all] Error 2
make[1]: *** [all] Error 2
make: *** [cmake-build] Error 2


Как я понял все дело в том что я использую lua52 а не lua51? Правельно?
Название: Re: [SlackBuild] awesome для Slackware 14.0
Отправлено: bormant от 26 декабря 2012, 16:07:19
В данном случае очевидна неудачная попытка найти пакет "lgi" в "/usr/share/lua/5.1/".
Надо разбираться, 1) работает ли оно с lua-5.2 в принципе,  2) и если работает, где править (возможно, неосмотрительно прибитый гвоздиком) 5.1 на 5.2.

По п.1 есть надежды:
https://awesome.naquadah.org/bugs/index.php?do=details&task_id=983
ЦитироватьComment by Alexander Yakushev (Alex.yakushev) - Thursday, 24 May 2012, 00:17 GMT+1
Should it be on the 3.5 roadmap? I was hoping for 3.5 to appear more or less early, but tying it to lua 5.2 would require to wait for all major distributives to upgrade to new Lua. And it is not even in Arch yet.
Comment by Uli Schlachter (psychon) - Saturday, 23 June 2012, 08:56 GMT+1
The code changes for this should be done (thanks Asido!), but there is still some CMake-magic needed. CMake currently only looks for liblua.so and liblua51.so. So awesome uses lua 5.2 only on distros which call the library liblua.so. For example debian doesn't do this.

PS. Если соберётесь переезжать на недавно вышедший awesome-3.5, не забудьте прочесть http://awesome.naquadah.org/wiki/Awesome_3.4_to_3.5
Название: Re: [SlackBuild] awesome для Slackware 14.0
Отправлено: kvip от 28 декабря 2012, 09:52:24
 :stop_mini:Собираю http://slackbuilds.org/repository/13.0/desktop/awesome/ (http://slackbuilds.org/repository/13.0/desktop/awesome/)
И вот что вижу, раньше такого не было.

Название: Re: [SlackBuild] awesome для Slackware 14.0
Отправлено: bormant от 28 декабря 2012, 11:01:42
Если после "set -e" добавить что-то вроде:
trap 'echo "$0 FAILED on line $LINENO!"' ERR

Станет видно где падает:
  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
    xargs strip --strip-unneeded 2> /dev/null

Достаточно добавить "|| true" для подавления ошибки:
  find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
    xargs strip --strip-unneeded 2> /dev/null || true
Название: Re: [SlackBuild] awesome для Slackware 14.0
Отправлено: kvip от 28 декабря 2012, 11:49:38
trap: usage: trap [-lp] [[arg] signal_spec ...]
Название: Re: [SlackBuild] awesome для Slackware 14.0
Отправлено: bormant от 28 декабря 2012, 12:04:54
Недоскопированное/недовставленное ;-) поправил выше... Если хочется и в лог сборки строчку с ошибкой добавить, можно так:
trap 'echo "$0 FAILED on line $LINENO!" | tee -a error.log' ERR
Название: Re: [SlackBuild] awesome для Slackware 14.0
Отправлено: kvip от 28 декабря 2012, 14:08:05
Скрипт показал что ошибка находится в 56 строчке, а строчка 56 содержит одну команду make
Судя по всему у меня что то не так скомпилятором?
Название: Re: [SlackBuild] awesome для Slackware 14.0
Отправлено: bormant от 28 декабря 2012, 14:18:30
Я проверял на Slackware64-14.0.
Первая ошибка была -- "компилятор не может создавать файлы" из-за прибитого гвоздиком ARCH=${ARCH:-i486}.
Вторая -- не собиралось пару раз по причине неуказания в параметрах необходимых для сборки библиотек, добавил перед ./configure строчку с их ручным указанием:LDFLAGS="-lX11 -lXext" \
Третья -- всё останавливалось после make install, дело стопорилось на 2-м find после make install, добавил || true и всё собралось.

Чем у вас сейчас заканчивается сборка, последние 5 строк? Полагаю, сейчас вы как раз на "шаге 2".
Об этом можно судить по ошибкам:.../ld: client.o: undefined reference to symbol 'XConfigureWindow'
.../ld: note: 'XConfigureWindow' is defined in DSO /usr/lib64/libX11.so.6 so try adding it to the linker command line

.../ld: window.o: undefined reference to symbol 'XShapeQueryExtents'
.../ld: note: 'XShapeQueryExtents' is defined in DSO /usr/lib64/libXext.so.6 so try adding it to the linker command line
Название: Re: [SlackBuild] awesome для Slackware 14.0
Отправлено: kvip от 28 декабря 2012, 17:33:32
Вроде все выполнил по инструкции и получил следующие ошибки. Они в архиве, так же мой awesome.SlackBuild

Название: Re: [SlackBuild] awesome для Slackware 14.0
Отправлено: bormant от 28 декабря 2012, 20:30:51
Или плохо объясняю, или невнимательно читаете :-(
$ diff -u awesome.SlackBuild{.orig,}
--- awesome.SlackBuild.orig 2012-12-28 20:26:34.344032240 +0400
+++ awesome.SlackBuild 2012-12-28 20:27:52.475055468 +0400
@@ -6,7 +6,7 @@

PRGNAM=awesome
VERSION=${VERSION:-2.3.6}
-ARCH=${ARCH:-i486}
+ARCH=${ARCH:-$(uname -m)}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}

@@ -35,7 +35,7 @@
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
cd $PRGNAM-$VERSION
chown -R root:root .
-find . \
+find -L . \
  \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
  -exec chmod 755 {} \; -o \
  \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
@@ -43,6 +43,7 @@

CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
+LDFLAGS="-lX11 -lXext" \
./configure \
   --prefix=/usr \
   --libdir=/usr/lib${LIBDIRSUFFIX} \
@@ -59,7 +60,7 @@
   find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | \
     xargs strip --strip-unneeded 2> /dev/null || true
   find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | \
-    xargs strip --strip-unneeded 2> /dev/null
+    xargs strip --strip-unneeded 2> /dev/null || true
)

( cd $PKG/usr/man
Исправленный сценарий awesome.SlackBuild (пожатый gzip-ом) прилагается.
Название: Re: [SlackBuild] awesome для Slackware 14.0
Отправлено: kvip от 29 декабря 2012, 04:23:35
Объясняете все хорошо, просто не сообразил, спасибо за помощь все прошло успешно.