Смотрите выше в теме.
http://webhamster.ru/punbb/viewtopic.php?pid=417#p417

AdamK пишет:

make: g++: Команда не найдена
make: *** [build/SaveLoad.o] Ошибка 127

Все что нужно для этого стоит - qt4

Куда копать?

Компилятор GCC C++ установите.

У меня эта ошибка появлялась на любой архитектуре. С патчем компилируется везде.

SergMarеv пишет:

Некий товарищ испанец начал собирать слакбилд на x64 и получил вот такую загогулину
> g++ -c -O2 -fPIC -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_SVG_LIB
> - DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED
> - I/usr/lib64/qt/mkspecs/linux-g++-64 -I.
> -I/usr/lib64/qt/include/QtCore - I/usr/lib64/qt/include/QtNetwork
> -I/usr/lib64/qt/include/QtGui - I/usr/lib64/qt/include/QtXml
> -I/usr/lib64/qt/include/QtSvg - I/usr/lib64/qt/include -Ibuild -o
> build/qtlocalpeer.o src/qtsingleapplication/qtlocalpeer.cpp
> src/qtsingleapplication/qtlocalpeer.cpp: In constructor
> 'QtLocalPeer::QtLocalPeer(QObject*, const QString&)':
> src/qtsingleapplication/qtlocalpeer.cpp:103:54: error: '::getuid' has
> not been declared
> src/qtsingleapplication/qtlocalpeer.cpp:103:54: note: suggested
> alternative:
> In file included from
> src/qtsingleapplication/qtlockedfile_unix.cpp:49:0,
>                  from src/qtsingleapplication/qtlocalpeer.cpp:67:
> /usr/include/unistd.h:698:16: note:   'QtLP_Private::getuid'
> make: *** [build/qtlocalpeer.o] Error 1

Что это за ошибка ? На i386 никаких ошибок нет.

http://webhamster.ru/punbb/viewtopic.php?pid=417#p417

При компиляции с GCC 4.7 в Linux происходит ошибка:

g++ -c -pipe -fomit-frame-pointer -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/default -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include/QtSvg -I/usr/include -Ibuild -o build/qtlocalpeer.o src/qtsingleapplication/qtlocalpeer.cpp
 src/qtsingleapplication/qtlocalpeer.cpp: In constructor 'QtLocalPeer::QtLocalPeer(QObject*, const QString&)':
 src/qtsingleapplication/qtlocalpeer.cpp:103:54: error: '::getuid' has not been declared
 src/qtsingleapplication/qtlocalpeer.cpp:103:54: note: suggested alternative:
 In file included from src/qtsingleapplication/qtlockedfile_unix.cpp:49:0,
                  from src/qtsingleapplication/qtlocalpeer.cpp:67:
 /usr/include/unistd.h:698:16: note:   'QtLP_Private::getuid'
 g++ -c -pipe -fomit-frame-pointer -fmessage-length=0 -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector -funwind-tables -fasynchronous-unwind-tables -g -O2 -Wall -W -D_REENTRANT -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/default -I. -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtXml -I/usr/include/QtSvg -I/usr/include -Ibuild -o build/qtsinglecoreapplication.o src/qtsingleapplication/qtsinglecoreapplication.cpp
 make: *** [build/qtlocalpeer.o] Error 1

Помогает патч:

Index: src/qtsingleapplication/qtlocalpeer.cpp
===================================================================
--- src/qtsingleapplication/qtlocalpeer.cpp.orig
+++ src/qtsingleapplication/qtlocalpeer.cpp
@@ -57,6 +57,7 @@ static PProcessIdToSessionId pProcessIdT
 #endif
 #if defined(Q_OS_UNIX)
 #include <time.h>
