slackware.ru
http://www.slackware.ru/forum/

TDE/Trinity & KDE3 for Slackware
http://www.slackware.ru/forum/viewtopic.php?f=8&t=1918
Страница 3 из 12

Автор:  bormant [ 20 июн 2017 11:48 ]
Заголовок сообщения:  Re: TDE/Trinity & KDE3 for Slackware

PPS. В первом случае можно более подойти более строго:
Код:
bool Client::isModalSystemNotification() const
    {
    unsigned char *data = 0;
    Atom actual;
    int format, result;
    unsigned long n, left;
    result = XGetWindowProperty(tqt_xdisplay(), window(), atoms->net_wm_system_modal_notification, 0L, 1L, False, XA_CARDINAL, &actual, &format, &n, &left, /*(unsigned char **)*/ &data);
    if ( result == Success && data != 0 ) XFree(data);
    return result == Success && data != 0 && format == 32;
    }
или
Код:
bool Client::isModalSystemNotification() const
    {
    unsigned char *data = 0;
    Atom actual;
    int format, result;
    unsigned long n, left;
    bool t;
    result = XGetWindowProperty(tqt_xdisplay(), window(), atoms->net_wm_system_modal_notification, 0L, 1L, False, XA_CARDINAL, &actual, &format, &n, &left, /*(unsigned char **)*/ &data);
    if ( (t = result == Success && data != 0) ) XFree(data);
    return t && format == 32;
    }
либо, если исходники libX11 после 2013 года,
Код:
bool Client::isModalSystemNotification() const
    {
    unsigned char *data = 0;
    Atom actual;
    int format, result;
    unsigned long n, left;
    result = XGetWindowProperty(tqt_xdisplay(), window(), atoms->net_wm_system_modal_notification, 0L, 1L, False, XA_CARDINAL, &actual, &format, &n, &left, /*(unsigned char **)*/ &data);
    if ( data != 0 ) XFree(data);
    return result == Success && data != 0 && format == 32;
    }
PS. Лидирующая ";" в строке return -- это какой-то артефакт плагина, сворачивающего блок code.

Автор:  Algierd [ 20 июн 2017 18:58 ]
Заголовок сообщения:  Re: TDE/Trinity & KDE3 for Slackware

А через соответсвующий слакбилд это как-то можно задать?

Автор:  bormant [ 21 июн 2017 02:39 ]
Заголовок сообщения:  Re: TDE/Trinity & KDE3 for Slackware

1) Кладем в каталог со слакбилдом файлик fix-client.diff.gz

2) вписываем в слакбилд после распаковки исходников, перехода в каталог и унификации прав доступа
Код:
zcat $CWD/fix-client.diff.gz | patch -p1 --verbose || exit 1

Автор:  Algierd [ 21 июн 2017 16:18 ]
Заголовок сообщения:  Re: TDE/Trinity & KDE3 for Slackware

Цитата:
Hmm... Looks like a unified diff to me...
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- client.cpp.orig 2017-06-21 02:28:48.736442800 +0300
|+++ client.cpp 2017-06-21 02:30:38.871067600 +0300
--------------------------
File to patch:

Автор:  bormant [ 21 июн 2017 20:12 ]
Заголовок сообщения:  Re: TDE/Trinity & KDE3 for Slackware

Перезалил.

Автор:  Algierd [ 22 июн 2017 08:31 ]
Заголовок сообщения:  Re: TDE/Trinity & KDE3 for Slackware

Не хочет всё-равно оно собираться:

Цитата:
[ 33%] Building CXX object twin/CMakeFiles/tdeinit_twin-shared.dir/client.cpp.o
In file included from /tmp/build/tmp-tdebase/tdebase/twin/lib/kdecoration_p.h:32:0,
from /tmp/build/tmp-tdebase/tdebase/twin/options.h:19,
from /tmp/build/tmp-tdebase/tdebase/twin/client.h:28,
from /tmp/build/tmp-tdebase/tdebase/twin/client.cpp:12:
/tmp/build/tmp-tdebase/tdebase/twin/lib/kdecoration.h:630:2: предупреждение: #warning Redo all the XYZChange() virtuals as signals. [-Wcpp]
#warning Redo all the XYZChange() virtuals as signals.
^~~~~~~
/tmp/build/tmp-tdebase/tdebase/twin/lib/kdecoration.h:772:2: предупреждение: #warning Update the docs. [-Wcpp]
#warning Update the docs.
^~~~~~~
/tmp/build/tmp-tdebase/tdebase/twin/client.cpp: В функции-члене «bool KWinInternal::Client::isModalSystemNotification() const»:
/tmp/build/tmp-tdebase/tdebase/twin/client.cpp:514:5: ошибка: expected «;» before «}» token
}
^
make[2]: *** [twin/CMakeFiles/tdeinit_twin-shared.dir/build.make:129: twin/CMakeFiles/tdeinit_twin-shared.dir/client.cpp.o] Ошибка 1
make[1]: *** [CMakeFiles/Makefile2:15646: twin/CMakeFiles/tdeinit_twin-shared.dir/all] Ошибка 2
make: *** [Makefile:130: all] Ошибка 2
./tdebase.SlackBuild FAILED on line 277!


На вот этой строчке споткнулось:
Цитата:
| grep ELF | cut -f 1 -d: | xargs strip --strip-unneeded 2> /dev/null

Автор:  yars [ 23 июн 2017 01:01 ]
Заголовок сообщения:  Re: TDE/Trinity & KDE3 for Slackware

Цитата:
На вот этой строчке споткнулось:

Не-а, не тут, а вот здесь где-то:
Цитата:
Код:
/tmp/build/tmp-tdebase/tdebase/twin/client.cpp: В функции-члене «bool KWinInternal::Client::isModalSystemNotification() const»:
/tmp/build/tmp-tdebase/tdebase/twin/client.cpp:514:5: ошибка: expected «;» before «}» token
}
^

Забыта (или проглочена) точка с запятой перед закрывающей фигурной скобкой в строке 514 в client.cpp. Я в сишечке и плюсах не силен, но ошибка явно где-то там.

Автор:  bormant [ 23 июн 2017 12:52 ]
Заголовок сообщения:  Re: TDE/Trinity & KDE3 for Slackware

Угу, точка с запятой пропущена в конце строки, спешка не доводит до добра.
Перезалил.

Автор:  sunjob [ 23 июн 2017 17:15 ]
Заголовок сообщения:  Re: TDE/Trinity & KDE3 for Slackware

to Algierd
напишите, пожалуйста, "полные исходные данные" на ваш баг/косяк
версии
- slackware
- TDE/пакета
- окружение сборки (gcc and etc...)

сборка с патчем прошла успешно?

не помешает это все более тщательно задокументить

Автор:  Algierd [ 23 июн 2017 20:16 ]
Заголовок сообщения:  Re: TDE/Trinity & KDE3 for Slackware

to Algierd
напишите, пожалуйста, "полные исходные данные" на ваш баг/косяк
версии
- slackware
- TDE/пакета
- окружение сборки (gcc and etc...)

сборка с патчем прошла успешно?

не помешает это все более тщательно задокументить

Slackware current x86 от 21 июня, gcc версия 7.1.0, tde 14.0.4.
tdebase с патчем собрался. Упал на tdenetwork:

Код:
[ 28%] Building CXX object kopete/libkopete/CMakeFiles/kopete-shared.dir/kautoconfig.cpp.o
/tmp/build/tmp-tdenetwork/tdenetwork/kopete/libkopete/kautoconfig.cpp: В функции-члене «void KAutoConfig::addWidget(TQWidget*, const TQString&)»:
/tmp/build/tmp-tdenetwork/tdenetwork/kopete/libkopete/kautoconfig.cpp:48:7: ошибка: невозможно найти оператор строкового литерала «operator""functionName» с аргументами «const char [133]», «unsigned int»
       "it will do nothing.  Please Fix." << endl; \
       ^
/tmp/build/tmp-tdenetwork/tdenetwork/kopete/libkopete/kautoconfig.cpp:48:7: замечание: in definition of macro «functionCallPostOrderCheck»
       "it will do nothing.  Please Fix." << endl; \
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/build/tmp-tdenetwork/tdenetwork/kopete/libkopete/kautoconfig.cpp: В функции-члене «void KAutoConfig::ignoreSubWidget(TQWidget*)»:
/tmp/build/tmp-tdenetwork/tdenetwork/kopete/libkopete/kautoconfig.cpp:48:7: ошибка: невозможно найти оператор строкового литерала «operator""functionName» с аргументами «const char [133]», «unsigned int»
       "it will do nothing.  Please Fix." << endl; \
       ^
