Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
6.2.2
-
None
-
-
28d2a266d9 (qt/qtquick3d/dev) 9e5023115b (qt/qtquick3d/6.2) e1664bc46f (qt/qtquick3d/6.3) 9e5023115b (qt/tqtc-qtquick3d/6.2) e1664bc46f (qt/qtquick3d/6.3.0) e1664bc46f (qt/tqtc-qtquick3d/6.3.0)
Description
Build on Solaris fails:
{{/builds/psumbera/userland-qt-6.2/components/desktop/qt6/qt-everywhere-src-6.2.2/qtquick3d/src/runtimerender/graphobjects/qssgrenderparticles.cpp: In member function void QS SGParticleBuffer::resize(int, int):}} {{/builds/psumbera/userland-qt-6.2/components/desktop/qt6/qt-everywhere-src-6.2.2/qtquick3d/src/runtimerender/graphobjects/qssgrenderparticles.cpp:57:33: error: call of overloaded sqrt(int&) is ambiguous}} {{ 57 | int width = divisibleBy(sqrt(vec4s), vec4PerParticle);}} {{ | ~~~~^~~~~~~}} {{In file included from /usr/gcc/11/lib/gcc/x86_64-pc-solaris2.11/11.2.0/include-fixed/math.h:24,}} {{ from /usr/gcc/11/include/c++/11.2.0/bits/std_abs.h:40,}} {{ from /usr/gcc/11/include/c++/11.2.0/cstdlib:77,}} {{ from /usr/gcc/11/include/c++/11.2.0/bits/stl_algo.h:59,}} {{ from /usr/gcc/11/include/c++/11.2.0/algorithm:62,}} {{ from /builds/psumbera/userland-qt-6.2/components/desktop/qt6/qt-everywhere-src-6.2.2/qtbase/include/QtCore/../../src/corelib/global/qglobal.h:137,}} {{ from /builds/psumbera/userland-qt-6.2/components/desktop/qt6/qt-everywhere-src-6.2.2/qtbase/include/QtCore/qglobal.h:1,}} {{ from /builds/psumbera/userland-qt-6.2/components/desktop/qt6/qt-everywhere-src-6.2.2/qtbase/include/QtQuick3DUtils/6.2.2/QtQuick3DUtils/private/../../../../../../qtquick3d/src/utils/qtquick3dutilsglobal_p.h:44,}} {{ from /builds/psumbera/userland-qt-6.2/components/desktop/qt6/qt-everywhere-src-6.2.2/qtbase/include/QtQuick3DUtils/6.2.2/QtQuick3DUtils/private/qtquick3dutilsglobal_p.h:1,}} {{ from /builds/psumbera/userland-qt-6.2/components/desktop/qt6/qt-everywhere-src-6.2.2/qtbase/include/QtQuick3DRuntimeRender/6.2.2/QtQuick3DRuntimeRender/private/../../../../../../qtquick3d/src/runtimerender/qtquick3druntimerenderglobal_p.h:44,}} {{ from /builds/psumbera/userland-qt-6.2/components/desktop/qt6/qt-everywhere-src-6.2.2/qtbase/include/QtQuick3DRuntimeRender/6.2.2/QtQuick3DRuntimeRender/private/qtquick3druntimerenderglobal_p.h:1,}} {{ from /builds/psumbera/userland-qt-6.2/components/desktop/qt6/qt-everywhere-src-6.2.2/qtbase/include/QtQuick3DRuntimeRender/6.2.2/QtQuick3DRuntimeRender/private/../../../../../../qtquick3d/src/runtimerender/graphobjects/qssgrendergraphobject_p.h:45,}} {{ from /builds/psumbera/userland-qt-6.2/components/desktop/qt6/qt-everywhere-src-6.2.2/qtbase/include/QtQuick3DRuntimeRender/6.2.2/QtQuick3DRuntimeRender/private/qssgrendergraphobject_p.h:1,}} {{ from /builds/psumbera/userland-qt-6.2/components/desktop/qt6/qt-everywhere-src-6.2.2/qtbase/include/QtQuick3DRuntimeRender/6.2.2/QtQuick3DRuntimeRender/private/../../../../../../qtquick3d/src/runtimerender/graphobjects/qssgrendernode_p.h:45,}} {{ from /builds/psumbera/userland-qt-6.2/components/desktop/qt6/qt-everywhere-src-6.2.2/qtbase/include/QtQuick3DRuntimeRender/6.2.2/QtQuick3DRuntimeRender/private/qssgrendernode_p.h:1,}} {{ from /builds/psumbera/userland-qt-6.2/components/desktop/qt6/qt-everywhere-src-6.2.2/qtbase/include/QtQuick3DRuntimeRender/6.2.2/QtQuick3DRuntimeRender/private/../../../../../../qtquick3d/src/runtimerender/graphobjects/qssgrenderparticles_p.h:44,}} {{ from /builds/psumbera/userland-qt-6.2/components/desktop/qt6/qt-everywhere-src-6.2.2/qtbase/include/QtQuick3DRuntimeRender/6.2.2/QtQuick3DRuntimeRender/private/qssgrenderparticles_p.h:1,}} {{ from /builds/psumbera/userland-qt-6.2/components/desktop/qt6/qt-everywhere-src-6.2.2/qtquick3d/src/runtimerender/graphobjects/qssgrenderparticles.cpp:30:}} {{/usr/gcc/11/lib/gcc/x86_64-pc-solaris2.11/11.2.0/include-fixed/iso/math_iso.h:220:28: note: candidate: long double std::sqrt(long double)}} {{ 220 | inline long double sqrt(long double __X) \{ return __sqrtl(__X); }}} {{ | ^~~~}} {{/usr/gcc/11/lib/gcc/x86_64-pc-solaris2.11/11.2.0/include-fixed/iso/math_iso.h:186:22: note: candidate: float std::sqrt(float)}} {{ 186 | inline float sqrt(float __X) \{ return __sqrtf(__X); }}} {{ | ^~~~}} {{/usr/gcc/11/lib/gcc/x86_64-pc-solaris2.11/11.2.0/include-fixed/iso/math_iso.h:74:15: note: candidate: double std::sqrt(double)}} {{ 74 | extern double sqrt __P((double));}} {{ | ^~~~}}
Following is possible fix:
{{--- qt-everywhere-src-6.2.2/qtquick3d/src/runtimerender/graphobjects/qssgrenderparticles.cpp}} {{+++ qt-everywhere-src-6.2.2/qtquick3d/src/runtimerender/graphobjects/qssgrenderparticles.cpp}} {{@@ -54,7 +54,7 @@}} {{ }}} {{ int vec4PerParticle = ceilDivide(particleSize, 16);}} {{ int vec4s = particleCount * vec4PerParticle;}} {{- int width = divisibleBy(sqrt(vec4s), vec4PerParticle);}} {{+ int width = divisibleBy(sqrt((double)vec4s), vec4PerParticle);}} {{ int height = ceilDivide(vec4s, width);}} {{ m_particlesPerSlice = width / vec4PerParticle;}} {{ m_particleCount = particleCount;}}