olive icon indicating copy to clipboard operation
olive copied to clipboard

[BUILD] 066a10e6 causes QT6 builds to fail

Open MatthewCroughan opened this issue 1 year ago • 9 comments

Commit Hash

066a10e6

Platform

Linux

Summary

Whilst creating a reproducible Nix derivation for olive-editor. I was building for QT6 and found via a bisect that 066a10e6 causes builds with QT6 to fail like this

olive-editor-unstable> /build/source/app/node/project/serializer/serializer230220.cpp: In member function 'virtual olive::ProjectSerializer::LoadData olive::ProjectSerializer230220::Load(olive::Project*, QXmlStreamReader*, olive::ProjectSerializer::LoadType, void*) const':
olive-editor-unstable> /build/source/app/node/project/serializer/serializer230220.cpp:192:23: error: 'QStringRef' was not declared in this scope; did you mean 'QStringView'?
olive-editor-unstable>   192 |               QVector<QStringRef> l = attr.value().split(',');
olive-editor-unstable>       |                       ^~~~~~~~~~
olive-editor-unstable>       |                       QStringView
olive-editor-unstable> /build/source/app/node/project/serializer/serializer230220.cpp:192:33: error: template argument 1 is invalid
olive-editor-unstable>   192 |               QVector<QStringRef> l = attr.value().split(',');
olive-editor-unstable>       |                                 ^
olive-editor-unstable> /build/source/app/node/project/serializer/serializer230220.cpp:192:57: error: cannot convert 'QList<QStringView>' to 'int' in initialization
olive-editor-unstable>   192 |               QVector<QStringRef> l = attr.value().split(',');
olive-editor-unstable>       |                                       ~~~~~~~~~~~~~~~~~~^~~~~
olive-editor-unstable>       |                                                         |
olive-editor-unstable>       |                                                         QList<QStringView>
olive-editor-unstable> /build/source/app/node/project/serializer/serializer230220.cpp:193:31: error: request for member 'size' in 'l', which is of non-class type 'int'
olive-editor-unstable>   193 |               items.reserve(l.size());
olive-editor-unstable>       |                               ^~~~
olive-editor-unstable> /build/source/app/node/project/serializer/serializer230220.cpp:194:26: error: 'QStringRef' does not name a type; did you mean 'QStringView'?
olive-editor-unstable>   194 |               for (const QStringRef &s : l) {
olive-editor-unstable>       |                          ^~~~~~~~~~
olive-editor-unstable>       |                          QStringView
olive-editor-unstable> /build/source/app/node/project/serializer/serializer230220.cpp:196:16: error: expected ';' before '}' token
olive-editor-unstable>   196 |               }
olive-editor-unstable>       |                ^
olive-editor-unstable>       |                ;
olive-editor-unstable>   197 |             }
olive-editor-unstable>       |             ~
olive-editor-unstable> /build/source/app/node/project/serializer/serializer230220.cpp:197:13: error: expected primary-expression before '}' token
olive-editor-unstable>   197 |             }
olive-editor-unstable>       |             ^
olive-editor-unstable> /build/source/app/node/project/serializer/serializer230220.cpp:196:16: error: expected ';' before '}' token
olive-editor-unstable>   196 |               }
olive-editor-unstable>       |                ^
olive-editor-unstable>       |                ;
olive-editor-unstable>   197 |             }
olive-editor-unstable>       |             ~
olive-editor-unstable> /build/source/app/node/project/serializer/serializer230220.cpp:197:13: error: expected primary-expression before '}' token
olive-editor-unstable>   197 |             }
olive-editor-unstable>       |             ^
olive-editor-unstable> /build/source/app/node/project/serializer/serializer230220.cpp:196:16: error: expected ')' before '}' token
olive-editor-unstable>   196 |               }
olive-editor-unstable>       |                ^
olive-editor-unstable>       |                )
olive-editor-unstable>   197 |             }
olive-editor-unstable>       |             ~
olive-editor-unstable> /build/source/app/node/project/serializer/serializer230220.cpp:194:19: note: to match this '('
olive-editor-unstable>   194 |               for (const QStringRef &s : l) {
olive-editor-unstable>       |                   ^
olive-editor-unstable> /build/source/app/node/project/serializer/serializer230220.cpp:197:13: error: expected primary-expression before '}' token
olive-editor-unstable>   197 |             }
olive-editor-unstable>       |             ^

Additional Information / Output

Every commit after 06a10e6 builds successfully with QT5.

The reason I am creating this derivation is to update the very out of date Nix package

MatthewCroughan avatar Mar 22 '23 22:03 MatthewCroughan