Странная ошибка при сборке Lightscreen 2.4

Модератор: Модераторы разделов

Ответить
nick87720z
Сообщения: 178
ОС: Gentoo / Calculate

Странная ошибка при сборке Lightscreen 2.4

Сообщение nick87720z »

Исходники расположены на github, но при этом раздел Issues отключен, по тематике, думаю, как раз сюда подходит...

Нашёл прогу давно на alternatives давно, сейчас руки дошли запилить на нее ebuild.
https://github.com/ckaiser/Lightscreen

При сборке данного релиза возникает ошибка, которой нет в master (зато появилась другая, связанная с возвратом QPixmap из QPair<QPixmap, QPointer>... в общем, вернемся к релизу
В файле ./tools/screenshot.h, в классе Screenshot, определен enum Result с элементами Failure, Success, Cancel, после которого - Q_ENUM (Result).
Здесь никакой разницы между релизом и срезом я н нашёл.
Дальше, этот заголовок используется в screenshot.cpp и ещё одном исходнике.

Вся проблема в записях типа Screenshot::Success - в том другом исходнике он не вызывает ошибок, но на screenshot.cpp, в релизе, выводит такое:

Код: Выделить всё

In file included from tools/screenshot.cpp:44:0:
tools/screenshot.cpp: В функции-члене «void Screenshot::save()»:
tools/screenshot.cpp:247:34: ошибка: expected unqualified-id before numeric constant
             result = Screenshot::Success;
                                  ^
tools/screenshot.cpp:257:79: ошибка: expected unqualified-id before numeric constant
             result = (QFile::rename(mUnloadFilename, fileName)) ? Screenshot::Success : Screenshot::Failure;
                                                                               ^
tools/screenshot.cpp:257:79: ошибка: expected «:» before numeric constant
tools/screenshot.cpp:259:34: ошибка: expected unqualified-id before numeric constant
             result = Screenshot::Success;
                                  ^
make: *** [Makefile:916: screenshot.o] Ошибка 1

(в срезе проходит без запинок)

Причём другие варианты, типа Success::Failure и Success::Cancel никакой аллергии не вызывают.
Если сравнить с версией из master, то вроде никаких изменений в этом плане нет, те же enum, Q_ENUM, и т.д.
Остается грешить на компилятор - он на некоторых пакетах то и дело вылетает с internal compiler error, некоторые собираются только со 2..4 попытки.

gentoo, gcc-5.4.0-r3, qt-5.7.1
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: Странная ошибка при сборке Lightscreen 2.4

Сообщение s.xbatob »

Сдаётся мне, что Success где-то определён как число через #define
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Странная ошибка при сборке Lightscreen 2.4

Сообщение Bizdelnick »

Покажите кусок лога побольше, чтобы было видно командную строку компилятора, и аналогичный кусок для сборки из master.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Vascom
Сообщения: 1699
ОС: Fedora 32

Re: Странная ошибка при сборке Lightscreen 2.4

Сообщение Vascom »

А что gcc такой старенький?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Странная ошибка при сборке Lightscreen 2.4

Сообщение Bizdelnick »

Vascom писал(а):
21.07.2017 14:51
А что gcc такой старенький?

Нормальный. В плане поддержки C++ с тех пор разве что что-то из C++17 могли добавить, но по умолчанию оно всё равно отключено.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
yars
Сообщения: 1144
Статус: Slacker!
ОС: Slackware64-current

Re: Странная ошибка при сборке Lightscreen 2.4

Сообщение yars »

Vascom писал(а):
21.07.2017 14:51
А что gcc такой старенький?

GCC7 там в оверлеях есть, кому надо, те перешли.
Slackware64-current/Xfce 4.12/Acer TravelMate 5760
-------------
Registered Linux User #557010
Спасибо сказали:
nick87720z
Сообщения: 178
ОС: Gentoo / Calculate

Re: Странная ошибка при сборке Lightscreen 2.4

Сообщение nick87720z »

Лог для релиза 2.4, субмодули скопированы из мастер-дерева после git submodule update:
https://gist.github.com/anonymous/3a2430174...b9fce002fa8926f

Для мастера:
https://gist.github.com/anonymous/0d852d714...444a741c504c523

p.s. Было больше интересно, соберется ли у кого-нибудь
Спасибо сказали:
Аватара пользователя
devilr
Сообщения: 3665
ОС: Mandriva => Gentoo (~amd64)
Контактная информация:

Re: Странная ошибка при сборке Lightscreen 2.4

Сообщение devilr »

Screenshot::Success определен в screenshot.h вполне нормально.
Другое дело, что в проекте кучи файлов просто нет. Если клонировать https://github.com/ckaiser/Lightscreen
А так, я бы собрал, наверное...
Мудрость приходит с возрастом.
Иногда возраст приходит один.
Эхо разума
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20752
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Странная ошибка при сборке Lightscreen 2.4

Сообщение Bizdelnick »

nick87720z писал(а):
21.07.2017 09:29
При сборке данного релиза возникает ошибка, которой нет в master

Так в том логе, который Вы привели для мастера, до компиляции этого файла даже дело на дошло.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
s.xbatob
Сообщения: 1139
ОС: Fedora

Re: Странная ошибка при сборке Lightscreen 2.4

Сообщение s.xbatob »

devilr писал(а):
22.07.2017 00:25
Screenshot::Success определен в screenshot.h вполне нормально.
Другое дело, что в проекте кучи файлов просто нет. Если клонировать https://github.com/ckaiser/Lightscreen
А так, я бы собрал, наверное...

Верю. Только судя по диагностике компилятор вместо слова Success видит числовую константу. Очень похоже на проказы препроцессора.
Спасибо сказали:
Ответить