Новости:

Форуму исполнилось 12 лет!

Мы в матрице .
Мы в телеге .

Главное меню

[SlackBuild] awesome для Slackware 14.0

Автор bormant, 12 октября 2012, 15:51:51

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

bormant

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


Удачи.

kvip

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? Правельно?

bormant

#2
В данном случае очевидна неудачная попытка найти пакет "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

kvip

 :stop_mini:Собираю http://slackbuilds.org/repository/13.0/desktop/awesome/
И вот что вижу, раньше такого не было.


bormant

#4
Если после "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

kvip


bormant

Недоскопированное/недовставленное ;-) поправил выше... Если хочется и в лог сборки строчку с ошибкой добавить, можно так:
trap 'echo "$0 FAILED on line $LINENO!" | tee -a error.log' ERR

kvip

Скрипт показал что ошибка находится в 56 строчке, а строчка 56 содержит одну команду make
Судя по всему у меня что то не так скомпилятором?

bormant

#8
Я проверял на 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

kvip

Вроде все выполнил по инструкции и получил следующие ошибки. Они в архиве, так же мой awesome.SlackBuild


bormant

Или плохо объясняю, или невнимательно читаете :-(
$ 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-ом) прилагается.

kvip

Объясняете все хорошо, просто не сообразил, спасибо за помощь все прошло успешно.