ошибка сборки Qt5-приложения

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

Ответить
Аватара пользователя
sunjob
Сообщения: 330
Контактная информация:

ошибка сборки Qt5-приложения

Сообщение sunjob »

добрый день

подробности:
сборка на рабочей станции - с ошибкой
сборка на виртуалке - без проблем
прочие не Qt-сборки (на рабочей тачке) без проблем

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

пробовал (не дало разультатов):
- проверять настройки рабочего окружения (env), ни чего особенного
- export UIC=$QTBIN/uic
- export QT_QMAKE_EXECUTABLE=$QMAKE
- export QMAKESPEC=$QTDIR/mkspecs/linux-g++-$_X # X=32/64
- /etc/ld.so.conf
- "прятал" все прочие версии qt, оставлял в системе только Qt5

- что-то подобное рассмотрено тут URL
но, тем не менее, пока не рассматриваю, как "решение", т.к. в vbox-е собирается нормально (да и сборка qt нынче не сахар :о)

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

слакбилд свой, но, надеюсь, он не имеет отношения к ошибке :о)

сделал выхлоп с обоих систем, нашел различие в командах (на ошибочной цели), вывод ниже

перепахивать/заново переустанавливать/перенастраивать рабочую станцию не буду, нет времени

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

спасибо

нормальная сборка / from vbox - work code's

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

g++ -c -m64 -pipe -std=c++11 -O2 -fPIC -O2 -O2 -fPIC -std=gnu++11 -Wall -W -D_REENTRANT
-fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I
-isystem /usr/include/qt5
-isystem /usr/include/qt5/QtWidgets
-isystem /usr/include/qt5/QtGui
-isystem /usr/include/qt5/QtNetwork
-isystem /usr/include/qt5/QtCore -I.moc
-isystem /usr/include/libdrm -I.ui -I/usr/lib64/qt5/mkspecs/linux-g++-64 -o
.obj/moc_qsynthPaletteForm.o .moc/moc_qsynthPaletteForm.cpp
сборка с ошибкой / на рабочей тачке

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

g++ -c -m64 -pipe -std=c++11 -O2 -fPIC -O2 -O2 -fPIC -std=gnu++11 -Wall -W -D_REENTRANT
-fPIC -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I. -I.
-I/usr/lib64/qt5/include
-I/usr/lib64/qt5/include/QtWidgets
-I/usr/lib64/qt5/include/QtGui
-I/usr/lib64/qt5/include/QtNetwork
-I/usr/lib64/qt5/include/QtCore -I.moc
-isystem /usr/include/libdrm -I.ui -I/usr/lib64/qt5/mkspecs/linux-g++-64 -o
.obj/moc_qsynthPaletteForm.o .moc/moc_qsynthPaletteForm.cpp

.moc/moc_qsynthPaletteForm.cpp:263:3: error: cannot convert ‘const QMetaObject* const*’ to ‘const
QMetaObject::SuperData*’ in initialization

 } };
   ^
исходные данные

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

- slackware  14.2 x64
- vbox       5.2.36
- qt5        5.12.8
- qt5_webkit 5.9.1
- qsynth     0.9.4
Последний раз редактировалось sunjob 18.10.2021 13:02, всего редактировалось 1 раз.
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2655
ОС: Gentoo

Re: ошибка сборки QT5-приложения

Сообщение ormorph »

Судя по выводу конфиги сборки в mkspecs разные. На vbox используется -isystem, а на рабочей -I.
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 330
Контактная информация:

Re: ошибка сборки Qt5-приложения

Сообщение sunjob »

да не... идентичны до md5
> версии системы/пакетов из "одной бочки"
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2655
ОС: Gentoo

Re: ошибка сборки Qt5-приложения

Сообщение ormorph »

sunjob писал(а):
18.10.2021 13:03
да не... идентичны до md5
Ну а что за версия qsynth?
Хотелось бы взглянуть на сгенерированный файл .moc/moc_qsynthPaletteForm.cpp
Самому интересно, как QMetaObject* вдруг приводится к типу const
QMetaObject::SuperData*.
Ну и каким образом происходит создание Makefile(qmake, configure, cmake)?
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 330
Контактная информация:

Re: ошибка сборки Qt5-приложения

Сообщение sunjob »

qsynth 0.9.4

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

case "$(uname -m)" in
x86_64) _X=64 ;;
*     ) _X=32 ;;
esac

   QT=${QT:-5}
QTDIR=${QTDIR:-/usr/lib$x/qt$QT}
#msg "QTDIR = $QTDIR";
export               QTDIR=/usr/lib$x/qt$QT
export               QTLIB=$QTDIR/lib
export               QTINC=$QTDIR/include
export               QTBIN=$QTDIR/bin
export               QMAKE=$QTBIN/qmake
export                PATH=$QTBIN:$PATH
export QT_QMAKE_EXECUTABLE=$QMAKE
export                 UIC=$QTBIN/uic
export           QMAKESPEC=$QTDIR/mkspecs/linux-g++-$_X
                  ADD_ARG+=" --with-qt=$QTDIR"

