Bug 111350 - [Shadow DOM][Mac] Linking error for DOMCSSHostRule
Summary: [Shadow DOM][Mac] Linking error for DOMCSSHostRule
Status: RESOLVED INVALID
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Takashi Sakamoto
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-03-04 11:02 PST by Andrei Bucur
Modified: 2016-08-04 14:20 PDT (History)
5 users (show)

See Also:


Attachments
Patch (7.79 KB, patch)
2013-03-04 23:06 PST, Takashi Sakamoto
no flags Details | Formatted Diff | Diff
Patch (6.44 KB, patch)
2013-03-04 23:24 PST, Takashi Sakamoto
no flags Details | Formatted Diff | Diff
Patch (7.87 KB, patch)
2013-03-05 02:43 PST, Takashi Sakamoto
no flags Details | Formatted Diff | Diff
Patch (7.81 KB, patch)
2013-03-06 23:01 PST, Takashi Sakamoto
no flags Details | Formatted Diff | Diff
Patch (6.83 KB, patch)
2013-03-11 21:48 PDT, Takashi Sakamoto
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Andrei Bucur 2013-03-04 11:02:22 PST
I get this error when doing the linking step for WebCore on Mac:

Ld /Volumes/HDD/NonPerforce/WebKit/WebKitBuild/b110352new/Debug/WebCore.framework/Versions/A/WebCore normal x86_64
    cd /Volumes/HDD/NonPerforce/WebKit/Source/WebCore
    setenv MACOSX_DEPLOYMENT_TARGET 10.8
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -dynamiclib -L/Volumes/HDD/NonPerforce/WebKit/WebKitBuild/b110352new/Debug -F/Volumes/HDD/NonPerforce/WebKit/WebKitBuild/b110352new/Debug -F/System/Library/Frameworks/Carbon.framework/Frameworks -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks -F/System/Library/Frameworks/CoreServices.framework/Frameworks -filelist /Volumes/HDD/NonPerforce/WebKit/WebKitBuild/b110352new/WebCore.build/Debug/WebCore.build/Objects-normal/x86_64/WebCore.LinkFileList -Xlinker --no-demangle -exported_symbols_list /Volumes/HDD/NonPerforce/WebKit/WebKitBuild/b110352new/Debug/DerivedSources/WebCore/WebCore.LP64.exp -install_name /System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Versions/A/WebCore -mmacosx-version-min=10.8 -lsqlite3 -lobjc -lANGLE -allowable_client WebCoreTestSupport -sub_library libobjc -umbrella WebKit -allowable_client WebKit2 -framework IOSurface -stdlib=libc++ -fobjc-link-runtime -framework Accelerate -framework ApplicationServices -framework AudioToolbox -framework AudioUnit -framework Carbon -framework Cocoa -framework CoreAudio -framework IOKit -framework JavaScriptCore -licucore -lobjc -lxml2 -lz -framework OpenGL -framework QuartzCore -framework SystemConfiguration -single_module -compatibility_version 1 -current_version 537.33 -o /Volumes/HDD/NonPerforce/WebKit/WebKitBuild/b110352new/Debug/WebCore.framework/Versions/A/WebCore
Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_DOMCSSHostRule", referenced from:
      objc-class-ref in DOMCSS.o
  "__ZN7WebCore13JSCSSHostRule14finishCreationERN3JSC12JSGlobalDataE", referenced from:
      __ZN7WebCore13JSCSSHostRule6createEPN3JSC9StructureEPNS_17JSDOMGlobalObjectEN3WTF10PassRefPtrINS_11CSSHostRuleEEE in JSCSSRuleCustom.o
  "__ZN7WebCore13JSCSSHostRule14getConstructorEPN3JSC9ExecStateEPNS1_14JSGlobalObjectE", referenced from:
      __ZN7WebCore33jsDOMWindowCSSHostRuleConstructorEPN3JSC9ExecStateENS0_7JSValueENS0_12PropertyNameE in JSDOMWindow.o
  "__ZN7WebCore13JSCSSHostRule15createPrototypeEPN3JSC9ExecStateEPNS1_14JSGlobalObjectE", referenced from:
      __ZN7WebCore15getDOMStructureINS_13JSCSSHostRuleEEEPN3JSC9StructureEPNS2_9ExecStateEPNS_17JSDOMGlobalObjectE in JSCSSRuleCustom.o
  "__ZN7WebCore13JSCSSHostRule6s_infoE", referenced from:
      __ZN7WebCore15getDOMStructureINS_13JSCSSHostRuleEEEPN3JSC9StructureEPNS2_9ExecStateEPNS_17JSDOMGlobalObjectE in JSCSSRuleCustom.o
      __ZN7WebCore13JSCSSHostRule15createStructureERN3JSC12JSGlobalDataEPNS1_14JSGlobalObjectENS1_7JSValueE in JSCSSRuleCustom.o
      __ZN3JSC12allocateCellIN7WebCore13JSCSSHostRuleEEEPvRNS_4HeapEm in JSCSSRuleCustom.o
  "__ZN7WebCore13JSCSSHostRuleC1EPN3JSC9StructureEPNS_17JSDOMGlobalObjectEN3WTF10PassRefPtrINS_11CSSHostRuleEEE", referenced from:
      __ZN7WebCore13JSCSSHostRule6createEPN3JSC9StructureEPNS_17JSDOMGlobalObjectEN3WTF10PassRefPtrINS_11CSSHostRuleEEE in JSCSSRuleCustom.o
