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

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

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

Класс Attachement:
- объявление: http://mirror.git.trinitydesktop.org/cg ... tachment.h
- определение: http://mirror.git.trinitydesktop.org/cg ... chment.cpp

Конструкторов у него 3:
Код:
    Attachment( const Attachment &attachment );
    Attachment( const TQString &uri, const TQString &mime = TQString() );
    Attachment( const char *base64, const TQString &mime = TQString() );

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

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

вопрос, а мог "компилятор перепутать 2й и 3й конструкторы"? они же, вроде, даже "почти очень похожи"... :о) и отличаются "как раз типами", хотя у 2го тип TQString (я не в курсе что это за тип, можно ведь предположить, что это обычный "типизированный char")...

Код:
Attachment( const TQString &, const TQString &mime = TQString() );
Attachment( const char     *, const TQString &mime = TQString() );

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

sunjob,
не мог, у 1 и 2 конструкторов первым параметром "ссылка", C++ не путает ее с "указателем".
Тут надо отметить, что несмотря на то, что в Си и С++ есть тип char, означает он лишь "число размером в единицу хранения", то есть размером в байт, никакой "символьности" он в себе не несёт. Поэтому и (char)0, и '\0' -- суть одно и то же -- число 0. Просто 0 (ноль) -- это число размером больше -- int.

Начиная со стандарта C++11 для указателя можно использовать "nullptr", но в предыдущих стандартах (и предыдущих компиляторах) этого ключевого слова нет.
В C++ можно использовать просто 0 там, где предполагается использовать NULL.

Теперь про не-компилятор -- программиста, оставившего комментарий -- вызываем не-URI конструктор. Если глянуть в исходник с объявлением класса, заметим там Doxygen-комментарий:
Код:
    /**
      Create a Reference to some URI.

      @param uri the uri this attachment refers to
      @param mime the mime type of the resource being linked to
    */
    Attachment( const TQString &uri, const TQString &mime = TQString() );
то есть, тот самый URI-конструктор, который не собирались вызывать в этом месте.

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

умным покаряется дорога
... старикам везде у нас почет!
сенк ю, все понятно, кланяюсь, так и думал :о)

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

Патч бы для этого дела нужен...

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

Цитата:
Патч бы для этого дела
И что-же останавливает? Что и как поправить вроде рассказал, diff -u позвать вроде тоже несложно...

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

Благодарю! Только перезалейте, а то:
Цитата:
Hmm... Looks like a unified diff to me...
can't find file to patch at input line 3

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

А где korganizer/koeditorattachments.cpp лежит? В предыдущем варианте считал, что в $CWD/tdepim/korganizer/koeditorattachments.cpp
Выкинул tdepim/ из пути, перезалил, проверяйте.

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

А где korganizer/koeditorattachments.cpp лежит? В предыдущем варианте считал, что в $CWD/tdepim/korganizer/koeditorattachments.cpp
Выкинул tdepim/ из пути, перезалил, проверяйте.

Всё ок :-): Огромное спасибо за помощь!
Вроде работает:

Изображение

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

Дорогу осилит идущий. Так держать.
Всегда пожалуйста, обращайтесь.

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

Выкладываю дерево сборки TDE 14.0.4 для текущей ветки Слаки. Скрипт полностью автоматизированный, сборка на моей машине (core2duo e8400) занимает примерно 4-8 часов (с локализацией). Сделано по мотивам:

http://www.giustetti.net/wiki/index.php?title=En/Trinity_desktop_environment_14.0.4_raspberry_pi_3

из зависимостей нужно будет поставить imlib, если нужна локализация снять комментарий с 320 строчки в /tde_build_script/bin/TDE.slackbuild. Патчи с этой ветки лежат в соответствующих каталогах сборки, если будете собирать под 14.2 системой, закомментируйте строчку zcat $CWD/name.gz | patch -p1 --verbose || exit 1 в пакетах tdebase, tdenetwork и tdepim. Доработка и улучшения приветствуются :-):

