Issue metadata
Sign in to add a comment
|
undefined reference to 'blink::Length blink::StyleBuilderConverter::convertPositionLength […]
Reported by
tas...@gmail.com,
Mar 11 2016
|
||||||||||||||||||||||
Issue descriptionUserAgent: Mozilla/5.0 (X11; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0 Steps to reproduce the problem: Maybe I misread this, but in "Move background related shorthands into CSSPropertyParser" (4d1a91b7) StyleBuilderConverter::convertPositionLength was changed to a member method in StyleBuilderConverter.cpp, but the (new) header entry keeps designating to it as static: cpp: template <CSSValueID cssValueFor0, CSSValueID cssValueFor100> -static Length convertPositionLength(StyleResolverState& state, const CSSValue& value) +Length StyleBuilderConverter::convertPositionLength(StyleResolverState& state, const CSSValue& value) h: + template <CSSValueID cssValueFor0, CSSValueID cssValueFor100> static Length convertPositionLength(StyleResolverState&, const CSSValue&); Whatever the case, the code fails to link with gcc 5.3.1 (20160308). What is the expected behavior? What went wrong? [18601/18601] LINK chrome FAILED: chrome […] obj/third_party/WebKit/Source/core/libwebcore_remaining.a(obj/third_party/WebKit/Source/core/css/resolver/webcore_remaining.CSSToStyleMap.o):CSSToStyleMap.cpp:function blink::CSSToStyleMap::mapFillXPosition(blink::StyleResolverState&, blink::FillLayer*, blink::CSSValue const&): error: undefined reference to 'blink::Length blink::StyleBuilderConverter::convertPositionLength<(blink::CSSValueID)156, (blink::CSSValueID)157>(blink::StyleResolverState&, blink::CSSValue const&)' obj/third_party/WebKit/Source/core/libwebcore_remaining.a(obj/third_party/WebKit/Source/core/css/resolver/webcore_remaining.CSSToStyleMap.o):CSSToStyleMap.cpp:function blink::CSSToStyleMap::mapFillYPosition(blink::StyleResolverState&, blink::FillLayer*, blink::CSSValue const&): error: undefined reference to 'blink::Length blink::StyleBuilderConverter::convertPositionLength<(blink::CSSValueID)152, (blink::CSSValueID)153>(blink::StyleResolverState&, blink::CSSValue const&)' collect2: error: ld returned 1 exit status Did this work before? Yes Chrome version: 50.0.2665.0+ Channel: canary OS Version: Arch x64 Flash Version: 21.0.0.172
,
Mar 11 2016
Basically I'm using this build script https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=chromium-dev with some modifications, such as using the git repo instead of only the tarball, and the latest snapshot for gcc 5.3.1. Not sure how it's possible to provide a crash ID for an error that happens at compile time.
,
Mar 12 2016
Yeah I misunderstood, it's simply the case of the compiler being unable to instantiate the template. Easy fix, move the definition into the header, just as the other templates already are.
,
Mar 14 2016
Thank you for providing more feedback. Assigning to requester "rnimmagadda@chromium.org" for another review. For more details visit https://sites.google.com/a/chromium.org/dev/issue-tracking/autotriage - Your friendly Sheriffbot
,
Mar 15 2016
,
Mar 31 2016
Another fix for gcc (5.3.1), required after commit 727837f ("Make chrome://site-engagement non-polymer and re-enable on Android.") from Mar 14.
,
Jun 13 2016
I've hit the same issue today with gcc-6. It only happens when I build with -O3 (-O2 is fine). This is clearly a Chromium bug, so can the fix_convertPositionLength.patch please be applied?
,
Jul 1 2016
,
Jul 4 2016
Why are the identical calls in StyleBuilderConverter.cpp not sufficient to instantiate the template?
,
Jul 4 2016
,
Jul 20 2016
Closing this: there clearly hasn't been an ongoing build failure since Mar 11. |
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by rnimmagadda@chromium.org
, Mar 11 2016Labels: Needs-Feedback