ld: symbol(s) not found for architecture x86_64
Comment 1 Takashi Sakamoto 2013-03-04 23:06:50 PST
Created attachment 191407 [details]
Patch
Comment 2 Takashi Sakamoto 2013-03-04 23:24:23 PST
Created attachment 191410 [details]
Patch
Comment 3 Takashi Sakamoto 2013-03-05 02:43:33 PST
Created attachment 191444 [details]
Patch
Comment 4 Takashi Sakamoto 2013-03-06 23:01:31 PST
Created attachment 191923 [details]
Patch
Comment 5 WebKit Review Bot 2013-03-07 01:00:10 PST
Please wait for approval from timothy@apple.com (or another member of the Apple Safari Team) before submitting because this patch contains changes to the Apple Mac WebKit.framework public API.
Comment 6 Timothy Hatcher 2013-03-07 05:08:08 PST
Comment on attachment 191923 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=191923&action=review

> Source/WebCore/bindings/objc/PublicDOMInterfaces.h:924
> +#if defined(ENABLE_SHADOW_DOM) && ENABLE_SHADOW_DOM
> +@interface DOMCSSHostRule : DOMCSSRule WEBKIT_VERSION_1_3
> +@property(readonly, retain) DOMCSSRuleList *cssRules;
> +- (unsigned)insertRule:(NSString *)rule index:(unsigned)index AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER;
> +- (void)deleteRule:(unsigned)index;
> +@end
> +#endif

This should not be added to PublicDOMInterfaces.h at this time. It should be SPI (in PrivateHeaders) for now.
Comment 7 Andrei Bucur 2013-03-07 05:44:27 PST
I've managed to build WK + Mac + Shadow yesterday only with the modified build files (so no symbol exported and no new API).
I guess changing only the build files should be sufficient.
Comment 8 Timothy Hatcher 2013-03-07 06:00:16 PST
(In reply to comment #7)
> I've managed to build WK + Mac + Shadow yesterday only with the modified build files (so no symbol exported and no new API).
> I guess changing only the build files should be sufficient.

Yes, touching PublicDOMInterfaces.h is only needed to make a header/method public.
Comment 9 Takashi Sakamoto 2013-03-11 21:48:13 PDT
Created attachment 192634 [details]
Patch
Comment 10 Takashi Sakamoto 2013-03-11 21:49:10 PDT
Comment on attachment 191923 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=191923&action=review

Thank you for reviewing.

>> Source/WebCore/bindings/objc/PublicDOMInterfaces.h:924
>> +#endif
> 
> This should not be added to PublicDOMInterfaces.h at this time. It should be SPI (in PrivateHeaders) for now.

I see. I reverted this change.
Comment 11 Andreas Kling 2014-02-05 11:16:48 PST
Comment on attachment 192634 [details]
Patch

Clearing review flag on patches from before 2014. If this patch is still relevant, please reset the r? flag.
Comment 12 Anders Carlsson 2016-08-04 14:20:37 PDT
This file is gone now.