/tmp/build/tmp-tdenetwork/tdenetwork/kopete/libkopete/kautoconfig.cpp:48:7: замечание: in definition of macro «functionCallPostOrderCheck»
       "it will do nothing.  Please Fix." << endl; \
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/build/tmp-tdenetwork/tdenetwork/kopete/libkopete/kautoconfig.cpp: В функции-члене «bool KAutoConfig::saveSettings()»:
/tmp/build/tmp-tdenetwork/tdenetwork/kopete/libkopete/kautoconfig.cpp:40:7: ошибка: невозможно найти оператор строкового литерала «operator""functionName» с аргументами «const char [134]», «unsigned int»
       "it will do nothing.  Please Fix." << endl; \
       ^
/tmp/build/tmp-tdenetwork/tdenetwork/kopete/libkopete/kautoconfig.cpp:40:7: замечание: in definition of macro «functionCallPreOrderCheck»
       "it will do nothing.  Please Fix." << endl; \
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/build/tmp-tdenetwork/tdenetwork/kopete/libkopete/kautoconfig.cpp: В функции-члене «bool KAutoConfig::hasChanged() const»:
/tmp/build/tmp-tdenetwork/tdenetwork/kopete/libkopete/kautoconfig.cpp:40:7: ошибка: невозможно найти оператор строкового литерала «operator""functionName» с аргументами «const char [134]», «unsigned int»
       "it will do nothing.  Please Fix." << endl; \
       ^
/tmp/build/tmp-tdenetwork/tdenetwork/kopete/libkopete/kautoconfig.cpp:40:7: замечание: in definition of macro «functionCallPreOrderCheck»
       "it will do nothing.  Please Fix." << endl; \
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/build/tmp-tdenetwork/tdenetwork/kopete/libkopete/kautoconfig.cpp: В функции-члене «bool KAutoConfig::isDefault() const»:
/tmp/build/tmp-tdenetwork/tdenetwork/kopete/libkopete/kautoconfig.cpp:40:7: ошибка: невозможно найти оператор строкового литерала «operator""functionName» с аргументами «const char [134]», «unsigned int»
       "it will do nothing.  Please Fix." << endl; \
       ^
/tmp/build/tmp-tdenetwork/tdenetwork/kopete/libkopete/kautoconfig.cpp:40:7: замечание: in definition of macro «functionCallPreOrderCheck»
       "it will do nothing.  Please Fix." << endl; \
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/build/tmp-tdenetwork/tdenetwork/kopete/libkopete/kautoconfig.cpp: В функции-члене «void KAutoConfig::resetSettings() const»:
/tmp/build/tmp-tdenetwork/tdenetwork/kopete/libkopete/kautoconfig.cpp:40:7: ошибка: невозможно найти оператор строкового литерала «operator""functionName» с аргументами «const char [134]», «unsigned int»
       "it will do nothing.  Please Fix." << endl; \
       ^
/tmp/build/tmp-tdenetwork/tdenetwork/kopete/libkopete/kautoconfig.cpp:40:7: замечание: in definition of macro «functionCallPreOrderCheck»
       "it will do nothing.  Please Fix." << endl; \
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/tmp/build/tmp-tdenetwork/tdenetwork/kopete/libkopete/kautoconfig.cpp: В функции-члене «void KAutoConfig::reloadSettings() const»:
/tmp/build/tmp-tdenetwork/tdenetwork/kopete/libkopete/kautoconfig.cpp:40:7: ошибка: невозможно найти оператор строкового литерала «operator""functionName» с аргументами «const char [134]», «unsigned int»
       "it will do nothing.  Please Fix." << endl; \
       ^
/tmp/build/tmp-tdenetwork/tdenetwork/kopete/libkopete/kautoconfig.cpp:40:7: замечание: in definition of macro «functionCallPreOrderCheck»
       "it will do nothing.  Please Fix." << endl; \
       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
