RESOLVED DUPLICATE of bug 217565 217688
[CMake][WK2] reference to undefined symbol `IPC::messageReplyArgumentDescriptions(IPC::MessageName)' since r268431
https://bugs.webkit.org/show_bug.cgi?id=217688
Summary [CMake][WK2] reference to undefined symbol `IPC::messageReplyArgumentDescript...
Fujii Hironori
Reported 2020-10-13 17:17:02 PDT
[WinCaio][PlayStation] reference to undefined symbol `IPC::messageReplyArgumentDescriptions(IPC::MessageName)' since r268431 WinCairo debug https://build.webkit.org/builders/WinCairo-64-bit-WKL-Debug-Build/builds/21994 FAILED: bin64/WebKit2.dll lib64/WebKit2.lib cmd.exe /C "cd . && C:\tools\cmake\bin\cmake.exe -E vs_link_dll --intdir=Source\WebKit\CMakeFiles\WebKit.dir --rc="C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64\rc.exe" --mt="C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64\mt.exe" --manifests -- C:\MSVS\VC\Tools\MSVC\14.27.29110\bin\Hostx64\x64\link.exe /nologo @CMakeFiles\WebKit.rsp /out:bin64\WebKit2.dll /implib:lib64\WebKit2.lib /pdb:bin64\WebKit2.pdb /dll /version:0.0 /machine:x64 /DEBUG /OPT:ICF /OPT:REF /OPT:NOREF /OPT:NOICF /INCREMENTAL:NO /debug /INCREMENTAL /INCREMENTAL:NO /DELAYLOAD:d3d9.dll /DELAYLOAD:dxva2.dll /DELAYLOAD:evr.dll /DELAYLOAD:mf.dll /DELAYLOAD:mfplat.dll && cd ." LINK Pass 1: command "C:\MSVS\VC\Tools\MSVC\14.27.29110\bin\Hostx64\x64\link.exe /nologo @CMakeFiles\WebKit.rsp /out:bin64\WebKit2.dll /implib:lib64\WebKit2.lib /pdb:bin64\WebKit2.pdb /dll /version:0.0 /machine:x64 /DEBUG /OPT:ICF /OPT:REF /OPT:NOREF /OPT:NOICF /INCREMENTAL:NO /debug /INCREMENTAL /INCREMENTAL:NO /DELAYLOAD:d3d9.dll /DELAYLOAD:dxva2.dll /DELAYLOAD:evr.dll /DELAYLOAD:mf.dll /DELAYLOAD:mfplat.dll /MANIFEST /MANIFESTFILE:Source\WebKit\CMakeFiles\WebKit.dir/intermediate.manifest Source\WebKit\CMakeFiles\WebKit.dir/manifest.res" failed (exit code 1120) with the following output: Creating library lib64\WebKit2.lib and object lib64\WebKit2.exp UnifiedSource-54928a2b-17.cpp.obj : error LNK2019: unresolved external symbol "class WTF::Optional<class JSC::JSValue> __cdecl IPC::jsValueForReplyArguments(class JSC::JSGlobalObject *,enum IPC::MessageName,class IPC::Decoder &)" (?jsValueForReplyArguments@IPC@@YA?AV?$Optional@VJSValue@JSC@@@WTF@@PEAVJSGlobalObject@JSC@@W4MessageName@1@AEAVDecoder@1@@Z) referenced in function "class JSC::JSObject * __cdecl WebKit::IPCTestingAPI::jsResultFromReplyDecoder(class JSC::JSGlobalObject *,enum IPC::MessageName,class IPC::Decoder &)" (?jsResultFromReplyDecoder@IPCTestingAPI@WebKit@@YAPEAVJSObject@JSC@@PEAVJSGlobalObject@4@W4MessageName@IPC@@AEAVDecoder@7@@Z) UnifiedSource-54928a2b-17.cpp.obj : error LNK2019: unresolved external symbol "class WTF::Optional<class WTF::Vector<struct IPC::ArgumentDescription,0,class WTF::CrashOnOverflow,16,struct WTF::FastMalloc> > __cdecl IPC::messageArgumentDescriptions(enum IPC::MessageName)" (?messageArgumentDescriptions@IPC@@YA?AV?$Optional@V?$Vector@UArgumentDescription@IPC@@$0A@VCrashOnOverflow@WTF@@$0BA@UFastMalloc@4@@WTF@@@WTF@@W4MessageName@1@@Z) referenced in function "private: static struct OpaqueJSValue const * __cdecl WebKit::IPCTestingAPI::JSIPC::messages(struct OpaqueJSContext const *,struct OpaqueJSValue *,struct OpaqueJSString *,struct OpaqueJSValue const * *)" (?messages@JSIPC@IPCTestingAPI@WebKit@@CAPEBUOpaqueJSValue@@PEBUOpaqueJSContext@@PEAU4@PEAUOpaqueJSString@@PEAPEBU4@@Z) UnifiedSource-54928a2b-17.cpp.obj : error LNK2019: unresolved external symbol "class WTF::Optional<class WTF::Vector<struct IPC::ArgumentDescription,0,class WTF::CrashOnOverflow,16,struct WTF::FastMalloc> > __cdecl IPC::messageReplyArgumentDescriptions(enum IPC::MessageName)" (?messageReplyArgumentDescriptions@IPC@@YA?AV?$Optional@V?$Vector@UArgumentDescription@IPC@@$0A@VCrashOnOverflow@WTF@@$0BA@UFastMalloc@4@@WTF@@@WTF@@W4MessageName@1@@Z) referenced in function "private: static struct OpaqueJSValue const * __cdecl WebKit::IPCTestingAPI::JSIPC::sendMessage(struct OpaqueJSContext const *,struct OpaqueJSValue *,struct OpaqueJSValue *,unsigned __int64,struct OpaqueJSValue const * const * const,struct OpaqueJSValue const * *)" (?sendMessage@JSIPC@IPCTestingAPI@WebKit@@CAPEBUOpaqueJSValue@@PEBUOpaqueJSContext@@PEAU4@1_KQEBQEBU4@PEAPEBU4@@Z) bin64\WebKit2.dll : fatal error LNK1120: 3 unresolved externals PlayStation debug https://build.webkit.org/builders/PlayStation-Debug-Build/builds/4492 FAILED: bin/libWebKit.prx lib/libWebKit_stub_weak.a cmd.exe /C "cd . && C:\orbis\sdk\host_tools\bin\orbis-ld.exe -Wl,--no-undefined -L"C:/ORBIS/SDK/../internal/target/lib" --prx-stub-output-dir=C:/BW/playstation-debug/build/WebKitBuild/Debug/lib C:/PlayStationRequirements/lib/libdl.a -Wl,--wrap=dlopen -Wl,--wrap=dlclose -Wl,--wrap=dlsym -Wl,--wrap=dlerror -Wl,--wrap=dladdr -o bin\libWebKit.prx --oformat=prx --start-group @CMakeFiles\WebKit.rsp --end-group && cmd.exe /C "cd /D C:\BW\playstation-debug\build\WebKitBuild\Debug\Source\WebKit && C:\tools\python\python2.exe C:/orbis/internal/host_tools/bin/make_self.py -e C:/BW/playstation-debug/build/WebKitBuild/Debug/bin/libWebKit.prx -s C:/BW/playstation-debug/build/WebKitBuild/Debug/bin/libWebKit.sprx -i prx_system"" orbis-ld 8.00.0.514 (rel,orbis,8.000 @472166 x64) C:\orbis\sdk\host_tools\bin\orbis-ld.exe Command line : warning: L0093: unrecognised option '--no-undefined' Link : error: L0039: reference to undefined symbol `IPC::jsValueForReplyArguments(JSC::JSGlobalObject*, IPC::MessageName, IPC::Decoder&)' in file "C:\BW\playstation-debug\build\WebKitBuild\Debug\Source\WebKit\CMakeFiles\WebKit.dir\__\__\WebKit\DerivedSources\unified-sources\UnifiedSource-54928a2b-17.cpp.o" Link : error: L0039: reference to undefined symbol `IPC::messageArgumentDescriptions(IPC::MessageName)' in file "C:\BW\playstation-debug\build\WebKitBuild\Debug\Source\WebKit\CMakeFiles\WebKit.dir\__\__\WebKit\DerivedSources\unified-sources\UnifiedSource-54928a2b-17.cpp.o" Link : error: L0039: reference to undefined symbol `IPC::messageReplyArgumentDescriptions(IPC::MessageName)' in file "C:\BW\playstation-debug\build\WebKitBuild\Debug\Source\WebKit\CMakeFiles\WebKit.dir\__\__\WebKit\DerivedSources\unified-sources\UnifiedSource-54928a2b-17.cpp.o" UnifiedSource-54928a2b-17.cpp : error: L0039: reference to undefined symbol `IPC::messageReplyArgumentDescriptions(IPC::MessageName)' in file "C:\BW\playstation-debug\build\WebKitBuild\Debug\Source\WebKit\CMakeFiles\WebKit.dir\__\__\WebKit\DerivedSources\unified-sources\UnifiedSource-54928a2b-17.cpp.o" UnifiedSource-54928a2b-17.cpp : error: L0039: reference to undefined symbol `IPC::messageArgumentDescriptions(IPC::MessageName)' in file "C:\BW\playstation-debug\build\WebKitBuild\Debug\Source\WebKit\CMakeFiles\WebKit.dir\__\__\WebKit\DerivedSources\unified-sources\UnifiedSource-54928a2b-17.cpp.o" UnifiedSource-54928a2b-17.cpp : error: L0039: reference to undefined symbol `IPC::messageReplyArgumentDescriptions(IPC::MessageName)' in file "C:\BW\playstation-debug\build\WebKitBuild\Debug\Source\WebKit\CMakeFiles\WebKit.dir\__\__\WebKit\DerivedSources\unified-sources\UnifiedSource-54928a2b-17.cpp.o" UnifiedSource-54928a2b-17.cpp : error: L0039: reference to undefined symbol `IPC::jsValueForReplyArguments(JSC::JSGlobalObject*, IPC::MessageName, IPC::Decoder&)' in file "C:\BW\playstation-debug\build\WebKitBuild\Debug\Source\WebKit\CMakeFiles\WebKit.dir\__\__\WebKit\DerivedSources\unified-sources\UnifiedSource-54928a2b-17.cpp.o" ninja: build stopped: subcommand failed. program finished with exit code 1
Attachments
WIP patch (684 bytes, patch)
2020-10-13 17:48 PDT, Fujii Hironori
no flags
WIP patch (1.28 KB, patch)
2020-10-13 19:55 PDT, Fujii Hironori
no flags
Patch (6.70 KB, patch)
2020-10-13 21:53 PDT, Fujii Hironori
no flags
Fujii Hironori
Comment 1 2020-10-13 17:40:36 PDT
MessageArgumentDescriptions.cpp is included only in SourcesCocoa.txt. Should I disable ENABLE_IPC_TESTING_API for non cocoa ports?
Fujii Hironori
Comment 2 2020-10-13 17:48:57 PDT
Created attachment 411287 [details] WIP patch
Fujii Hironori
Comment 3 2020-10-13 17:49:40 PDT
This WIP patch can't compile. > WebKit\DerivedSources\MessageArgumentDescriptions.cpp(366): fatal error C1083: Cannot open include file: 'WebCore/CAAudioStreamDescription.h': No such file or directory
Ryosuke Niwa
Comment 4 2020-10-13 19:37:09 PDT
Weird. How come EWS didn't catch this? Is this downstream PlayStation build that we don't have EWS for?
Fujii Hironori
Comment 5 2020-10-13 19:48:16 PDT
It's not strange. ENABLE_IPC_TESTING_API is enabled only in debug build. And, WinCairo and PlayStation ports don't have Debug EWS builders.
Fujii Hironori
Comment 6 2020-10-13 19:55:49 PDT
Created attachment 411295 [details] WIP patch
Fujii Hironori
Comment 7 2020-10-13 21:35:08 PDT
GTK Debug also failed. https://build.webkit.org/builders/GTK-Linux-64-bit-Debug-Build/builds/36047 It's strange that WPE Debug doesn't fail.
Fujii Hironori
Comment 8 2020-10-13 21:53:40 PDT
Ryosuke Niwa
Comment 9 2020-10-13 22:21:20 PDT
Comment on attachment 411300 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=411300&action=review > Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in:33 > +#if PLATFORM(COCOA) We already have PLATFORM(COCOA) above. Revert? > Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorder.messages.in:27 > +#if PLATFORM(COCOA) Ditto. > Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorderManager.h:64 > +#if ENABLE(MEDIA_STREAM) We already check ENABLE(MEDIA_STREAM) above. Revert? > Source/WebKit/GPUProcess/webrtc/RemoteMediaRecorderManager.messages.in:27 > +#if ENABLE(MEDIA_STREAM) Ditto.
Fujii Hironori
Comment 10 2020-10-13 23:03:10 PDT
Comment on attachment 411300 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=411300&action=review >> Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in:33 >> +#if PLATFORM(COCOA) > > We already have PLATFORM(COCOA) above. Revert? These extra conditions are needed because parameter.condition was None for CAAudioStreamDescription. attachment#411295 [details] is another approach of fixing parameter.condition to include master_condition. If you prefer the approach, I'm going to take it. However, it will take more time for me to take the approach, I'd like to land this patch or revert your r268431 before that.
Darin Adler
Comment 11 2020-10-14 12:17:09 PDT
Comment on attachment 411300 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=411300&action=review >>> Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in:33 >>> +#if PLATFORM(COCOA) >> >> We already have PLATFORM(COCOA) above. Revert? > > These extra conditions are needed because parameter.condition was None for CAAudioStreamDescription. > attachment#411295 [details] is another approach of fixing parameter.condition to include master_condition. > If you prefer the approach, I'm going to take it. > However, it will take more time for me to take the approach, I'd like to land this patch or revert your r268431 before that. Sorry, don’t understand that. This whole file is already wrapped in #if PLATFORM(COCOA). Adding another #if should have no effect. Please don’t add it.
Darin Adler
Comment 12 2020-10-14 12:18:10 PDT
Comment on attachment 411300 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=411300&action=review >>>> Source/WebKit/GPUProcess/webrtc/RemoteAudioMediaStreamTrackRenderer.messages.in:33 >>>> +#if PLATFORM(COCOA) >>> >>> We already have PLATFORM(COCOA) above. Revert? >> >> These extra conditions are needed because parameter.condition was None for CAAudioStreamDescription. >> attachment#411295 [details] is another approach of fixing parameter.condition to include master_condition. >> If you prefer the approach, I'm going to take it. >> However, it will take more time for me to take the approach, I'd like to land this patch or revert your r268431 before that. > > Sorry, don’t understand that. > > This whole file is already wrapped in #if PLATFORM(COCOA). Adding another #if should have no effect. Please don’t add it. Oh, I get it now. Yes, we do prefer fixing the script as the longer term solution. If this is a workaround for a problem in the script, please add a comment saying so.
Fujii Hironori
Comment 13 2020-10-14 14:05:02 PDT
Yup, The patch looks too hacky. And, I don't understand the scripts. r268486 reverted the offending changes. *** This bug has been marked as a duplicate of bug 217565 ***
Note You need to log in before you can comment on or make changes to this bug.