### DEBUG ###
# export QT5DIR=/usr/lib64/qt5
# export QT_QPA_PLATFORMTHEME=qt5ct
# export          CFLAGS+=" -fpermissive"
# export BOOTSTRAPCFLAGS+=" -fpermissive"

DESC+=" | QT=$QT"; TAG+=_qt$QT

#./configure --help > $CWD/$NAME-$VER.conf.all #; exit 1
./configure \
       --prefix=${PREF}  \
   --sysconfdir=${ETC}   \
       --bindir=${BIN}   \
       --mandir=${MAN}   \
       --docdir=${DOC}   \
       --libdir=${LIB}   \
   --includedir=${INC}   \
--localstatedir=/var     \
--build=${ARCH}-slackware-linux ${ADD_ARG:-}

mk_build
mk_strip
mk_doc
mk_pkg_inst
mk_pkg
содержимое "отсканирую" позже...
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2655
ОС: Gentoo

Re: ошибка сборки Qt5-приложения

Сообщение ormorph »

sunjob писал(а):
18.10.2021 15:00
qsynth 0.9.4
Хм, эта версия для QT6, она конечно собирается под qt5, но только через cmake. У вас судя по выводу скорее всего собиралось через configure, так как должен был собраться файл config.h. Либо используете какой то патч.
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2655
ОС: Gentoo

Re: ошибка сборки Qt5-приложения

Сообщение ormorph »

Хотя пардон, под Qt5 тоже собирается без патчей используя configure. Для сборки достаточно добавить параметр "--enable-qt6=no". Проверил у меня moc файл сгенерировался без приведения типа.
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 330
Контактная информация:

Re: ошибка сборки Qt5-приложения

Сообщение sunjob »

в догонку... :о)
cat http://slackbuilds.org/slackbuilds/14.2/audio/qsynth/qsynth.SlackBuild

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

...
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
  --prefix=/usr \
  --libdir=/usr/lib${LIBDIRSUFFIX} \
  --sysconfdir=/etc \
  --localstatedir=/var \
  --mandir=/usr/man \
  --docdir=/usr/doc/$PRGNAM-$VERSION \
  --build=$ARCH-slackware-linux

make -j1
make -j1 install DESTDIR=$PKG
...
п.с. доберусь до железа, попробую кувалдочкой присмотреться :о)
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
Аватара пользователя
ormorph
Сообщения: 2655
ОС: Gentoo

Re: ошибка сборки Qt5-приложения

Сообщение ormorph »

Ну так это старый слакбилд, там версия 0.6.2, для сборки версии 0.9.4 он не подходит, придётся подправить. А так исходник качал от сюда.
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 330
Контактная информация:

Re: ошибка сборки Qt5-приложения

Сообщение sunjob »

... он не подходит ...
все подходит :) ,собираю-то я одним слакбилдом :crazy: а ссылку дал на всякий случай :rolleyes:

add: долбанул кувалдой по слакбилду, добавил "правильную команду сборки" - сборка модуля прошла без ошибки

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

make $JOB || \
echo "### ERROR BUILD ###" && \
cd src && \
g++ -c <blah-blah-blah work build code> && \
echo "### REPEAT BUILD OK ###"

-->

.moc/moc_qsynthPaletteForm.cpp:259:3: error: cannot convert ‘const QMetaObject* const*’ to ‘const QMetaObject::SuperData*’ in initialization
 } };
   ^
Makefile:5001: recipe for target '.obj/moc_qsynthPaletteForm.o' failed
make[2]: *** [.obj/moc_qsynthPaletteForm.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/dev/shm/tmp/sun/x/qsynth-0.9.4/qsynth-0.9.4/src'
qsynth.mak:46: recipe for target 'sub-src-make_first' failed
make[1]: *** [sub-src-make_first] Error 2
make[1]: Leaving directory '/dev/shm/tmp/sun/x/qsynth-0.9.4/qsynth-0.9.4'
Makefile:95: recipe for target 'src/qsynth' failed
make: *** [src/qsynth] Error 2
### ERROR BUILD ###
### REPEAT BUILD OK ###
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
Аватара пользователя
sunjob
Сообщения: 330
Контактная информация:

Re: ошибка сборки Qt5-приложения

Сообщение sunjob »

Проблема решена, причина была в замусоренном каталоге qt5, в частности include :o)
всем спасибо за внимание, сопереживание и помощь! :о)
если я ошибаюсь, то поправьте а не критикуйте :о)
Спасибо сказали:
Ответить