make[2]: *** [kopete/libkopete/CMakeFiles/kopete-shared.dir/build.make:798: kopete/libkopete/CMakeFiles/kopete-shared.dir/kautoconfig.cpp.o] Ошибка 1
make[1]: *** [CMakeFiles/Makefile2:2616: kopete/libkopete/CMakeFiles/kopete-shared.dir/all] Ошибка 2
make: *** [Makefile:130: all] Ошибка 2
./tdenetwork.SlackBuild FAILED on line 249!

Автор:  sunjob [ 23 июн 2017 21:25 ]
Заголовок сообщения:  Re: TDE/Trinity & KDE3 for Slackware

консоль лучше перевести в английский, так будет проще читать и искать ошибки, да и помошники, в основном, работают на "родном международном" (имхо)

зы
я правильно понимаю, что рабочий/обновленный патч лежит тут?
http://www.slackware.ru/forum/download/file.php?id=316

Автор:  Algierd [ 23 июн 2017 23:42 ]
Заголовок сообщения:  Re: TDE/Trinity & KDE3 for Slackware

консоль лучше перевести в английский, так будет проще читать и искать ошибки, да и помошники, в основном, работают на "родном международном" (имхо)

зы
я правильно понимаю, что рабочий/обновленный патч лежит тут?
http://www.slackware.ru/forum/download/file.php?id=316

Всё верно, патч для tdebase рабочий. Bormant, спасибо!
Надо бы отписаться разработчикам о проблеме...

Автор:  bormant [ 24 июн 2017 08:59 ]
Заголовок сообщения:  Re: TDE/Trinity & KDE3 for Slackware

Цитата:
Упал на tdenetwork
Собирайте с -DNDEBUG, нужно посмотреть, как оно включается в настройках cmake для проекта...
Или вам действительно нужна именно отладочная версия с кучей дополнительных проверок?

Тем не менее, в GIT уже исправлено, используйте вот этот патч:
https://git.trinitydesktop.org/cgit/tde ... 8e9b7b19e6

Автор:  Algierd [ 24 июн 2017 15:06 ]
Заголовок сообщения:  Re: TDE/Trinity & KDE3 for Slackware

Можете помочь правильно оформить слакбилд для этого патча?

Автор:  bormant [ 24 июн 2017 16:31 ]
Заголовок сообщения:  Re: TDE/Trinity & KDE3 for Slackware

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

Автор:  bormant [ 24 июн 2017 16:34 ]
Заголовок сообщения:  Re: TDE/Trinity & KDE3 for Slackware

