LINUX.ORG.RU

Прошу проверить запуск релизной сборки программы (32 bit)

 ,


3

3

Готовлюсь к очередному релизу проекта MyTetra:

http://webhamster.ru/site/page/index/articles/projectcode/105

Сделал статическую 32-х битную сборку:

https://www.dropbox.com/s/h0upbkr1r0jjqrk/mytetra_1_42_1_lin_32.tar.gz?dl=0
mytetra_1_42_1_lin_32.tar.gz (22 Мб)
MD5: 10ece8aedf646b17cda1d16b0a0ca4a3

Кому не сложно, прошу проверить запуск этой сборки.

Отпишитесь, пожалуйста, здесь, на какой Linux системе удалось/не удалось запустить.

UPD:

Если есть возможность, прошу сделать 64-bit сборку. Рекомендуется Qt 5.4.2, но можно и 5.6.x. Исходники брать отсюда:

https://github.com/xintrea/mytetra_dev/releases/tag/v.1.42.2

Перечень библиотек можно подсмотреть в 32-bit сборке. Все файлы библиотек берутся от Qt. Системных библиотек там нет.

★★★★★

Последнее исправление: Xintrea (всего исправлений: 6)
Ответ на: комментарий от Deleted

У тебя такое впечатление, что не настроены пути к Qt-шным библиотекам. То есть, компилер не может найти заголовка QTranslator. dev-пакеты стоят?

Но проще всего скачать Qt с официального сайта. Я ни разу не смог сделать сборку через системные либы в дебиане.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от ZenitharChampion

В общем, проверил:

на Ubuntu 10.10 32 bit
на Linux Mint 17.3 32 bit
на Debian Linux 8.2 32.bit

Похоже, что сборка работает на относительно большом диапазоне дистров, учитывая временной период.

Буду релизиться, хотя хотелось бы уже иметь сборку на 64 бита на руках.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Deleted

Похоже, что ты раньше с Qt делов не имел. Тебе трудно будет. Я наверно на prog.org.ru попрошу народ.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Deleted

Блин, они сайт опять изменили, и добавили опросник. Переход на OpenSource версию происходит тогда, когда ты дашь ответы на первые три вопроса что будешь пилить именно опенсорч, иначе будет перекидывать на регистрацию.

Но вообще тебе сюда:

https://www.qt.io/download-open-source/

Прямой линк для скачивания:

http://download.qt.io/official_releases/qt/5.6/5.6.2/qt-opensource-linux-x64-...

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от evilface

Полёт нормальный.

Океюшки.

Xintrea ★★★★★
() автор топика

Не собирается.
Сначала прогнал qmake:

$ qmake
Project MESSAGE: Building running in Qt major version: 4
Project MESSAGE: Is release build
Project MESSAGE: Building the any OS version...
Project MESSAGE: Set installation directory for binary file to /usr/local/bin
Затем make:
$ make
g++ -c -pipe -std=c++11 -O2 -march=i586 -mtune=i686 -Wall -W -D_REENTRANT -DANY_OS=1 -DMEEGO_OS=2 -DANDROID_OS=3 -DTARGET_OS=ANY_OS -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/lib/qt/mkspecs/linux-g++ -I. -I/usr/lib/qt/include/QtCore -I/usr/lib/qt/include/QtNetwork -I/usr/lib/qt/include/QtGui -I/usr/lib/qt/include/QtXml -I/usr/lib/qt/include/QtSvg -I/usr/lib/qt/include -Isrc -Ibuild -o build/main.o src/main.cpp
g++ -c -pipe -std=c++11 -O2 -march=i586 -mtune=i686 -Wall -W -D_REENTRANT -DANY_OS=1 -DMEEGO_OS=2 -DANDROID_OS=3 -DTARGET_OS=ANY_OS -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/lib/qt/mkspecs/linux-g++ -I. -I/usr/lib/qt/include/QtCore -I/usr/lib/qt/include/QtNetwork -I/usr/lib/qt/include/QtGui -I/usr/lib/qt/include/QtXml -I/usr/lib/qt/include/QtSvg -I/usr/lib/qt/include -Isrc -Ibuild -o build/RecordTableScreen.o src/views/recordTable/RecordTableScreen.cpp
g++ -c -pipe -std=c++11 -O2 -march=i586 -mtune=i686 -Wall -W -D_REENTRANT -DANY_OS=1 -DMEEGO_OS=2 -DANDROID_OS=3 -DTARGET_OS=ANY_OS -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/lib/qt/mkspecs/linux-g++ -I. -I/usr/lib/qt/include/QtCore -I/usr/lib/qt/include/QtNetwork -I/usr/lib/qt/include/QtGui -I/usr/lib/qt/include/QtXml -I/usr/lib/qt/include/QtSvg -I/usr/lib/qt/include -Isrc -Ibuild -o build/RecordTableView.o src/views/recordTable/RecordTableView.cpp
g++ -c -pipe -std=c++11 -O2 -march=i586 -mtune=i686 -Wall -W -D_REENTRANT -DANY_OS=1 -DMEEGO_OS=2 -DANDROID_OS=3 -DTARGET_OS=ANY_OS -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/lib/qt/mkspecs/linux-g++ -I. -I/usr/lib/qt/include/QtCore -I/usr/lib/qt/include/QtNetwork -I/usr/lib/qt/include/QtGui -I/usr/lib/qt/include/QtXml -I/usr/lib/qt/include/QtSvg -I/usr/lib/qt/include -Isrc -Ibuild -o build/RecordInfoFieldsEditor.o src/views/record/RecordInfoFieldsEditor.cpp
g++ -c -pipe -std=c++11 -O2 -march=i586 -mtune=i686 -Wall -W -D_REENTRANT -DANY_OS=1 -DMEEGO_OS=2 -DANDROID_OS=3 -DTARGET_OS=ANY_OS -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/lib/qt/mkspecs/linux-g++ -I. -I/usr/lib/qt/include/QtCore -I/usr/lib/qt/include/QtNetwork -I/usr/lib/qt/include/QtGui -I/usr/lib/qt/include/QtXml -I/usr/lib/qt/include/QtSvg -I/usr/lib/qt/include -Isrc -Ibuild -o build/InfoFieldEnter.o src/views/record/InfoFieldEnter.cpp
g++ -c -pipe -std=c++11 -O2 -march=i586 -mtune=i686 -Wall -W -D_REENTRANT -DANY_OS=1 -DMEEGO_OS=2 -DANDROID_OS=3 -DTARGET_OS=ANY_OS -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/lib/qt/mkspecs/linux-g++ -I. -I/usr/lib/qt/include/QtCore -I/usr/lib/qt/include/QtNetwork -I/usr/lib/qt/include/QtGui -I/usr/lib/qt/include/QtXml -I/usr/lib/qt/include/QtSvg -I/usr/lib/qt/include -Isrc -Ibuild -o build/MetaEditor.o src/views/record/MetaEditor.cpp
src/views/record/MetaEditor.cpp: В функции-члене «void MetaEditor::setName(QString)»:
src/views/record/MetaEditor.cpp:255:34: ошибка: «class QString» has no member named «toHtmlEscaped»
   recordName->setText("<b>"+name.toHtmlEscaped()+"</b>");
                                  ^
src/views/record/MetaEditor.cpp: В функции-члене «void MetaEditor::setAuthor(QString)»:
src/views/record/MetaEditor.cpp:269:40: ошибка: «class QString» has no member named «toHtmlEscaped»
     recordAuthor->setText("<i>"+author.toHtmlEscaped()+"</i>");
                                        ^
Makefile:2515: ошибка выполнения рецепта для цели «build/MetaEditor.o»
make: *** [build/MetaEditor.o] Ошибка 1

Исходный код брал из стартового поста (1.42.1) и по сообщению выше (1.42.2) - одно и тоже.
Slackware 32 bit.

Deleted
()
Ответ на: комментарий от Xintrea

нужно Qt 5.4.2 или выше

Попробуй добавить в скрипт проверку версии Qt, чтобы при обнаружении версии ниже 5.4.2 (или хотя-бы 4 версии), сборка не осуществлялась.

Сейчас разибрал выхлоп и понял, что забирается 4 версия, так как путь по умолчанию ../qt, а установленные Qt 5.6.0 в каталоге ../qt5 «проходят мимо».
Редактирование в Makefile путей с qt на qt5 дает такой результат:

$ make
g++ -c -pipe -std=c++11 -O2 -march=i586 -mtune=i686 -Wall -W -D_REENTRANT -DANY_OS=1 -DMEEGO_OS=2 -DANDROID_OS=3 -DTARGET_OS=ANY_OS -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_XML_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/lib/qt5/mkspecs/linux-g++ -I. -I/usr/lib/qt5/include/QtCore -I/usr/lib/qt5/include/QtNetwork -I/usr/lib/qt5/include/QtGui -I/usr/lib/qt5/include/QtXml -I/usr/lib/qt5/include/QtSvg -I/usr/lib/qt5/include -Isrc -Ibuild -o build/MetaEditor.o src/views/record/MetaEditor.cpp
src/views/record/MetaEditor.cpp:1:22: фатальная ошибка: QBoxLayout: Нет такого файла или каталога
компиляция прервана.
Makefile:2515: ошибка выполнения рецепта для цели «build/MetaEditor.o»
make: *** [build/MetaEditor.o] Ошибка 1

QBoxLayout: Нет такого файла или каталога

Но:

$ locate QBox
/usr/include/qt5/QtWidgets/QBoxLayout
/usr/lib/qt/include/QtGui/QBoxLayout
В общем, какой-то косяк с путями...

Deleted
()
Последнее исправление: darkpony (всего исправлений: 1)
Ответ на: комментарий от Deleted

Блин, на лоре каши не сваришь.

Я не понимаю, как вы вообще ставите Qt?

Чтобы наверняка собрать, нужно поставить Qt с офсайта, запустить хотя бы креатор чтобы посмотреть какое окружение делается и сделать его по образу и подобию. Тогда соберется.

У меня работает такой минимум (нужно знать, в какой каталог установлен Qt):

export QTDIR=/opt/Qt_5_4_2/5.4/gcc

LD_LIBRARY_PATH=$QTDIR:$QTDIR/lib:$QTDIR/bin:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

PATH=/opt/Qt_5_4_2/5.4/gcc/bin:/usr/bin:/usr/local/bin:/usr/bin:/bin
export PATH

env

rm -f ./bin/mytetra

qmake -v
qmake mytetra.pro
make clean
make

Ваш qmake -v должен показать что-то типа:

QMake version 3.0
Using Qt version 5.4.2 in /opt/Qt_5_4_2/5.4/gcc/lib

Тогда соберется.

Xintrea ★★★★★
() автор топика
Последнее исправление: Xintrea (всего исправлений: 2)
Ответ на: комментарий от Xintrea

Блин, на лоре каши не сваришь.

Лучше меньше эмоций - они в данном случае только вредят.

Я не понимаю, как вы вообще ставите Qt?

Из бинарника.

Ваш qmake -v должен показать что-то типа:
qmake -v

Вот тут я проморгал ошибку: в моем случае нужно не qmake, а qmake-qt5. После этого начинает все нормально собираться, но не до конца: появляется множество подобных строчек:

.................................
InfoFieldEnter.cpp:(.text+0x190d): undefined reference to `QString::fromAscii(char const*, int)'
InfoFieldEnter.cpp:(.text+0x191c): undefined reference to `QString::operator==(QString const&) const'
InfoFieldEnter.cpp:(.text+0x1937): undefined reference to `QString::free(QString::Data*)'
InfoFieldEnter.cpp:(.text+0x1969): undefined reference to `QString::fromAscii(char const*, int)'
InfoFieldEnter.cpp:(.text+0x199e): undefined reference to `QString::fromAscii(char const*, int)'
InfoFieldEnter.cpp:(.text+0x1a27): undefined reference to `QString::
............................
после чего:
build/InfoFieldEnter.o:InfoFieldEnter.cpp:(.text+0x1bdc): more undefined references to `QString::free(QString::Data*)' follow
collect2: ошибка: выполнение ld завершилось с кодом возврата 1
Makefile:804: ошибка выполнения рецепта для цели «bin/mytetra»
make: *** [bin/mytetra] Ошибка 1

Deleted
()
Ответ на: комментарий от Deleted

К сожалению, что такое qmake-qt5 я не знаю.

Это похоже на какую-то особую, уличную сборку Qt для какого-то дистра.

Попробуй собрать по моей методике. Тебе нужно просто знать, где установлен твой Qt 5.6.0. Обрати внимание, что путь в QTDIR и в PATH прописывается, то есть надо в двух местах прописать правильный путь.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

надо в двух местах прописать правильный путь.

Внезапно, у меня $LD_LIBRARY_PATH вообще оказалась пустой о_0. Добавил пути и всё скомпилировалось. В общем, как я и изначально сказал «какой-то косяк с путями».
Позже попробую сделать slackbuild для автоматической сборки в пакет.
Спасибо за помощь.

Deleted
()
Ответ на: комментарий от Deleted

Ты можешь выложить бинарник и библиотеки, так как это сделано в архиве со сборкой на 32 бита:

https://www.dropbox.com/s/h0upbkr1r0jjqrk/mytetra_1_42_1_lin_32.tar.gz?dl=0

?

Только заархивировать нужно будет в tar.gz, а не в zip/rar, чтоб не потерялись локальные линки в каталоге lib.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Harald

У меня есть серваки, в которых 2 гига оперативы и они заняты процентов на 80-90%. Попытки вкорячить туда x86_64 натыкались на многочисленные выпады по OOM. Свои задачи, будучи собраны под 32-бита, они выполняют хорошо.

Внимание вопрос: мне нужна на них 64-битность ради... 64 битности? Или ради чего?

Update: я вел речь про серваки, на десктопах у меня уже везде давно 64 бита, даже на оффтопике. Просто категоричность твоих высказываний не позволяет понять делаешь ли ты различия между серверами и десктопами

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)

хорошая штука, мне понравилось. Debian 8 64bit запустилось, все вроде ок.

conalex ★★★
()
Ответ на: комментарий от Xintrea

Вечером выложу, только какой в этом смысл?

anonymous
()
Ответ на: комментарий от Xintrea

Ок, будет время вечером посмотрю.

Deleted
()

вин10 х64

Qt Creator 4.1.0 Based on Qt 5.7.0 (MSVC 2013, 32 bit)

Собирал MinGW.

Бинарь получился 65 Мб.

При запуске ругается на отсутствие

Qt5Guild.dll
Qt5Networkd.dll
Qt5Cored.dll
Qt5PrintSupport.dll

Так как в виндах мне разбираться лень (для этого и скачал qt creator, виндовую консоль не осилил), то я просто скопировал в директорию с нужными библиотеками, а линк разместил на рабочем столе.

Работает.

PunkoIvan ★★★★
()
Ответ на: комментарий от Xintrea

Поставил Qt, начал собирать, доставил mesa-common-dev и libgl1-mesa-dev, после все собралось и запустилось.

Deleted
()
Последнее исправление: log4tmp (всего исправлений: 1)
Ответ на: комментарий от PunkoIvan

Я скоро соберу под винду 32, покажу тебе как надо правильно сделать архив. М. б. зафтра.

Xintrea ★★★★★
() автор топика

Arch Linux, полет отличный

xDShot ★★★★★
()
Ответ на: комментарий от Deleted

Редактирование в Makefile путей с qt на qt5 дает такой результат:

Господи, а сделать вместо

$ qmake

--

$ /opt/toolkits/QtSDK/Qt5.7.0/5.7/gcc_64/bin/qmake

Ты не смог догадаться? Оно бы тебе всё правильно прописало как нужно и руками править абсолютно ничего бы не пришлось.

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от PunkoIvan

При запуске ругается на отсутствие

Переключи сборку на Release, ибо в MS Windows дебажные и релизные библиотеки разные. Первые имеют постфикс d в своём названии.

Бинарь получился 65 Мб.

Опять же, Debug-сборка, внутри бинаря абсолютно все исходники.

EXL ★★★★★
()
Ответ на: комментарий от Xintrea

Ок, хорошо.

Вопрос - хотелок своих куда писать? В гит валить? Мне банально не хватает разных цветов для шрифта. Или не нашёл..

Ну и еще парочка есть вопросов.

А так - впечатления просто супер, отличная программа, спасибо!

PunkoIvan ★★★★
()
Ответ на: комментарий от EXL

Ок, посмотрю-потыкаю, но разбираться особо не хочется, если честно :) Работает - и хрен с ним.

PunkoIvan ★★★★
()
Ответ на: комментарий от PunkoIvan

Вопрос - хотелок своих куда писать? В гит валить?

Можешь на форум http://webhamster.ru/punbb , можешь в гит.

Мне банально не хватает разных цветов для шрифта. Или не нашёл..

Есть начиная с версии 1.28

http://webhamster.ru/site/page/index/articles/projectcode/143

Раздел «Скрытые возможности». А редактировать конфиг теперь можно прямо в редакторе.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

Спасибо!!

Сейчас в гит напишу еще 1 вопрос. Именно - шифрование.

Включаем шифрование при открытии - закрываем программу.

Открываем программу - программа просит пароль, но всё равно открывает главное окно с последней открытой записью.

То есть, последняя открытая запись доступна без пароля.

PunkoIvan ★★★★
()
Ответ на: комментарий от PunkoIvan

Ты уверен в этом? Запиши пожалуйста видео с десктопа, например через recordmydesktop, можно без звука. У меня такое не повторяется и повторяться не может. Может быть, у тебя в настройках стоит галка «Запомнить пароль» ?

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Deleted

Благодарю, завтра посмотрю.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

Завтра попробую сделать, но не обещаю, могу скриншотов наделать в процессе, пойдёт?

Пароль не запоминал точно.

Еще (может важно) - на записях у меня не стоит шифровка, стоит шифровка глобально при открытии программы. Днём дам всю информацию.

PunkoIvan ★★★★
()
Ответ на: комментарий от PunkoIvan

Завтра попробую сделать, но не обещаю, могу скриншотов наделать в процессе, пойдёт?

Пойдет и скриншотами, если ты не мастер фотошопа конечно (ничего личного, но на практике я с таким встречался)

Еще (может важно) - на записях у меня не стоит шифровка,

Если не стоит шифровка, значит записи не зашифрованы, логично?

стоит шифровка глобально при открытии программы. Днём дам всю информацию.

Дело в том, что в MyTetra никогда не было глобального шифрования. Ничего похожего на «шифровка глобально при открытии программы» в MyTetra нет. О какой настройке ты говоришь?

Xintrea ★★★★★
() автор топика
Последнее исправление: Xintrea (всего исправлений: 1)
Ответ на: комментарий от Xintrea

Нет, не мастер фотошопа :)

Спрашивать пароль при старте:

https://drive.google.com/open?id=0B326hyo0CQl0RkdwUFQzejJMUzA

Открываем любую запись - закрываем программу - открываем программу и видим:

https://drive.google.com/open?id=0B326hyo0CQl0emJrM0Q4RVp4UlE

Я к чему - может, при опции «спрашивать пароль при старте» автоматически считать все файлы зашифрованными? Это вполне логично, имхо.

PunkoIvan ★★★★
()
Ответ на: комментарий от PunkoIvan

А, ясно. Ты просто неправильно понял опцию. Это не шифрование, это режим, как показывать запрос пароля, если есть зашифрованные ветки.

Чтобы зашифровать данные, нада кликнуть правой кнопкой по ветке, и выбрать Зашифровать.

И вот когда у тебя будет хоть что—то зашифровано, тогда будет иметь смысл эта опция.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Xintrea

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

Deleted
()
Ответ на: комментарий от Xintrea

Я просто думал, что это глобальная опция. Ведь это вполне логично - запрашивать пароль при старте => ВСЕ записи зашифрованы.

Это можно реализовать?

Спасибо за быстрые ответы, приятно общаться с такими разработчиками.

PunkoIvan ★★★★
()
Ответ на: комментарий от PunkoIvan

Я просто думал, что это глобальная опция. Ведь это вполне логично - запрашивать пароль при старте => ВСЕ записи зашифрованы.

Там же радиокнопка: или пароль при клике на зашифрованную ветку, или сразу при старте. Если бы была галка, тогда бы было логично.


Это можно реализовать?

Смысла нет делать именно так. Но если хочется чтоб все было зашифровано, просто делаете корневую ветку «Моиличныеданныеникомуихнепокажу» и делаете ее зашифрованной, остальное размещаете внутри нее.

Xintrea ★★★★★
() автор топика
Ответ на: комментарий от Deleted

но курсор-эпилептик в qt5 реально раздражает

Может, это только у тебя так? У меня курсор в Qt5 нормальный, да и никто не жаловался.

Xintrea ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.