+#include <unistd.h>
 #endif
 
 namespace QtLP_Private {

Спасибо. Я пропустил этот момент.

Собрал пакеты с новой версией для openSUSE.
Проверил. Шифрование и расшифровка работают нормально.

xintrea пишет:
Lazy_Kent пишет:

Меня больше интересует, как обстоят дела с криптографической библиотекой?

Она встроена в MyTetra и работает. Я храню данные на github.com, зашифровав приватную ветку. Пока еще никто не написал "гыгыгы, чувак, мы знаем все твои пароли".

Я имел ввиду проблему с 64-битной версией. Планировалось обновление с исправлением.

2. панель/облако меток (тегов).

2. Нехватает окна с полным списком меток(тэгов).

Ну есть же поле со списком меток. Куда вы смотрите?

Меня больше интересует, как обстоят дела с криптографической библиотекой?

Unnamed_Hero пишет:

3. В pro файле есть запись

QMAKE_LFLAGS += -L/usr/lib/qt4/lib

В 64 битных системах в подавляющем случае библиотеки лежат в /usr/lib64

Похоже, это никак не влияет.
С остальными двумя согласен.

Alexandroid пишет:

Баг с  шифрованием.
Система openSUSE 11.4 x86_64, сборка из OBS от Lazy_Kent-а

А я и не проверил шифрование. Виноват. sad

Отправил результаты теста автору. Будем надеяться на исправления.

Пока откатываю пакеты на предыдущую версию.

xintrea пишет:
Shura пишет:

Не собирается:

src/crypt/Password.cpp: In member function ‘void Password::smartSaveMiddleHash(QString)’:
src/crypt/Password.cpp:261:86: error: cannot call constructor ‘QString::QString’ directly
src/crypt/Password.cpp:261:86: error:   for a function-style cast, remove the redundant ‘::QString’
make: *** [build/Password.o] Ошибка 1
$ qmake -v
QMake version 2.01a
Using Qt version 4.7.2 in /usr/lib

Заменил в приведенных строках
QString::QString() на QString() и всё скомпилилось.

В какой операционке компилируете? Ошибка странная, такое впечатление, что в вашем Qt 4.7.2 изменённая реализация QString.

В Qt 4.7.4 под Windows у меня компилируется без ошибок.

Это происходит при использовании GCC 4.5 и выше.
Помогает добавление к CXXFLAGS опции -fpermissive для смягчения проверки.
Но вообще это ошибка в коде.

gcc 4.6.
Будем релизить openSUSE 12.1 в ноябре. Но это первая ласточка. Другие дистры тоже перейдут на новый компилятор. Поэтому решать придётся, в любом случае.

Я в этом не силён, пытайтесь найти нужные опции в документации.

Я ещё менее силён. Подозреваю, что опции компилятора не удастся смягчить, так как всё заложено в %{optflags} дистрибутива. Иначе, у меня BuildService зарубит пакет на проверке логов, что, в общем-то, правильно.

Возникла проблема с компиляцией MyTetra 1.28 для openSUSE 12.1.
Полный лог здесь: https://build.opensuse.org/package/rawl … SE_Factory

Посмотрите, пожалуйста.
Версия openSUSE тестовая — новый компилятор и другие компоненты. В текущих всё компилируется нормально.

xintrea пишет:

Омазафакабуллщит, что значат все эти строчки? Я не майнтейнер, мне эти ероглифы ни о чем не говорят. Makefile генерируется qmake из *.pro-файла. Напишите, что нужно в *.pro прописать, чтобы получить сие в конечном Makefile.

А я не знаю, что написать. Суть в том, что разными версиями qmake генерятся разные Makefile. Надо изучать документацию qmake, чтобы понять, почему это происходит.

xintrea пишет:
Lazy_Kent пишет:

mytetra_binary.path=/usr/local/bin — жёстко прописывать путь неправильно. Мне нужно в /usr/bin/ ставить. Пришлось патчить файл проекта.

А как правильно?

Правильно — задать переменную. Примерно, так:

INSTALL_PREFIX = /usr
mytetra_binary.path = $${INSTALL_PREFIX}/bin

А при компиляции можно любое значение присвоить.

xintrea пишет:
Lazy_Kent пишет:

Файл mytetra.desktop имеет исполняемый атрибут в архиве.

Делал на основе другого файла, взятого из системы. У него установлены исполняемые атрибуты. Уверены, что без исполняемого атрибута этот файл будет работать как положено?

Абсолютно уверен. Это же не скрипт, чтобы исполняться.


Программа нужная. Спасибо. Собрал пакеты для openSUSE/SLE.
http://software.opensuse.org/search?q=m … debug=true


На английской странице "powerfull programm" пишется с одной l и одной m.

Претензии к сборке.

При компиляции с Qt 4.5 и 4.6 не устанавливается бинарник. С Qt 4.7 всё нормально.
В первых двух случаях в Makefile отсутствует фрагмент.

install_mytetra_binary: first FORCE
    @$(CHK_DIR_EXISTS) $(INSTALL_ROOT)/usr/bin/ || $(MKDIR) $(INSTALL_ROOT)/usr/bin/ 
    -$(INSTALL_PROGRAM) /usr/src/packages/BUILD/mytetra-1.28/bin/mytetra $(INSTALL_ROOT)/usr/bin/

mytetra_binary.path=/usr/local/bin — жёстко прописывать путь неправильно. Мне нужно в /usr/bin/ ставить. Пришлось патчить файл проекта.

Файл mytetra.desktop имеет исполняемый атрибут в архиве.

В mytetra.pro фигурирует icon_48_file.files. Самой иконки нет.

Ну, и ещё несколько некритичных недостатков.

Претензии по эксплуатации ещё напишу. smile