Можете сделать отдельный каталожек patches, а в слакбилд добавить такой код:
Код:
for p in $CWD/patches/*.diff.gz; do
    zcat $p | patch --verbose -p1
done

Патчи складывать в patches. Есть смысл именовать патчи по схеме 001-название.diff.gz, тогда цифровым префиксом можно обеспечить нужный порядок их применения.

Автор:  sunjob [ 24 июн 2017 16:42 ]
Заголовок сообщения:  Re: TDE/Trinity & KDE3 for Slackware

обычно наоборот, патч "делают" для слакбилда :о)

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

в слакбилде - последовательность дйствий примерно следующая:
- удаляем/очищаем временный/ые каталоги (под дерево исходников и для сбоки пакета) TMP,PKG
- создаем каталоги TMP,PKG
- переходим в TMP распаковываем исходники (бла бла бла - куча манипуляций :о) )
- применяем патч, команда типа
Код:
patch -p0 $CWD/patch01.diff

или используем "команду" как у "борманта"

(* вот эту самую команду и вставляем в слакбилд)
- далее конфигуратор, сборка, установка в PKG, подготовка к опакечиванию, сборка пакета, фсе
... а нет, забыл, в "шаблонах" слакбилда "это не принято делать ... но лучше почистить за собой, удалить все, что мы тут "настругали"... :о)

примеры/шаблоны
http://slackbuilds.org/templates/

README - почитать, ифнормация для сборщика/пользователя (наполняем сами или не трогаем)

doinst.sh - файл, который запускается сразу после установки/распаковки пакета в систему, сюда обычно вставляют манипуляции с системными файлами, допустим, мы собираем пакет "wicd", и надо устанавить startup-скрипт, который управляет данным сервисом:
Код:
/etc/rc.d/rc.wicd

но в системе может быть уже установлен "старый/иной" такой-же скрип, дак вот, задача скрипта doinst.sh проанализировать ситуацию и установить "наш" скрипт с индесом *.new или, если они идентичны, то ни чего не делать со "скриптом"...
ну и так-же в doinst.sh - вставляются все иные "конструкторские манипуляции", которые "ментейнер задумал"... типа
Код:
rm -fr /

поэтому поосторожнее с ним :о)
"сборщик пакетов" - добавляет в ваш doinst.sh "свои манипуляции" и запаковывает "обновленный файл" в сам пакет

slack-desc - описание пакета, имеет своеобразный формат, но ни чего сложного

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

Автор:  Algierd [ 24 июн 2017 18:29 ]
Заголовок сообщения:  Re: TDE/Trinity & KDE3 for Slackware

sunjob, спасибо, учту!
Двигаемся дальше. Теперь не хочет собираться tdepim :

Код:
[ 63%] Building CXX object korganizer/CMakeFiles/korganizer-shared.dir/koeditorattachments.cpp.o
/tmp/build/tmp-tdepim/tdepim/korganizer/koeditorattachments.cpp: В конструкторе «AttachmentListItem::AttachmentListItem(KCal::Attachment*, TQIconView*)»:
/tmp/build/tmp-tdepim/tdepim/korganizer/koeditorattachments.cpp:82:50: ошибка: некорректное преобразование из «char» в «const char*» [-fpermissive]
         mAttachment = new KCal::Attachment( '\0' ); //use the non-uri constructor
                                                  ^
In file included from /tmp/build/tmp-tdepim/tdepim/libkcal/incidence.h:31:0,
                 from /tmp/build/tmp-tdepim/tdepim/korganizer/koeditorattachments.cpp:29:
/tmp/build/tmp-tdepim/tdepim/libkcal/attachment.h:60:5: замечание:   при инициализации 1 -го аргумента «KCal::Attachment::Attachment(const char*, const TQString&)»
     Attachment( const char *base64, const TQString &mime = TQString() );
     ^~~~~~~~~~
make[2]: *** [korganizer/CMakeFiles/korganizer-shared.dir/build.make:1178: korganizer/CMakeFiles/korganizer-shared.dir/koeditorattachments.cpp.o] Ошибка 1
make[1]: *** [CMakeFiles/Makefile2:5285: korganizer/CMakeFiles/korganizer-shared.dir/all] Ошибка 2
make: *** [Makefile:130: all] Ошибка 2
./tdepim.SlackBuild FAILED on line 257!

Автор:  sunjob [ 24 июн 2017 20:37 ]
Заголовок сообщения:  Re: TDE/Trinity & KDE3 for Slackware

Код:
/tmp/build/tmp-tdepim/tdepim/korganizer/koeditorattachments.cpp:82:50: ошибка: некорректное преобразование из «char» в «const char*» [-fpermissive]


ошибка преобразования "char"/символа в "const char*"/указатель на символ/строку
ну... по идее это "натуральная ошибка" а не "подобие предыдущей", тут проблема с понятием "типа ... опа" :о)
(более точно и направленно пнуть не могу)

подождем советов

p.s.
если бы у вас был "выхлоп" на английском, то можно было бы "воткнуть ошибку" в гугль и побачить ша там, да как... :о)

Автор:  bormant [ 24 июн 2017 22:07 ]
Заголовок сообщения:  Re: TDE/Trinity & KDE3 for Slackware

Тут по хорошему нужно смотреть, как объявлен в пространстве имен KCal класс Attachment, какие у него есть конструкторы (по списку параметров), и какой из них тут собирались вызвать. Пока не смотрел. Может оказаться, что имелось в виду
Код:
         mAttachment = new KCal::Attachment( "" ); //use the non-uri constructor
или
Код:
         mAttachment = new KCal::Attachment( (const char*)NULL ); //use the non-uri constructor
или
Код:
         mAttachment = new KCal::Attachment( (const char*)0 ); //use the non-uri constructor
или что-то еще...

Страница 3 из 12 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/