Discussion:
Which modules compile? QtQuick3D errors
Thiago Macieira
2011-10-19 23:16:24 UTC
Permalink
Are all modules linked from qt5.git supposed to compile? I could compile most
modules, but not all.

QtLocation depends on QtQuick3D, but I can't get QtQuick3D to compile. There
appears to be a conflict between QtGui and QtQuick3D when it comes to
qopenglfunctions.h.

Both modules have this file, with the same #ifdef guards. The contents appear
to be similar. However, the copy in QtGui has changed the #define name of a
macro which QtQuick3D appears to use, rendering QtQuick3D uncompileable and,
thus, QtLocation.
--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
Software Architect - Intel Open Source Technology Center
PGP/GPG: 0x6EF45358; fingerprint:
E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
Rohan McGovern
2011-10-20 00:04:29 UTC
Permalink
Post by Thiago Macieira
Are all modules linked from qt5.git supposed to compile? I could compile most
modules, but not all.
The SHA1 combination pointed to by the qt5.git submodules is supposed to give
you something that has been successfully compiled on various platforms
(at least some Linux and Mac).

The compilation procedure only includes the things which are compiled by
default, though (e.g. if a module does not appear in qt.pro then it is
not included in this test).
Post by Thiago Macieira
QtLocation depends on QtQuick3D, but I can't get QtQuick3D to compile. There
appears to be a conflict between QtGui and QtQuick3D when it comes to
qopenglfunctions.h.
Both modules have this file, with the same #ifdef guards. The contents appear
to be similar. However, the copy in QtGui has changed the #define name of a
macro which QtQuick3D appears to use, rendering QtQuick3D uncompileable and,
thus, QtLocation.
These should be compiling.

One common error is attempting to use qtquick3d's master branch. The
master branch of qtquick3d is for Qt4, while the qml2 branch is for Qt5.
Thiago Macieira
2011-10-20 07:55:02 UTC
Permalink
Post by Rohan McGovern
The SHA1 combination pointed to by the qt5.git submodules is supposed to
give you something that has been successfully compiled on various platforms
(at least some Linux and Mac).
That doesn't help if I'm trying to make changes to that module. I need the
proper branch so I can test the latest changes in qtbase.
Post by Rohan McGovern
Post by Thiago Macieira
Both modules have this file, with the same #ifdef guards. The contents
appear to be similar. However, the copy in QtGui has changed the #define
name of a macro which QtQuick3D appears to use, rendering QtQuick3D
uncompileable and, thus, QtLocation.
These should be compiling.
One common error is attempting to use qtquick3d's master branch. The
master branch of qtquick3d is for Qt4, while the qml2 branch is for Qt5.
Ah, that explains.

May I suggest renaming the branches?

master -> 4.x
qml2 -> master

Anyway, it seems to be working now, but i need to unbreak qtdeclarative before
it finishes.
--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
Software Architect - Intel Open Source Technology Center
PGP/GPG: 0x6EF45358; fingerprint:
E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
Rohan McGovern
2011-10-20 08:40:42 UTC
Permalink
Post by Thiago Macieira
Post by Rohan McGovern
One common error is attempting to use qtquick3d's master branch. The
master branch of qtquick3d is for Qt4, while the qml2 branch is for Qt5.
Ah, that explains.
May I suggest renaming the branches?
master -> 4.x
qml2 -> master
This is planned to be fixed at the same time as renaming the repo from
qtquick3d to qt3d.
Thiago Macieira
2011-10-20 09:10:34 UTC
Permalink
Post by Rohan McGovern
The compilation procedure only includes the things which are compiled by
default, though (e.g. if a module does not appear in qt.pro then it is
not included in this test).
Does that include the unit tests?

/home/thiago/src/qt/qt5/qtdeclarative/tests/auto/declarative/qdeclarativecomponent/tst_qdeclarativecomponent.cpp:117:59:
error: ‘QTRY_VERIFY’ was not declared in this scope

QTRY_VERIFY is declared in qtbase/tests/auto/shared/util.h and that header is
not visible outside qtbase.
--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
Software Architect - Intel Open Source Technology Center
PGP/GPG: 0x6EF45358; fingerprint:
E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
Alan Alpert
2011-10-20 09:38:30 UTC
Permalink
Post by Thiago Macieira
Post by Rohan McGovern
The compilation procedure only includes the things which are compiled by
default, though (e.g. if a module does not appear in qt.pro then it is
not included in this test).
Does that include the unit tests?
/home/thiago/src/qt/qt5/qtdeclarative/tests/auto/declarative/qdeclarativeco
mponent/tst_qdeclarativecomponent.cpp:117:59: error: ‘QTRY_VERIFY’ was not
declared in this scope
QTRY_VERIFY is declared in qtbase/tests/auto/shared/util.h and that header
is not visible outside qtbase.
That's just a qtbase version mismatch,
ae1810658b75dd0eb0247b0e951ce315c8ce4c86 in qtbase moves QTRY_VERIFY into
qtestcase.h

The commit message that removed qtdeclarative/tests/auto/shared/util.h
probably should have mentioned the qtbase version that it depends on.
--
Alan Alpert
Senior Engineer
Nokia, Qt Development Frameworks
Thiago Macieira
2011-10-20 10:58:08 UTC
Permalink
Post by Alan Alpert
That's just a qtbase version mismatch,
ae1810658b75dd0eb0247b0e951ce315c8ce4c86 in qtbase moves QTRY_VERIFY into
qtestcase.h
The commit message that removed qtdeclarative/tests/auto/shared/util.h
probably should have mentioned the qtbase version that it depends on.
Ah, that explains.

I'm rebuilding qtbase now after the rebasing and will try qtdeclarative later.
--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
Software Architect - Intel Open Source Technology Center
PGP/GPG: 0x6EF45358; fingerprint:
E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
Rohan McGovern
2011-10-20 22:56:35 UTC
Permalink
Post by Alan Alpert
Post by Thiago Macieira
Post by Rohan McGovern
The compilation procedure only includes the things which are compiled by
default, though (e.g. if a module does not appear in qt.pro then it is
not included in this test).
Does that include the unit tests?
/home/thiago/src/qt/qt5/qtdeclarative/tests/auto/declarative/qdeclarativeco
mponent/tst_qdeclarativecomponent.cpp:117:59: error: ‘QTRY_VERIFY’ was not
declared in this scope
QTRY_VERIFY is declared in qtbase/tests/auto/shared/util.h and that header
is not visible outside qtbase.
That's just a qtbase version mismatch,
ae1810658b75dd0eb0247b0e951ce315c8ce4c86 in qtbase moves QTRY_VERIFY into
qtestcase.h
Yes, and to reiterate: the qt5.git submodules are kept pointing to a
combination of SHA1s which have been successfully compiled. In
qt5.git, qtbase would not be updated to include
ae1810658b75dd0eb0247b0e951ce315c8ce4c86 until/unless qtdeclarative
received a commit to unbreak compile.

Loading...