зы. Ставил в полной системе (метод установки full). Есть идея сделать минималистическую Слаку, накатить туда Trinity, чтобы в системе были только необхбдимые для него пакеты. Тут правда не разбирался досканально, как-то пробовал без ветки KDE и XFCE, но не смог собрать, каких-то библиотек не хватает...

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

to Algierd

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

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

imlib единственная библиотека вне официальной сборки которая нужна пакету tdegraphics. Всё остальное уже есть в полной комплектации Slackware.

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

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

набросать это все в текстовик и добавить в архив

все, конечно же, имхо

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

KDE3 Serghei Amelian mod - ошибка сборки

добрый день

ошибка сборки
Код:
/usr/lib/gcc/i486-slackware-linux/4.5.2/../../../../i486-slackware-linux/bin/ld: cannot find -lINTERFACE
/usr/lib/gcc/i486-slackware-linux/4.5.2/../../../../i486-slackware-linux/bin/ld: cannot find -lPRIVATE

обычно подобные "ошибки" проявляются, если линковщиком не находится к.л. библиотека
Код:
ld cannot find -l<library>

в данном случае, ск.вс. либо используются "шаблоны", кот. должны заменяться sed-ом на что-либо нужное, ну... либо я чего-т не знаю, или не понимаю, могу предположить, что версия "develop-окружения" слишком "старая"
в любом случае я не знаю "что делать" :о)

"порывшись" в коде, нашел подходящие вхождения
cmake/KDE3Macros.cmake
Код:
# set interface libraries (only for shared)
unset( _shared_libs )
foreach( _lib ${_link} )
  if( NOT ${_lib} MATCHES ".+-static" )
    list( APPEND _shared_libs ${_lib} )
  endif(  )
endforeach( )
target_link_libraries( ${_target} INTERFACE ${_shared_libs} )

# set embedded archives
if( _embed )
  list( INSERT _link 0 -Wl,-whole-archive ${_embed} -Wl,-no-whole-archive )
endif( )

# set link libraries
if( _link )
  target_link_libraries( ${_target} PRIVATE ${_link} )
endif( )

# set dependencies
if( _dependencies )
  add_dependencies( ${_target} ${_dependencies} )
endif( )

внимательно присмотрешись и напрягжи свои извилины ... ни чего не нашел "поясняющего"

ИТАК, вопросы, пожелания
- можно в качестве помощи "просто пофилософствовать", приветствуется, что, надеюсь, поможет собраться с мыслями и найти решение
- можно прямо носом в код ткнуть
- можно ключ. слова
- можно ... да все можно, выслушаю внимательно

спасибо

Исходные данные
https://github.com/serghei?tab=repositories
Slackware 13.37 x32
ошибка сборки пакета - kdelibs

из данной "сборки" уже нормально собраны след. пакеты:
Код:
- qt3
- arts
- dbus-qt3
- poppler
- qca-tls1
- qca1

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

https://cmake.org/pipermail/cmake/2016-May/063400
Нужен cmake посвежее, котопый в курсе про эти ключевые слова и не будет пытаться использовать их как имена библиотек.
Либо патчить *.cmake, выкидывая неподдерживаемые фичи.

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

> Либо патчить *.cmake, выкидывая неподдерживаемые фичи.
в 2х словах поподробнее
- патчить/пересобирать бинарник cmake
или
- патчить текстовый/ые файл-сборщик

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

и в догонку, в какой версии появились эти "фишки"? (может действительно попробовать пересобрать "рабочее окружение, и что обычно тянет за собой апгрейд cmake, какие еще библиотеки/пакеты нужно будет обновить за cmake? учитывая, конечно, что базовая система будет неизменной Slackware 13.37

спасибо

p.s.
т.е. в данном случае не надо за меня делать эти самые патчи/изменения, мне просто нужно более четкое понимание картины :о)

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

Навскидку, должно хватить
Код:
find . -name \*.cmake | xargs sed -i -e s,PRIVATE,,g -e s,PUBLIC,,g -e INTERFACE,,g

