-
Notifications
You must be signed in to change notification settings - Fork 6.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[qt5-webengine] fix jumbo build error due to ResolveColor() redefinition #37453
[qt5-webengine] fix jumbo build error due to ResolveColor() redefinition #37453
Conversation
ports/qt5-webengine/0001-Fix-jumbo-build-error-due-to-ResolveColor-redefiniti.patch
Outdated
Show resolved
Hide resolved
Note: I will be converting your PR to draft status. When you respond, please revert to "ready for review". That way, I can be aware that you've responded since you can't modify the tags. |
0233058
to
91a3ec6
Compare
91a3ec6
to
f1b20f9
Compare
Both of the following two files define a static function ResolveColor() with the exact same signature causing a redefinition error when running a jumbo build * third_party/blink/renderer/core/layout/svg/svg_layout_tree_as_text.cc * third_party/blink/renderer/core/layout/svg/layout_svg_resource_paint_server.cc Error reported: In file included from gen/third_party/blink/renderer/core/layout/svg/svg_layout_jumbo_4.cc:16: ./../../../../src/5.15.13-38459bd7fb.clean/src/3rdparty/chromium/third_party/blink/renderer/core/layout/svg/svg_layout_tree_as_text.cc:255:30: error: redefinition of 'base::Optional<blink::Color> blink::ResolveColor(const blink::ComputedStyle&, const blink::SVGPaint&, const blink::SVGPaint&)' 255 | static base::Optional<Color> ResolveColor(const ComputedStyle& style, | ^~~~~~~~~~~~ In file included from gen/third_party/blink/renderer/core/layout/svg/svg_layout_jumbo_4.cc:5: ./../../../../src/5.15.13-38459bd7fb.clean/src/3rdparty/chromium/third_party/blink/renderer/core/layout/svg/layout_svg_resource_paint_server.cc:97:30: note: 'base::Optional<blink::Color> blink::ResolveColor(const blink::ComputedStyle&, const blink::SVGPaint&, const blink::SVGPaint&)' previously defined here 97 | static base::Optional<Color> ResolveColor(const ComputedStyle& style, | ^~~~~~~~~~~~ In file included from gen/third_party/blink/renderer/core/layout/svg/svg_layout_jumbo_4.cc:16: ./../../../../src/5.15.13-38459bd7fb.clean/src/3rdparty/chromium/third_party/blink/renderer/core/layout/svg/svg_layout_tree_as_text.cc:255:30: warning: 'base::Optional<blink::Color> blink::ResolveColor(const blink::ComputedStyle&, const blink::SVGPaint&, const blink::SVGPaint&)' defined but not used [-Wunused-function] 255 | static base::Optional<Color> ResolveColor(const ComputedStyle& style, Fixes microsoft#37448 See also QTBUG-123328
f1b20f9
to
ab9b7f6
Compare
Why does this build problem affecting jumbo builds affect vcpkg, which does not do jumbo builds? |
@BillyONeal, I don't see anything in ports/qt5-webengine that explicitly disables jumbo builds. This is from config-x64-linux-dynamic-dbg-err.log on my AlmaLinux 9.3:
I believe the Jumbo build merge limit is auto-detected by the QtWebEngine configure scripts. The jumbo-build of QtWebEngine, or Chromium really, can be explicitly turned off, but that is just going to make it build a lot slower and it is already painfully slow. |
qt5-webenengine embeds a chromium build. That's the root of all difficulties with this port. |
One more thing to point out - I believe that the jumbo merge limit has an impact on whether the compile will fail or not. The jumbo build creates these bunches of sources and compiles them in a single compilation unit. If third_party/blink/renderer/core/layout/svg/svg_layout_tree_as_text.cc and third_party/blink/renderer/core/layout/svg/layout_svg_resource_paint_server.cc end up being compiled in the same compilation unit then you will run into this bug. |
Jumbo builds are normally an opt in thing rather than opt out :sigh: . |
Thanks :) |
Both of the following two files define a static function ResolveColor() with the exact same signature causing a redefinition error when running a jumbo build
Error reported:
Fixes #37448
See also QTBUG-123328
./vcpkg x-add-version --all
and committing the result.