либо, если позволяет версия cmake,
Код:
find . -name \*.cmake | xargs sed -i -e s,PRIVATE,LINK_RIVATE,g -e s,PUBLIC,LINK_PUBLIC,g -e INTERFACE,LINK_INTERFACE_LIBRARIES,g

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

спасибо, попробую

update (был небольшой косячек :о)
Код:
find . -name \*.cmake | xargs sed -i -e s,PRIVATE,,g -e s,PUBLIC,,g -e s,INTERFACE,,g

find . -name \*.cmake | xargs sed -i -e s,PRIVATE,LINK_RIVATE,g -e s,PUBLIC,LINK_PUBLIC,g -e s,INTERFACE,LINK_INTERFACE_LIBRARIES,g


...

на второй патч выдается "подобная" ошибка
Код:
ld: cannot find -lLINK_RIVATE


на первый патч, немного другая
Код:
In file included from /dev/shm/_KDE3/kde3-kdelibs/kde3-kdelibs-3.5.10.tgz/kde3-kdelibs/triq/kstringlist.h:24:0,
                 from /dev/shm/_KDE3/kde3-kdelibs/kde3-kdelibs-3.5.10.tgz/kde3-kdelibs/dcop/dcopclient.h:30,
                 from /dev/shm/_KDE3/kde3-kdelibs/kde3-kdelibs-3.5.10.tgz/kde3-kdelibs/dcop/dcopstub.cpp:26:
/dev/shm/_KDE3/kde3-kdelibs/kde3-kdelibs-3.5.10.tgz/kde3-kdelibs/triq/klist.h: In function ‘QDataStream& operator<<(QDataStream&, const KList<T>&)’:
/dev/shm/_KDE3/kde3-kdelibs/kde3-kdelibs-3.5.10.tgz/kde3-kdelibs/triq/klist.h:267:24: error: expected initializer before ‘:’ token
/dev/shm/_KDE3/kde3-kdelibs/kde3-kdelibs-3.5.10.tgz/kde3-kdelibs/triq/klist.h:270:5: error: expected primary-expression before ‘return’
/dev/shm/_KDE3/kde3-kdelibs/kde3-kdelibs-3.5.10.tgz/kde3-kdelibs/triq/klist.h:270:5: error: expected ‘;’ before ‘return’
/dev/shm/_KDE3/kde3-kdelibs/kde3-kdelibs-3.5.10.tgz/kde3-kdelibs/triq/klist.h:270:5: error: expected primary-expression before ‘return’
/dev/shm/_KDE3/kde3-kdelibs/kde3-kdelibs-3.5.10.tgz/kde3-kdelibs/triq/klist.h:270:5: error: expected ‘)’ before ‘return’


Код:
//
// triq/klist.h
//

template <class T>
inline QDataStream & operator<<(QDataStream &stream, const KList<T> &list)
{
    stream << static_cast<Q_UINT32>(list.count());

    for(const auto &it : list) // <-- !!! line: 267
        stream << it;

    return stream;
}


думаю что в новом стандарте "добавили" работу со списками/циклами (раньше не пересекался с ними так близко, могу ошибаться)... видимо версия компилятора действительно старая

в догонку, общий вопрос:
я так понимаю, что для установки нового cmake достаточно будет собрать именно его, без необходимости пересобирать все остальное develop-окружение (при условии, конечно, что версии develop-окружения подходящие, а не как в данном случае)?

спасибо

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

Цитата:
на второй патч
угу, этих слов он тоже не знает.
Цитата:
на первый патч
на самом деле, не на патч. Патч свое дело сделал, ошибки линковки ушли.
То, на что ругается — это синтаксис цикла for() из новых стандартов C++, или 14, или 11 (вероятнее). Нужно проверить, можно ли включить параметром при вызове, либо наличный g++ про такой синтаксис не в курсе совсем, поскольку поддержка добавлена в более поздних версиях.

Про cmake — в целом да. Но может и не собраться из-за требований к окружению. Да и профита от его обновления не сильно-то много.

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