ITMS-90338: Non-public API usage - The app contains or inherits from non-public classes in Contents/Frameworks/Electron Framework.framework/Versions/A/Electron Framework: CAContext, CALayerHost, NSAccessibilityRemoteUIElement, NSNextStepFrame, NSThemeFrame, NSURLFileTypeMappings . If method names in your source code match the private Apple APIs listed above, altering your method names will help prevent this app from being flagged in future submissions. In addition, note that one or more of the above APIs may be located in a static library that was included with your app. If so, they must be removed. For further information, visit the Technical Support Information at http://developer.apple.com/support/technical/
I downgrade Electron to 5.0.9 and still get rejection email.
I got this rejection this morning for Electron 5.0.4, and also for 5.0.10. I think something has changed on Apple's end.
Big show stopper for me. I need an urgent solution. please help.
List of private APIs detected:
_fileport_makefd
_fileport_makeport
CAContext
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings
Please only comment on this issue if your rejection email has APIs that are not in the list above. If you just comment +1
your comment will be removed. If you are also experiencing this rejection please react to this issue with 馃憤 to indicate so.
Developer relations responded and stated that they believe that the problem was on issue on their end and they will look into it. I checked tonight and my previously rejected builds are available now in App Store Connect.
I just checked as well and my previously rejected build (Electron 4.2.9) is also available on store.
Thanks @gaodeng , @mytran and @ogi1982 for that new information. It sounds like apple got a few reach-outs and either corrected their system or whitelisted the framework temporarily. Still waiting to hear back as to what exactly happened.
I'll leave this open till at least next week where hopefully we'll have more info
I can now upload my build with Electron 5.0.10 to the Store as well. I'll probably leave to @MarshallOfSound to close this ticket :)
My app using Electron 4.2.12 was just rejected because of the following APIs:
CAContext
CALayerHost
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings
Electron 5.0.11
Your app uses or references the following non-public APIs:
CAContext
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings
electron : 6.0.10
Guideline 2.5.1 - Performance - Software Requirements
Your app uses or references the following non-public APIs:
CAContext
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings
electron 3.0.2
Your app app links against the following non-public framework(s):
CAContext
CALayerHost
NSURLFileTypeMappings
@MarshallOfSound is there anything we can do to help ?
i don't have the skills to fix this my self
@zcbenz looks like you have done patches before can you do a new one for these ?
sorry for stressing but i have important update to my app that needs to be deployed
Try appealing and state that you're using Electron and those APIs are internal to Electron:
https://developer.apple.com/contact/app-store/?topic=appeal
Updated to latest electron v7.0.0 and got rejection again.
@mytran
don't think do an appeal will help more than maybe once
better try to fix this
i see its a patch file in the code base
patches\chromiummas_no_private_api.patch
if we somehow can add the APIs there
I have not figure out yet how to do it
and for those that know how to do this.
If they don't have time to fix it maybe we can sponsor them?
time is money :)
If everyone that needs this to be fixed donated some $
I guess it will stack up and maybe will speed up this fix
rejected today electron 6.0.12 and also with 7.0.0
Your app app links against the following non-public framework(s):
CAContext
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings
does it work with Electron 5 ?
I informed Apple about my app using electron etc. and received this:
"Hello,
Thank you for providing this information.
Regarding 2.5.1, your app uses or references the following non-public APIs. If you do not have access to your binary or unsure how to remove the APIs in question, please contact your service provider for technical supports."
3.0.0-beta.5 mas version rejected as well for private apis:
CAContext
CALayerHost
NSURLFileTypeMappings
Just a week ago, we just successfully pass apple's audit using the same mas version. I am wondering does the old electron-v3.0.0-beta.5-mas-x64.zip file got rebuild on the download server side or zip file never modified while Apple changes their private api strategy or both? any hints you guys, coz this is really frustrating and annoying.
Apple change their private api strategy
i have been doing weekly updates for the last month without problems
we need to fix this
sadly i don't have the skills to fix it myself
i have been some digging and looks like these files have private api calls
https://chromium.googlesource.com/chromium/src/+/HEAD/components/remote_cocoa/app_shim/native_widget_mac_nswindow.h
https://chromium.googlesource.com/chromium/src/+/master/net/base/platform_mime_util_mac.mm
https://chromium.googlesource.com/chromium/src.git/+/72.0.3626.80/content/browser/ns_view_bridge_factory_impl.mm
https://chromium.googlesource.com/chromium/src.git/+/62.0.3178.1/content/browser/compositor/gpu_output_surface_mac.mm
https://chromium.googlesource.com/experimental/chromium/src/+/lkgr/ui/base/cocoa/remote_layer_api.h
https://chromium.googlesource.com/experimental/chromium/src/+/lkgr/ui/base/cocoa/remote_layer_api.h
and here's how to do a patch file :)
https://www.youtube.com/watch?v=QtXj9tt-RUE
now we only need to set up the dev environment and
try to remove / comment out the apis
sounds easy ..........
Also am getting the same issue with 6.0.11 when attempting to build hyperspacedev/hyperspace:
Your app includes a version of an SDK from Electron that violates the App Store Review Guidelines. The version of the Electron SDK you are using in your app attempts to hide the use of private APIs. This is a violation Section 2.5.1 of the App Store Review Guidelines.
Found private class usage:
CAContext
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings
I don't know if this is related, but I think this is also causing a crash on the app as well with an "Operation not permitted" error.
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_INSTRUCTION (SIGILL)
Exception Codes: 0x0000000000000001, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Illegal instruction: 4
Termination Reason: Namespace SIGNAL, Code 0x4
Terminating Process: exc handler [3221]
Application Specific Information:
dyld: launch, running initializers
/usr/lib/libSystem.B.dylib
Could not set sandbox profile data: Operation not permitted (1)
@nornagon can you help us with this ?
i see you have done similar stuff before
@JCBsystem and all. I would be very careful in changing anything just to get through Apple. Their latest message said:
_"Continuing to use or conceal non-public APIs in future submissions of this app may result in the termination of your Apple Developer account, as well as removal of all associated apps from the App Store."_
I don't want to see any of my other apps compromised so I hope in an official fix ini the future (if possible at all).
May be one of the moderators/maintainers can escalate this (and relabel since it effects Electron 6 and Electron 7 too, tried with 7.0.1 too).
I just started having the same issue. Our app was originally accepted about a month ago, but attempting to submit an update failed.
Unsure of the exact Electron version offhand, but it's whatever the latest cordova-electron
depends on.
(Also thanks @gurugeek for calling attention to this on HN.)
It seems that Apple has put more private APIs on their blacklist. And to clarify, all these APIs are being used by Chromium.
@buu700 you are welcome! I think this is a pretty big deal for all using electron directly or indirectly. So hopefully there will be an (official) solution soon.
Yeah, it'd be ridiculous if Electron were effectively deprecated on macOS so casually with no warning. Hopefully there's a realistic way to address this in Electron and/or Chrome, or Apple is willing to be flexible with this.
The fileport_makefd
and fileport_makeport
APIs are used by mojo (Chromium's IPC library) and seem impossible to remove, but they do not seem to appear on recent reports so it is probably fine keeping them for now.
The CAContext
and CALayerHost
APIs have been used by Chromium since at least 5 years ago, there are only a few places using them but they are in the core graphics code, it should be possible to remove them but we have to figure out what they actually do first.
The other NS
APIs should be easy to remove though:
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings
Slack has been updated recently, how did they pass the review, does anyone know?
The @cyph update I submitted was rejected three days ago, and it looks like @gurugeek's rejection was two days ago, so I guess Slack just barely made the cutoff?
Mozilla recently published a good write up on why they started using the undocumented CALayer API in Firefox 69. The TLDR is that that these private API's allowed them to get up to 3x better battery usage in Firefox. The article also mentioned that Chrome uses these Core Animation API's.
This issue doesn't directly effect me, nor do I understand it. But I thought I would share the above article in case it help y'll work out the root cause the issue.
Would anyone be interested in validating the Electron binary for me? My Apple Developer subscription has expired and I don't want to go bother buying it again 馃槂 .
The binary is based on 7.0.1 Release build with debugging symbols:
https://drive.google.com/open?id=1RwWd9U-yfpWpn6OhDO1duTXfnRXKIPxL
The changes can be found at mas-patch-remote-layer-7-0-x
branch. Currently I have disabled all reported calls except for fileport_makefd
and fileport_makeport
, so it is possible that the binary gets rejected again.
@zcbenz
Great work!
will try to upload in a day or two
need to finish some change my self first :)
thank you again!
did a scan with otool -ov like Apple sugets
before there was
CAContext 1 hit
CALayerHost 1 hit
NSAccessibilityRemoteUIElement 3 hit
NSNextStepFrame 2 hit
NSThemeFrame 2 hit
NSURLFileTypeMappings 1 hit
then new mas-patch-remote-layer-7-0-x build hade 0 hits :)
looks good
before
fileport_makeport 0 hits
fileport_makefd 0 hits
after
fileport_makeport 0 hit
fileport_makefd 0 hit
Using strings the other tool Apple suggested i got one hit
for CAContext
'Frame had neither valid CAContext nor valid IOSurface.'
it looks look like an exception msg or similar
dont know how picky Apple are
before
fileport_makeport 3 hits
fileport_makefd 2 hits
after
fileport_makeport 1 hit
fileport_makefd 0 hit
My app has just been rejected because of private API calls (Electron v. 4.0.4). Apple suggested the following resolutions:
"To resolve this issue, please either remove the Electron SDK entirely from your app, or revise your app to utilize version 3.0.0-beta.7, 2.0.8, 1.8.8, or 1.7.16 of the Electron SDK. Once you have made one of those changes, resubmit your binary for review."
Downgraded to 3.0.0-beta.7. Let's see what happens...
"To resolve this issue, please either remove the Electron SDK entirely from your app (I was shocked reading this), or revise your app to utilize version 3.0.0-beta.7, 2.0.8, 1.8.8, or 1.7.16 of the Electron SDK. Once you have made one of those changes, resubmit your binary for review."
This sounds suspiciously like a targeted whitelist of Electron versions. Let me do some digging and see what I can find.
@ivandroid was the message of today? Can you also post the list of the API calls that were flagged by Apple ? Perhaps Apple decided to be more explicit and gave you at least some guidance. Yesterday was a much tougher message. @MarshallOfSound thanks for looking into this. It would be good to know if 3.0.0.-beta7 meets these requirements.
@ivandroid was the message of today? Can you also post the list of the API calls that were flagged by Apple ? Perhaps Apple decided to be more explicit and gave you at least some guidance. Yesterday was a much tougher message. @MarshallOfSound thanks for looking into this. It would be good to know if 3.0.0.-beta7 meets these requirements.
Yes, I've got the rejection message today.
CAContext
CALayerHost
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings
Same answer from appeal
_Your app includes a version of an SDK from Electron that violates the App Store Review Guidelines. The version of the Electron SDK you are using in your app attempts to hide the use of private APIs. This is a violation Section 2.5.1 of the App Store Review Guidelines.
Additional Notes:
To resolve this issue, please either remove the Electron SDK entirely from your app, or revise your app to utilize version 3.0.0-beta.7, 2.0.8, 1.8.8, or 1.7.16 of the Electron SDK. Once you have made one of those changes, resubmit your binary for review.
We hope you will consider making the necessary changes to be in compliance with the App Store Review Guidelines and will resubmit your revised binary._
HI guys, also encountering this problem currently (first macOS submission to App Store, so I got no idea what to do about it and just listen here ;-)).
Message in AppStore:
Guideline 2.5.1: Apps may only use public APIs.
CAContext
CALayerHost
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings
I am using electron v4.2.10.
I tried with the Electron binary that @zcbenz posted in https://github.com/electron/electron/issues/20027#issuecomment-549295886, still get the same rejection letter like below. Look like Apple is rejecting based on the version of Electron.
Your app includes a version of an SDK from Electron that violates the App Store Review Guidelines. The version of the Electron SDK you are using in your app attempts to hide the use of private APIs. This is a violation Section 2.5.1 of the App Store Review Guidelines.
Found private class usage:
CAContext
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings
A 3.0.0-Beta.7 build has been rejected. :(
Found private class usage:
CAContext
CALayerHost
NSURLFileTypeMappings
Also encountering this problem currently, electron v4.2.6
Guideline 2.5.1 - Performance - Software Requirements
Your app uses or references the following non-public APIs:
CAContext
CALayerHost
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings
Any official solution ?
@thomasdao That's interesting, looks like they aren't even flagging private APIs. They've just flagged electron framework versions. 馃
@thomasdao did you scan your build before submitting it using 'otool -ov' and strings?
@JCBsystem how do you scan the build? I used Electron Builder and not too sure which file to scan, I tried with both .app
and .pkg
file and the command showed error.
What I did was that I downloaded the electron binary file from the link @zcbenz gave, replace that with the local file in node_modules
folder then build. I may miss some steps, if you have other suggestions please let me know so I can retry again, thanks!
@thomasdao
open a console from 'xxx.app/Contents/Frameworks/Electron\ Framework.framework/Versions/A'
then run
otool -ov Electron\ Framework > ../../../../../../dump.txt
and
strings Electron\ Framework > ../../../../../../dump1.txt
open the dump files and do a search for the api keys
or send me the app and i will test it for you :)
@JCBsystem thanks for the instruction. The dump files are at https://drive.google.com/file/d/1POwnOX_jMcahUi4beBdo7viKjaeey8PY/view?usp=sharing, I think it still contains private API. Probably simply replacing the Electron binary in node_modules
does not really remove the private API in final build. If you have any suggestion I can retry submitting to Apple.
@thomasdao
yes the api keys is still there
looks like you dident get the test build in your build
dont know how to add the test build correct in yoru MAS build
maybe @MarshallOfSound or @zcbenz can tell you
still think the new build from zcbenz will work
@electron/get (via electron-packager or other similar tools) downloads the electron builds from the official repository and caches them in ~/Library/Caches/electron, regardless of what is found in the local node_modules/electron directory. I have replaced the cached Electron.app with the one from @zcbenz and it was picked up for packaging. (_note: the patch archive has some issues, in that some folders which should be aliases are included in full and some frameworks are present, which are not usually included in the mas builds of electron_).
Running otool on the resulting package does not flag any blacklisted APIs, and the application itself passes a basic smoke test. I have submitted it for Apple testing today, although the official patch of Electron by @zcbenz seems to be very close to official release. At least we could see if they are they are really checking the binaries for the linked APIs or if they look for Electron versions.
Many thanks to @zcbenz for this patch! 馃憤
@netop thanks for this. Just for the mere mortals JS developers out here what are the steps to be undertaken before rebuilding and checking the package before submission ?
Step 1) download the patched version from @zcbenz at https://drive.google.com/open?id=1RwWd9U-yfpWpn6OhDO1duTXfnRXKIPxL and step 2, 3, 4.. ? :
I think there is a PR for the 5x branch is perhaps better to wait that and install it via NPM ?
@gurugeek for sure the best way is to wait for the official Electron patch.
It just happened that our app faced a critical issue which constituted a considerable incentive for trying this out. Plus there is a request in this thread from @zcbenz for someone with an Apple Dev account to test if the patch actually works.
I'll come back here with details once the Apple review team replies.
@netop also willing to try before the official patch. Just couldn't figure it out (yet) so if you know what I need to replace/check let me know.
Well... it still did not fully work. It got past the previous blacklist, but hey are now flagging these:
__CFCopyServerVersionDictionary
__CFCopySystemVersionDictionary
__kCFSystemVersionBuildVersionKey
__kCFSystemVersionProductNameKey
__kCFSystemVersionProductVersionExtraKey
__kCFSystemVersionProductVersionKey
No reference to the fileport_*
methods.
I am not sure if those items are present in the @zcbenz build only or if they were also the official Electron build, I will be able to check later. It could be that @zcbenz also targeted dmg
in the build, which would also explain the additional frameworks included in the bundle (see this potentially related issue and the links there).
I just wish Apple would just provide a complete API blacklist/whitelist or a tool to check the builds, instead of playing trial-and-error...
@netop Thanks for testing the build, it turns out that I forgot to clear old files before doing new build, and some files from non-MAS build were mixed into the build I uploaded.
I have re-uploaded a clean build, sorry for the trouble.
https://drive.google.com/file/d/1foCvpd2YuD7oEBFvwQwmubtdnS6_VIlN/view?usp=sharing
@zcbenz I will retry to package and submit - but could you please grant permission to download the updated build. Thank you so much!
Also, it seems that the symbols come from crashpad_handler
- so maybe I can remove that file myself. Otherwise, the frameworks appear to be OK... 馃
@netop The download link should work now. Apart from the crashpad_handler
, you also need to remove Squirrel.framework
from the bundle.
@zcbenz Thank you so much for the support, I did remove the Squirrel.framework
the last time, I just missed crashpad_handler
. Since your new build is based on 7.1.0 this time, I will stay with the previous one for convenience and safety, with the only change being the culprit module removed. I can test the 7.1.0 update after that, if the app gets approved.
I am submitting ASAP and will come back with the result once I have it.
OK - so the app got accepted and is now _Ready for Sale_. A big THANK YOU to @zcbenz for the custom build 馃檹 .
any time estimates for the official patch?
Thank you @zcbenz!
any time estimates for the official patch?
You can follow https://github.com/electron/electron/pull/20965 on the progress.
Currently as disabling remote layer APIs might drag down performance significantly, we are waiting for responses from Apple to see if it is possible to unblock CAContext
and CALayerHost
for us, or whether is there a better way of patching to avoid performance hit.
mas
patched build (until a cleaner solution is available)Based on a previous request, this is a description of what to do in order to use the @zcbenz patch with your application packaging tool.
Initial note: our app is built for multiple platforms, one of which being Electron. Because of this, we need a bit more control over the packaging process, therefore are using electron-packager
and not electron-builder
. The following steps apply to the electron-packager
approach, with the 7.0.1 build. However, if you are using builder, it should be easy enough to use the common configuration option electronDist
to achieve the same result. Also, using the 7.1.0 build is similar, you should just adapt the instructions accordingly.
This is the sequence of steps I've went through:
Downloaded and cleaned up the Electron.app package from @zcbenz.
The initial 7.0.1-based package had some additional frameworks and libraries that were not needed for mas
(like Squirrel and crash_pad), the updated 7.1.0-based one does not include them any more. However, both have a problem with the zip archive not processing symbolic links (aliases) correctly, and some binaries are included more than one time, making it way larger than it should. You can download the clean version from here (based on the 7.0.1 build) and use it as-is, or you may just use it as a template.
Configure electron-packager to use the specific Electron build and run once
This is depending on the way you are using the tool. In my case, I am using the API and not the CLI, so I've set the electronVersion
option to specify 7.0.1 in the code. Run the packager - it will use @electron/get
to download and cache an offical 7.0.1 Electron build (_note: you may also use the mirrorOptions
configuration, if you want to get more fancy and host the custom build somewhere - but for this temporary fix I did not go that way)_. Once you have this set up, let the packager create a bundle with the official build - don't upload it to store or anything. Just make sure it uses the specified Electron version.
Find and replace the cached Electron build then run again
@electron/get
stores the cached downloads in the ~/Library/Caches/electron
directory. Normally, there should be multiple versions of Electron downloaded there, look for the one that is used for the 7.0.1 macOS App Store package. The subdirectory name you look for should be httpsgithub.comelectronelectronreleasesdownloadv7.0.1electron-v7.0.1-mas-x64.zip
and should contain a zip archive of the electron build. Replace that zip archive with the cleaned @zcbenz build you obtained in step 1. Run the packager again - it should skip the official download and use the cached version you've just replaced.
Check the result for private API usage
Use otool
as instructed by @thomasdao. Open a console from xxx.app/Contents/Frameworks/Electron\ Framework.framework/Versions/A
then run
otool -ov Electron\ Framework > ../../../../../../dump.txt
then search the output for the symbols in question, they should not appear
CAContext
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings
Alternatively, if you are more comfortable with the GUI tool, you may use MacDependency for listing and searching through symbols imported by your xxx.app-included Electron Framework.
_Note: In my initial attempt I've missed the crash_pad
module in the xxx.app\Contents\Frameworks\Electron Framework.framework\Versions\A\Resources"
subdirectory, and got flagged for private API usage from it. So you might want to double check for that one and make sure it was removed at step 1._
That's it - you may now submit your app to the store.
any time estimates for the official patch?
You can follow #20965 on the progress.
Currently as disabling remote layer APIs might drag down performance significantly, we are waiting for responses from Apple to see if it is possible to unblock
CAContext
andCALayerHost
for us, or whether is there a better way of patching to avoid performance hit.
is it possible to release this now and when apple response or you find a better way of patching
you do a new update ?
it can take some time before apple response
Would it be possible to release as an alpha
or beta
version before Apple responds back?
+1 on a temporary version alpha or so that we can easily install with npm and submit :) 馃挴
Thank you for the awesome directions @netop and the fast work @zcbenz !
Went through the instructions this morning, submitted a build, and was approved this evening! 馃憦馃憦 thanks again.
Thank you @zcbenz and @netop ! I submitted a build earlier today and it has been approved!
Using electron-clean version did help removing Private-API's, but the app is lot heavier now. When building it with official(7.0.1) version app size is about 60 MB but with electron-clean the size jumped up to 300 MB.
What can i do on my side to decrease the size?
@manish-patwal Check the above post:
How to use the @zcbenz
mas
patched build (until a cleaner solution is available)
In the original archive from @zcbenz some items are included twice, instead of using aliases. You can correct those manually or use the download link provided at step #1.
Got approved today! Thanks!
Is there an Electron 6 variant of this fix available? We're having issues loading Flash content with the clean version, see https://github.com/electron/electron/issues/20744 @netop @zcbenz
My app has just been approved by apple. It's using electron 6.0.7.
So is this problem only in the 5.x version, or is Apple making adjustments again on the private api detection strategy?
i am using Electron 6 still having an issue
The above mentioned workaround doesn't work for me, I am having issues when I replace that .zip file, seems as if there is a checksum not matching?!
Help really deeply appreciated - we need to get our app to the store :-/
Hi @MarshallOfSound,
@zcbenz mas patched build worked very well and Apple approved build using it. Can we please have some estimation on when it can be improved on electron upcoming releases. Thanks for your effort and support too.
Regards
Ranjan
@anh1979 I have a same issues with you, and then I test in a new simple project is ok, so I guess there is a problem with version of electron-packager, I run command again after update electron-packager to latest is ok.
@netop Thank you very much for your share.
@zcbenz @netop
Any news on this?
I'm using Electron 6.x and and electron-builder. We would need a "bullet proof" solution, because if Apple rejects the app, the reputation of the associated corporate account will decrease, which is not good.
What's the current the status of this?
i am using electron-builder 21.2.0 and electron 6.1.5 getting this rejection message
Your app uses or references the following non-public APIs:
Private class usage:
CAContext
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings
"Continuing to use or conceal non-public APIs in future submissions of this app may result in the termination of your Apple Developer account, as well as removal of all associated apps from the App Store."
i have read all comments and messages , but dont know how to use @zcbenz's PATCH in my Project. i am totally Confused and worried how to resolve this.
if you guys Help me , it will be very grateful
@ravijethvaaphp read https://github.com/electron/electron/issues/20027#issuecomment-551913031
I did also get this now for the first time (our app did actually pass the review in September).
Guideline 2.5.1 - Performance - Software Requirements
Your app includes a version of an SDK from Electron that violates the App Store Review Guidelines. The version of the Electron SDK you are using in your app attempts to hide the use of private APIs. This is a violation Section 2.5.1 of the App Store Review Guidelines.
Found private class usage:
CAContext
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappingsGuideline 2.5.1: Apps may only use public APIs.
Next Steps
To resolve this issue, please either remove the Electron SDK entirely from your app, or revise your app to utilize a corrected version of the Electron SDK.
Waiting for the patch to be approved: https://github.com/electron/electron/pull/20965 :)
with the patch build, I am not able to successfully complete the _rebuild_. My dependencies are SQLite3 and ffmpeg.
Below is the logging output-
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.o
CC(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/duration.pb.o
CC(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/timestamp.pb.o
CC(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/xds/xds.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_secure.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/xds/xds_client_stats.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/xds/xds_load_balancer_api.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/census/grpc_context.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/max_age/max_age_filter.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/message_size/message_size_filter.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/http/client_authority_filter.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/workarounds/workaround_utils.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/plugin_registry/grpc_plugin_registry.o
LIBTOOL-STATIC Release/libgrpc.a
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/alloc.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/arena.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/atm.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/cpu_iphone.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/cpu_linux.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/cpu_posix.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/cpu_windows.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/env_linux.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/env_posix.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/env_windows.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/host_port.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/log.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/log_android.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/log_linux.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/log_posix.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/log_windows.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/mpscq.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/murmur_hash.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/string.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/string_posix.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/string_util_windows.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/string_windows.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/sync.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/sync_posix.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/sync_windows.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/time.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/time_posix.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/time_precise.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/time_windows.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/tls_pthread.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/tmpfile_msys.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/tmpfile_posix.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/tmpfile_windows.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/wrap_memcpy.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gprpp/fork.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gprpp/thd_posix.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gprpp/thd_windows.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/profiling/basic_timers.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/profiling/stap_timers.o
LIBTOOL-STATIC Release/libgpr.a
CC(target) Release/obj.target/boringssl/deps/grpc/src/boringssl/err_data.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_bitstr.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_bool.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_d2i_fp.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_dup.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_enum.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_gentm.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_i2d_fp.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_int.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_mbstr.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_object.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_octet.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_print.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_strnid.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_time.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_type.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_utctm.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_utf8.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/asn1_lib.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/asn1_par.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/asn_pack.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/f_enum.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/f_int.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/f_string.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/tasn_dec.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/tasn_enc.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/tasn_fre.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/tasn_new.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/tasn_typ.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/tasn_utl.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/time_support.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/base64/base64.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/bio.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/bio_mem.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/connect.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/fd.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/file.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/hexdump.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/pair.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/printf.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/socket.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/socket_helper.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bn_extra/bn_asn1.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bn_extra/convert.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/buf/buf.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bytestring/asn1_compat.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bytestring/ber.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bytestring/cbb.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bytestring/cbs.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/chacha/chacha.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/cipher_extra.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/derive_key.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_aesccm.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_aesctrhmac.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_aesgcmsiv.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_chacha20poly1305.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_null.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_rc2.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_rc4.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_ssl3.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_tls.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/tls_cbc.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cmac/cmac.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/conf/conf.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cpu-aarch64-fuchsia.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cpu-aarch64-linux.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cpu-arm-linux.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cpu-arm.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cpu-intel.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cpu-ppc64le.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/crypto.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/curve25519/spake25519.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/dh/check.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/dh/dh.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/dh/dh_asn1.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/dh/params.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/digest_extra/digest_extra.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/dsa/dsa.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/dsa/dsa_asn1.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/ec_extra/ec_asn1.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/ecdh/ecdh.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/ecdsa_extra/ecdsa_asn1.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/engine/engine.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/err/err.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/digestsign.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/evp.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/evp_asn1.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/evp_ctx.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_dsa_asn1.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_ec.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_ec_asn1.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_ed25519.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_ed25519_asn1.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_rsa.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_rsa_asn1.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/pbkdf.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/print.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/scrypt.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/sign.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/ex_data.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/fipsmodule/bcm.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/fipsmodule/is_fips.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/hkdf/hkdf.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/lhash/lhash.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/mem.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/obj/obj.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/obj/obj_xref.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_all.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_info.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_lib.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_oth.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_pk8.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_pkey.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_x509.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_xaux.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pkcs7/pkcs7.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pkcs7/pkcs7_x509.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pkcs8/p5_pbev2.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pkcs8/pkcs8.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pkcs8/pkcs8_x509.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/poly1305/poly1305.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/poly1305/poly1305_arm.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/poly1305/poly1305_vec.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pool/pool.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rand_extra/deterministic.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rand_extra/forkunsafe.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rand_extra/fuchsia.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rand_extra/rand_extra.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rand_extra/windows.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rc4/rc4.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/refcount_c11.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/refcount_lock.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rsa_extra/rsa_asn1.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/stack/stack.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/thread.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/thread_none.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/thread_pthread.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/thread_win.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/a_digest.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/a_sign.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/a_strex.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/a_verify.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/algorithm.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/asn1_gen.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/by_dir.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/by_file.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/i2d_pr.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/rsa_pss.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/t_crl.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/t_req.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/t_x509.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/t_x509a.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_att.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_cmp.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_d2.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_def.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_ext.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_lu.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_obj.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_r2x.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_req.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_set.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_trs.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_txt.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_v3.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_vfy.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_vpm.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509cset.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509name.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509rset.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509spki.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_algor.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_all.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_attrib.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_crl.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_exten.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_info.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_name.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_pkey.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_pubkey.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_req.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_sig.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_spki.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_val.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_x509.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_x509a.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/pcy_cache.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/pcy_data.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/pcy_lib.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/pcy_map.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/pcy_node.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/pcy_tree.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_akey.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_akeya.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_alt.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_bcons.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_bitst.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_conf.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_cpols.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_crld.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_enum.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_extku.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_genn.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_ia5.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_info.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_int.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_lib.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_ncons.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_pci.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_pcia.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_pcons.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_pku.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_pmaps.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_prn.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_purp.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_skey.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_sxnet.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_utl.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/bio_ssl.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/custom_extensions.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/d1_both.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/d1_lib.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/d1_pkt.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/d1_srtp.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/dtls_method.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/dtls_record.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/handoff.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/handshake.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/handshake_client.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/handshake_server.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/s3_both.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/s3_lib.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/s3_pkt.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_aead_ctx.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_asn1.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_buffer.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_cert.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_cipher.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_file.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_key_share.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_lib.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_privkey.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_session.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_stat.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_transcript.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_versions.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_x509.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/t1_enc.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/t1_lib.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/tls13_both.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/tls13_client.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/tls13_enc.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/tls13_server.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/tls_method.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/tls_record.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/third_party/fiat/curve25519.o
LIBTOOL-STATIC Release/libboringssl.a
CXX(target) Release/obj.target/grpc_node/ext/byte_buffer.o
CXX(target) Release/obj.target/grpc_node/ext/call.o
../ext/call.cc:99:53: error: no matching member function for call to 'Get'
Local<String> current_key(Nan::To<String>(keys->Get(i)).ToLocalChecked());
~~~~~~^~~
/Users/ritikrishu/.electron-gyp/7.1.1/include/node/v8.h:3502:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
^
/Users/ritikrishu/.electron-gyp/7.1.1/include/node/v8.h:3505:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
^
../ext/call.cc:663:27: error: no matching member function for call to 'Get'
if (!op->ParseOp(obj->Get(type), &ops[i])) {
~~~~~^~~
/Users/ritikrishu/.electron-gyp/7.1.1/include/node/v8.h:3502:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
^
/Users/ritikrishu/.electron-gyp/7.1.1/include/node/v8.h:3505:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
^
2 errors generated.
make: *** [Release/obj.target/grpc_node/ext/call.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:210:5)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Darwin 19.0.0
gyp ERR! command "/usr/local/bin/node" "/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/.bin/node-gyp" "rebuild" "--target=7.1.1" "--arch=x64" "--dist-url=https://electronjs.org/headers" "--build-from-source" "--module_name=grpc_node" "--module_path=/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/grpc/src/node/extension_binary/electron-v7.1-darwin-x64-unknown" "--host=https://node-precompiled-binaries.grpc.io/" "--remote_path={name}/v1.20.3" "--package_name=electron-v7.1-darwin-x64-unknown.tar.gz"
gyp ERR! cwd /Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/grpc
gyp ERR! node -v v12.12.0
gyp ERR! node-gyp -v v6.0.1
gyp ERR! not ok
Failed with exit code: 1
Error: CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/avl/avl.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/backoff/backoff.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/channel_args.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/channel_stack.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/channel_stack_builder.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/channel_trace.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/channelz.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/channelz_registry.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/connected_channel.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/handshaker.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/handshaker_registry.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/channel/status_util.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/compression/compression.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/compression/compression_internal.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/compression/message_compress.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/compression/stream_compression.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/compression/stream_compression_gzip.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/compression/stream_compression_identity.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/debug/stats.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/debug/stats_data.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/http/format_request.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/http/httpcli.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/http/parser.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/buffer_list.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/call_combiner.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/combiner.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/endpoint.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/endpoint_pair_posix.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/endpoint_pair_uv.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/endpoint_pair_windows.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/error.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/ev_epoll1_linux.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/ev_epollex_linux.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/ev_poll_posix.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/ev_posix.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/ev_windows.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/exec_ctx.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/executor.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/fork_posix.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/fork_windows.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/gethostname_fallback.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/gethostname_host_name_max.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/gethostname_sysconf.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/grpc_if_nametoindex_posix.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/grpc_if_nametoindex_unsupported.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/internal_errqueue.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/iocp_windows.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/iomgr.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/iomgr_custom.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/iomgr_internal.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/iomgr_posix.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/iomgr_uv.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/iomgr_windows.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/is_epollexclusive_available.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/load_file.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/lockfree_event.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/polling_entity.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/pollset.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/pollset_custom.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/pollset_set.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/pollset_set_custom.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/pollset_set_windows.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/pollset_uv.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/pollset_windows.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/resolve_address.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/resolve_address_custom.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/resolve_address_posix.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/resolve_address_windows.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/resource_quota.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/sockaddr_utils.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/socket_factory_posix.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/socket_mutator.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/socket_utils_common_posix.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/socket_utils_linux.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/socket_utils_posix.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/socket_utils_uv.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/socket_utils_windows.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/socket_windows.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_client.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_client_custom.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_client_posix.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_client_windows.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_custom.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_posix.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_server.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_server_custom.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_server_posix.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_server_utils_posix_common.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_server_utils_posix_ifaddrs.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_server_utils_posix_noifaddrs.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_server_windows.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_uv.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/tcp_windows.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/time_averaged_stats.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/timer.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/timer_custom.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/timer_generic.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/timer_heap.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/timer_manager.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/timer_uv.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/udp_server.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/unix_sockets_posix.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/unix_sockets_posix_noop.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/wakeup_fd_eventfd.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/wakeup_fd_nospecial.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/wakeup_fd_pipe.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/iomgr/wakeup_fd_posix.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/json/json.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/json/json_reader.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/json/json_string.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/json/json_writer.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/slice/b64.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/slice/percent_encoding.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/slice/slice.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/slice/slice_buffer.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/slice/slice_intern.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/slice/slice_string_helpers.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/api_trace.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/byte_buffer.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/byte_buffer_reader.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/call.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/call_details.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/call_log_batch.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/channel.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/channel_init.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/channel_ping.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/channel_stack_type.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/completion_queue.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/completion_queue_factory.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/event_string.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/lame_client.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/metadata_array.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/server.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/validate_metadata.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/version.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/transport/bdp_estimator.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/transport/byte_stream.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/transport/connectivity_state.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/transport/error_utils.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/transport/metadata.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/transport/metadata_batch.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/transport/pid_controller.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/transport/static_metadata.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/transport/status_conversion.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/transport/status_metadata.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/transport/timeout_encoding.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/transport/transport.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/transport/transport_op_string.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/uri/uri_parser.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/debug/trace.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/server/secure/server_secure_chttp2.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/bin_decoder.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/bin_encoder.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/chttp2_plugin.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/chttp2_transport.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/context_list.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/flow_control.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/frame_data.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/frame_goaway.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/frame_ping.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/frame_rst_stream.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/frame_settings.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/frame_window_update.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/hpack_encoder.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/hpack_parser.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/hpack_table.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/http2_settings.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/huffsyms.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/incoming_metadata.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/parsing.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/stream_lists.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/stream_map.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/varint.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/transport/writing.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/alpn/alpn.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/http/client/http_client_filter.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/http/http_filters_plugin.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/http/message_compress/message_compress_filter.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/http/server/http_server_filter.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/http/httpcli_security_connector.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/context/security_context.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/alts/alts_credentials.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/composite/composite_credentials.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/credentials.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/credentials_metadata.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/fake/fake_credentials.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/google_default/credentials_generic.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/google_default/google_default_credentials.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/iam/iam_credentials.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/jwt/json_token.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/jwt/jwt_credentials.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/jwt/jwt_verifier.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/local/local_credentials.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/oauth2/oauth2_credentials.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/plugin/plugin_credentials.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/ssl/ssl_credentials.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/tls/grpc_tls_credentials_options.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/tls/spiffe_credentials.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/security_connector/alts/alts_security_connector.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/security_connector/fake/fake_security_connector.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/security_connector/load_system_roots_fallback.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/security_connector/load_system_roots_linux.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/security_connector/local/local_security_connector.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/security_connector/security_connector.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/security_connector/ssl/ssl_security_connector.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/security_connector/ssl_utils.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/security_connector/tls/spiffe_security_connector.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/transport/client_auth_filter.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/transport/secure_endpoint.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/transport/security_handshaker.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/transport/server_auth_filter.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/transport/target_authority_table.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/transport/tsi_error.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/util/json_util.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/surface/init_secure.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/crypt/aes_gcm.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/crypt/gsec.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/frame_protector/alts_counter.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/frame_protector/alts_crypter.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/frame_protector/alts_frame_protector.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/frame_protector/alts_record_protocol_crypter_common.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/frame_protector/alts_seal_privacy_integrity_crypter.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/frame_protector/alts_unseal_privacy_integrity_crypter.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/frame_protector/frame_handler.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/handshaker/alts_handshaker_client.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/handshaker/alts_shared_resource.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/handshaker/alts_tsi_handshaker.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_integrity_only_record_protocol.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_privacy_integrity_record_protocol.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/zero_copy_frame_protector/alts_grpc_record_protocol_common.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/zero_copy_frame_protector/alts_iovec_record_protocol.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/zero_copy_frame_protector/alts_zero_copy_grpc_protector.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/alts/check_gcp_environment.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/alts/check_gcp_environment_linux.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/alts/check_gcp_environment_no_op.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/alts/check_gcp_environment_windows.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/alts/grpc_alts_credentials_client_options.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/alts/grpc_alts_credentials_options.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/lib/security/credentials/alts/grpc_alts_credentials_server_options.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/handshaker/alts_handshaker_service_api.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/handshaker/alts_handshaker_service_api_util.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/handshaker/alts_tsi_utils.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/handshaker/transport_security_common_api.o
CC(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/handshaker/altscontext.pb.o
CC(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/handshaker/handshaker.pb.o
CC(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/alts/handshaker/transport_security_common.pb.o
CC(target) Release/obj.target/grpc/deps/grpc/third_party/nanopb/pb_common.o
CC(target) Release/obj.target/grpc/deps/grpc/third_party/nanopb/pb_decode.o
CC(target) Release/obj.target/grpc/deps/grpc/third_party/nanopb/pb_encode.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/transport_security.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/client/insecure/channel_create.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/client/insecure/channel_create_posix.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/client/authority.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/client/chttp2_connector.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/backup_poller.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/channel_connectivity.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/client_channel.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/client_channel_channelz.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/client_channel_factory.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/client_channel_plugin.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/connector.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/global_subchannel_pool.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/health/health_check_client.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/http_connect_handshaker.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/http_proxy.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy_registry.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/local_subchannel_pool.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/parse_address.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/proxy_mapper.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/proxy_mapper_registry.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver_registry.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver_result_parsing.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolving_lb_policy.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/retry_throttle.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/server_address.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/service_config.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/subchannel.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/subchannel_pool_interface.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/deadline/deadline_filter.o
CC(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/health/health.pb.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/fake_transport_security.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/local_transport_security.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/ssl/session_cache/ssl_session_boringssl.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/ssl/session_cache/ssl_session_cache.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/ssl/session_cache/ssl_session_openssl.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/ssl_transport_security.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/tsi/transport_security_grpc.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/server/chttp2_server.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/client/secure/secure_channel_create.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/server/insecure/server_chttp2.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/chttp2/server/insecure/server_chttp2_posix.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/inproc/inproc_plugin.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/transport/inproc/inproc_transport.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/client_load_reporting_filter.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_channel_secure.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb_client_stats.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/load_balancer_api.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/fake/fake_resolver.o
CC(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/duration.pb.o
CC(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/google/protobuf/timestamp.pb.o
CC(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/grpclb/proto/grpc/lb/v1/load_balancer.pb.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/xds/xds.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/xds/xds_channel_secure.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/xds/xds_client_stats.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/xds/xds_load_balancer_api.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/dns_resolver_ares.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_windows.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_posix.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_windows.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/dns/native/dns_resolver.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/client_channel/resolver/sockaddr/sockaddr_resolver.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/census/grpc_context.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/max_age/max_age_filter.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/message_size/message_size_filter.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/http/client_authority_filter.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/workarounds/workaround_cronet_compression_filter.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/ext/filters/workarounds/workaround_utils.o
CXX(target) Release/obj.target/grpc/deps/grpc/src/core/plugin_registry/grpc_plugin_registry.o
LIBTOOL-STATIC Release/libgrpc.a
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/alloc.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/arena.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/atm.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/cpu_iphone.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/cpu_linux.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/cpu_posix.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/cpu_windows.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/env_linux.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/env_posix.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/env_windows.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/host_port.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/log.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/log_android.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/log_linux.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/log_posix.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/log_windows.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/mpscq.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/murmur_hash.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/string.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/string_posix.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/string_util_windows.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/string_windows.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/sync.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/sync_posix.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/sync_windows.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/time.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/time_posix.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/time_precise.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/time_windows.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/tls_pthread.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/tmpfile_msys.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/tmpfile_posix.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/tmpfile_windows.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gpr/wrap_memcpy.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gprpp/fork.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gprpp/thd_posix.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/gprpp/thd_windows.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/profiling/basic_timers.o
CXX(target) Release/obj.target/gpr/deps/grpc/src/core/lib/profiling/stap_timers.o
LIBTOOL-STATIC Release/libgpr.a
CC(target) Release/obj.target/boringssl/deps/grpc/src/boringssl/err_data.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_bitstr.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_bool.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_d2i_fp.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_dup.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_enum.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_gentm.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_i2d_fp.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_int.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_mbstr.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_object.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_octet.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_print.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_strnid.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_time.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_type.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_utctm.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/a_utf8.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/asn1_lib.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/asn1_par.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/asn_pack.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/f_enum.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/f_int.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/f_string.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/tasn_dec.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/tasn_enc.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/tasn_fre.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/tasn_new.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/tasn_typ.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/tasn_utl.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/asn1/time_support.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/base64/base64.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/bio.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/bio_mem.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/connect.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/fd.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/file.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/hexdump.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/pair.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/printf.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/socket.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bio/socket_helper.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bn_extra/bn_asn1.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bn_extra/convert.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/buf/buf.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bytestring/asn1_compat.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bytestring/ber.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bytestring/cbb.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/bytestring/cbs.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/chacha/chacha.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/cipher_extra.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/derive_key.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_aesccm.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_aesctrhmac.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_aesgcmsiv.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_chacha20poly1305.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_null.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_rc2.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_rc4.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_ssl3.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/e_tls.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cipher_extra/tls_cbc.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cmac/cmac.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/conf/conf.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cpu-aarch64-fuchsia.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cpu-aarch64-linux.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cpu-arm-linux.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cpu-arm.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cpu-intel.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/cpu-ppc64le.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/crypto.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/curve25519/spake25519.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/dh/check.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/dh/dh.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/dh/dh_asn1.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/dh/params.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/digest_extra/digest_extra.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/dsa/dsa.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/dsa/dsa_asn1.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/ec_extra/ec_asn1.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/ecdh/ecdh.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/ecdsa_extra/ecdsa_asn1.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/engine/engine.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/err/err.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/digestsign.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/evp.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/evp_asn1.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/evp_ctx.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_dsa_asn1.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_ec.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_ec_asn1.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_ed25519.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_ed25519_asn1.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_rsa.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/p_rsa_asn1.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/pbkdf.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/print.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/scrypt.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/evp/sign.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/ex_data.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/fipsmodule/bcm.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/fipsmodule/is_fips.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/hkdf/hkdf.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/lhash/lhash.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/mem.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/obj/obj.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/obj/obj_xref.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_all.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_info.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_lib.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_oth.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_pk8.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_pkey.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_x509.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pem/pem_xaux.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pkcs7/pkcs7.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pkcs7/pkcs7_x509.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pkcs8/p5_pbev2.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pkcs8/pkcs8.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pkcs8/pkcs8_x509.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/poly1305/poly1305.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/poly1305/poly1305_arm.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/poly1305/poly1305_vec.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/pool/pool.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rand_extra/deterministic.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rand_extra/forkunsafe.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rand_extra/fuchsia.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rand_extra/rand_extra.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rand_extra/windows.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rc4/rc4.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/refcount_c11.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/refcount_lock.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/rsa_extra/rsa_asn1.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/stack/stack.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/thread.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/thread_none.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/thread_pthread.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/thread_win.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/a_digest.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/a_sign.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/a_strex.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/a_verify.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/algorithm.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/asn1_gen.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/by_dir.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/by_file.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/i2d_pr.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/rsa_pss.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/t_crl.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/t_req.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/t_x509.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/t_x509a.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_att.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_cmp.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_d2.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_def.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_ext.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_lu.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_obj.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_r2x.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_req.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_set.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_trs.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_txt.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_v3.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_vfy.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509_vpm.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509cset.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509name.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509rset.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x509spki.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_algor.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_all.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_attrib.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_crl.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_exten.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_info.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_name.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_pkey.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_pubkey.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_req.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_sig.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_spki.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_val.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_x509.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509/x_x509a.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/pcy_cache.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/pcy_data.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/pcy_lib.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/pcy_map.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/pcy_node.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/pcy_tree.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_akey.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_akeya.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_alt.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_bcons.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_bitst.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_conf.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_cpols.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_crld.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_enum.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_extku.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_genn.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_ia5.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_info.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_int.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_lib.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_ncons.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_pci.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_pcia.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_pcons.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_pku.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_pmaps.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_prn.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_purp.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_skey.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_sxnet.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/crypto/x509v3/v3_utl.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/bio_ssl.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/custom_extensions.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/d1_both.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/d1_lib.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/d1_pkt.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/d1_srtp.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/dtls_method.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/dtls_record.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/handoff.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/handshake.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/handshake_client.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/handshake_server.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/s3_both.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/s3_lib.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/s3_pkt.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_aead_ctx.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_asn1.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_buffer.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_cert.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_cipher.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_file.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_key_share.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_lib.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_privkey.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_session.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_stat.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_transcript.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_versions.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/ssl_x509.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/t1_enc.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/t1_lib.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/tls13_both.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/tls13_client.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/tls13_enc.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/tls13_server.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/tls_method.o
CXX(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/ssl/tls_record.o
CC(target) Release/obj.target/boringssl/deps/grpc/third_party/boringssl/third_party/fiat/curve25519.o
LIBTOOL-STATIC Release/libboringssl.a
CXX(target) Release/obj.target/grpc_node/ext/byte_buffer.o
CXX(target) Release/obj.target/grpc_node/ext/call.o
../ext/call.cc:99:53: error: no matching member function for call to 'Get'
Local<String> current_key(Nan::To<String>(keys->Get(i)).ToLocalChecked());
~~~~~~^~~
/Users/ritikrishu/.electron-gyp/7.1.1/include/node/v8.h:3502:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
^
/Users/ritikrishu/.electron-gyp/7.1.1/include/node/v8.h:3505:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
^
../ext/call.cc:663:27: error: no matching member function for call to 'Get'
if (!op->ParseOp(obj->Get(type), &ops[i])) {
~~~~~^~~
/Users/ritikrishu/.electron-gyp/7.1.1/include/node/v8.h:3502:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
^
/Users/ritikrishu/.electron-gyp/7.1.1/include/node/v8.h:3505:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
^
2 errors generated.
make: *** [Release/obj.target/grpc_node/ext/call.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:210:5)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Darwin 19.0.0
gyp ERR! command "/usr/local/bin/node" "/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/.bin/node-gyp" "rebuild" "--target=7.1.1" "--arch=x64" "--dist-url=https://electronjs.org/headers" "--build-from-source" "--module_name=grpc_node" "--module_path=/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/grpc/src/node/extension_binary/electron-v7.1-darwin-x64-unknown" "--host=https://node-precompiled-binaries.grpc.io/" "--remote_path={name}/v1.20.3" "--package_name=electron-v7.1-darwin-x64-unknown.tar.gz"
gyp ERR! cwd /Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/grpc
gyp ERR! node -v v12.12.0
gyp ERR! node-gyp -v v6.0.1
gyp ERR! not ok
Failed with exit code: 1
at SafeSubscriber._error (/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/spawn-rx/lib/src/index.js:267:84)
at SafeSubscriber.__tryOrUnsub (/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/rxjs/internal/Subscriber.js:205:16)
at SafeSubscriber.error (/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/rxjs/internal/Subscriber.js:156:26)
at Subscriber._error (/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/rxjs/internal/Subscriber.js:92:26)
at Subscriber.error (/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/rxjs/internal/Subscriber.js:72:18)
at MapSubscriber.Subscriber._error (/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/rxjs/internal/Subscriber.js:92:26)
at MapSubscriber.Subscriber.error (/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/rxjs/internal/Subscriber.js:72:18)
at SafeSubscriber._next (/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/spawn-rx/lib/src/index.js:242:65)
at SafeSubscriber.__tryOrUnsub (/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/rxjs/internal/Subscriber.js:205:16)
at SafeSubscriber.next (/Users/ritikrishu/Documents/Projects/sixgill/hyperlabel-app/node_modules/rxjs/internal/Subscriber.js:143:22)
npm ERR! code ELIFECYCLE
npm ERR! errno 255
npm ERR! [email protected] rebuild: `cross-env CFLAGS=-Wno-error CXXFLAGS=-Wno-error electron-rebuild -f -w sqlite3,ffmpeg`
npm ERR! Exit status 255
npm ERR!
npm ERR! Failed at the [email protected] rebuild script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/ritikrishu/.npm/_logs/2019-12-03T09_41_07_965Z-debug.log
Please correct me if I'm wrong.
Can we now just replace electron version in package.json with this:
"electron": "github:electron/electron#938cc461e794a5771fccc843fd8ce8690e0501bb"
to get the corrected version?
Or perhaps this:
"electron": "https://github.com/electron/electron#pull/20965/head"
@steffanhalv
i think if you build like that you may include more libs that are not allowed in the MAS
if you do like that make sure to scan you build before submitting and also look for other unwanted libs see comment https://github.com/electron/electron/issues/20027#issuecomment-551067242
@zcbenz
Any updates? Which electron version should I use to ensure Apple's approval?
It seems even apps with electron 6.1.5 get rejected..
Could anybody tell me exactly which version to use? Or using the custom build (as described above) is the only way for now?
Thanks in advance!
@gtamas The custom build is the only way around now, until the fix gets approved (as I know).
@ravijethvaaphp read #20027 (comment)
Is there a build to download for electron 6 ?
because some plugin not supporting the Electron 7 In My Project
anyone have link like above comment i.e. https://github.com/electron/electron/issues/20027#issuecomment-551913031
The lack of response from the Electron team regarding this widespread issue is making us seriously re-consider using Electron for our platform apps.
(I'm not a committer on this project) Have you seen change/release notes of v8? I did.
More importantly, the open-source philosophy is: be the change that you want to see, open the hood. Linus would say: DIY. Please submit a PR for docs, source, etc.
@cekvenich what changes in v8?
v8 still have private apis in it
We haven't got a solution from Apple so far, so we have decided to only merge the fix for 5.x and 6.x for now.
This is a temporary measure to allow people to release on the Mac App Store, however it produces significant performance regressions and we are seeking a resolution with Apple for future versions of Electron that doesn鈥檛 compromise the performance of Electron apps.
@zcbenz Thanks for an update.
Are the performance regressions going to affect apps that already disable hardware acceleration (with app.disableHardwareAcceleration
Electron API)?
@zcbenz
Great news, thank you!
so we have decided to only merge the fix for 5.x and 6.x for now.
Why not for 7.x?
Are the performance regressions going to affect apps that already disable hardware acceleration (with
app.disableHardwareAcceleration
Electron API)?
There is no performance regression to apps that disables hardware acceleration.
Why not for 7.x?
Because this is not a real fix, and the team decided to not have it in our latest stable unless there is no other option.
Apple is going to kill web-based apps like Electron eventually?
We haven't got a solution from Apple so far, so we have decided to only merge the fix for 5.x and 6.x for now.
This is a temporary measure to allow people to release on the Mac App Store, however it produces significant performance regressions and we are seeking a resolution with Apple for future versions of Electron that doesn鈥檛 compromise the performance of Electron apps.
@zcbenz
When will the fix be published to npm, and will this fix affect the performance of non-mas build
The above mentioned workaround doesn't work for me, I am having issues when I replace that .zip file, seems as if there is a checksum not matching?!
Help really deeply appreciated - we need to get our app to the store :-/
Hey @anh1979, did you manage to get past the checksum issue. I am also receiving the same error from electron-packager/cli:
Generated checksum for "electron-v7.0.1-mas-x64.zip" did not match expected checksum.
SOLUTION:
I pass the following flag to electron-packager/cli.js
--download.disableChecksumSafetyCheck=true
@jmcrthrs : Yes, I had to update electron packager to the latest version, then tried again and I was able to proceed. But I encountered another problem then, something was wrong with the entitlements.
Does that mean version 5/6 could be approved by Mac App Store?
Was able to get Apple to approve our app with 6.1.7
I also got an approval from Apple after updating to Electron v5.0.13.
@mytran @jarek-foksa So your apps were approved despite having private APIs? You didn't need to use the work around detailed here: https://github.com/electron/electron/issues/20027#issuecomment-551913031
@jmcrthrs Versions 5.0.13 and 6.1.7 were released just recently and they already include the MAS patches. There are no workarounds or extra steps needed.
@jarek-foksa @zcbenz
Great news, thank you! So upgrading to 6.1.7 eliminates the risk of rejection by Apple completely, right? I mean, this is an official release and everything.
@zcbenz mentioned that this is not possible with Electron 7, because "this is not a real fix". That's why I'm a bit confused. So is it safe to use this or should we wait for the "real fix"? Would that be release anytime soon?
@gtamas Yes, I have now successfully published two different apps using Electron 5.0.13 on the Mac App Store. The submission process was smooth, I didn't receive any complains from Apple. Electron 6.1.7 should also be fine as it has the same patches.
So far I haven't noticed any significant performance regressions, even though one of my apps is an SVG editor which is all about on-screen manipulation of graphical objects.
@jarek-foksa You may not notice things like FPS drops but the resultant patch triggers a more resource hungry code path that will potentially consume more power (drain your battery faster)
@MarshallOfSound i wonder, is it something noticeable from chrome performance tab side, or its later on the pipeline, out of the scope
You probably won't be able to see it from within Chromes own performance tooling.
Using the custom build by @zcbenz got my v7.x app approved and ready for sale. I didn't notice any performance hits.
So what is the current solution for Electron 7+? Waiting for updates? Downgrade to 5,6?
@gtamas Yes, I have now successfully published two different apps using Electron 5.0.13 on the Mac App Store. The submission process was smooth, I didn't receive any complains from Apple. Electron 6.1.7 should also be fine as it has the same patches.
So far I haven't noticed any significant performance regressions, even though one of my apps is an SVG editor which is all about on-screen manipulation of graphical objects.
Could us which version of electron-builder you were using? Did it take any modifications to get it to build?
@msavin I was using electron-builder version 21.2.0, I don't recall doing any modifications.
Any news here ?
or is still "electron": "6.1.7", the one to use ?
@MarshallOfSound @zcbenz
Apple is still rejecting apps using official Electron 7 and 8 MAS builds because of the usage of CAContext and CALayerHost.
I don't understand the reasoning behind the decision to not patch the newer releases. A MAS build with poor battery performance is always better than a MAS build with good battery performance that is basically useless because it can't be published on the app store.
I guess the initial assumption was that Apple would provide a solution soon by whitelisting those two APIs, but after 3 months I guess it's safe to assume they are not willing to do that.
Besides, those new Electron releases introduce fixes for some critical bugs (such as broken printing). I'm currently using a patched Electron 5.x release and so far I have received several complains about the broken printing, but none of my users has complained about the battery usage.
I also hope Electron 8 can be patched. It has new spellcheck feature which solves a major pain in older Electron. And I guess if anything changes in the future, that patch can be reverted so it would not be permanent.
I'm getting the following errors from Apple with Electron 6.1.7:
Guideline 2.5.1 - Performance - Software Requirements
Your app includes a version of an SDK from Electron that violates the App Store Review Guidelines. The version of the Electron SDK you are using in your app attempts to hide the use of private APIs. This is a violation Section 2.5.1 of the App Store Review Guidelines.
and
Guideline 2.5.1 - Performance
Your app app links against the following non-public framework(s):
_AXTextMarkerRangeCopyEndMarker, _NSTextInputReplacementRangeAttributeName, __kCFSystemVersionProductVersionExtraKey, _AXTextMarkerCreate, _AXTextMarkerRangeCopyStartMarker, _AXTextMarkerGetBytePtr, __kCFSystemVersionBuildVersionKey, _AudioDeviceDuck, __NSDrawCarbonThemeListBox, __NSInitializeKillRing, __CFCopyServerVersionDictionary, __NSYankFromKillRing, __LSSetApplicationLaunchServicesServerConnectionStatus, __NSAppendToKillRing, __kCFSystemVersionProductNameKey, __NSDrawCarbonThemeBezel, _AXTextMarkerRangeCreate, __kCFSystemVersionProductVersionKey, _AXTextMarkerGetLength, _SetApplicationIsDaemon, __NSNewKillRingSequence, __NSSetKillRingToYankedState, __CFCopySystemVersionDictionary
try this
https://github.com/electron-react-boilerplate/electron-react-boilerplate/issues/2169#issuecomment-478323276
pleas let us know if thats the problem
This is another bunch of API blacklists. It seems that Apple decided to kill electron apps. 馃槺
I'm getting the following errors from Apple with Electron 6.1.7:
Guideline 2.5.1 - Performance - Software Requirements
Your app includes a version of an SDK from Electron that violates the App Store Review Guidelines. The version of the Electron SDK you are using in your app attempts to hide the use of private APIs. This is a violation Section 2.5.1 of the App Store Review Guidelines.
and
Guideline 2.5.1 - Performance
Your app app links against the following non-public framework(s):
_AXTextMarkerRangeCopyEndMarker, _NSTextInputReplacementRangeAttributeName, __kCFSystemVersionProductVersionExtraKey, _AXTextMarkerCreate, _AXTextMarkerRangeCopyStartMarker, _AXTextMarkerGetBytePtr, __kCFSystemVersionBuildVersionKey, _AudioDeviceDuck, __NSDrawCarbonThemeListBox, __NSInitializeKillRing, __CFCopyServerVersionDictionary, __NSYankFromKillRing, __LSSetApplicationLaunchServicesServerConnectionStatus, __NSAppendToKillRing, __kCFSystemVersionProductNameKey, __NSDrawCarbonThemeBezel, _AXTextMarkerRangeCreate, __kCFSystemVersionProductVersionKey, _AXTextMarkerGetLength, _SetApplicationIsDaemon, __NSNewKillRingSequence, __NSSetKillRingToYankedState, __CFCopySystemVersionDictionary
@gaodeng
see the link i posted above .
he submitted a dirty build with dmg in it and got the same 2.5.1
look at the date.
i hope its just a build error by buu700
Those APIs are all the APIs we've ever patched out, they didn't use the mas
build correctly. It's user error not more APIs we have to fix
Thanks for the quick reply @JCBsystem. Can you clarify what you mean by "a dirty build with dmg in it"? In any case, I'll delete ~/Library/Caches/electron
as per that post and try again.
I'm not sure what you're suggesting the user error is here @MarshallOfSound. Is there another expected step besides running the mas build and submitting the generated pkg file?
@buu700 I'm saying you didn't use the mas
build. Whatever tooling you are using is not using the mas
build of Electron as that symbol list is basically a history lesson in all the symbols we've removed in the past.
Ah, thanks, this may be a cordova-electron issue then.
@JCBsystem @MarshallOfSound I was told by @erisu in https://github.com/apache/cordova-electron/issues/140 to share the generated electron-builder config file from platforms/electron/build/builder-effective-config.yaml
(copied below). Is that helpful?
directories:
output: /Users/buu700/cyph/cyph-phonegap-build/platforms/electron/build
buildResources: /Users/buu700/cyph/cyph-phonegap-build/platforms/electron/build-res
app: /Users/buu700/cyph/cyph-phonegap-build/platforms/electron/www
appId: com.cyph.desktop
productName: Cyph
electronVersion: 6.1.7
electronDownload:
version: 6.1.7
mac:
target:
- target: dmg
arch:
- x64
- target: mas
arch:
- x64
icon: installer.png
type: distribution
mas:
entitlements: macos.parent.plist
entitlementsInherit: macos.child.plist
provisioningProfile: /Users/buu700/.cyph/nativereleasesigning/apple/macOS_Distribution.provisionprofile
@buu700
try to remove
All right, I just submitted a new build to the App Store (regenerated config below). Fingers crossed!
directories:
output: /Users/buu700/cyph/cyph-phonegap-build/platforms/electron/build
buildResources: /Users/buu700/cyph/cyph-phonegap-build/platforms/electron/build-res
app: /Users/buu700/cyph/cyph-phonegap-build/platforms/electron/www
appId: com.cyph.desktop
productName: Cyph
electronVersion: 6.1.7
electronDownload:
version: 6.1.7
mac:
target:
- target: mas
arch:
- x64
icon: installer.png
type: distribution
mas:
entitlements: macos.parent.plist
entitlementsInherit: macos.child.plist
provisioningProfile: /Users/buu700/.cyph/nativereleasesigning/apple/macOS_Distribution.provisionprofile
No dice.
Guideline 2.5.1 - Performance
Your app app links against the following non-public framework(s):
AXTextMarkerRangeCopyEndMarker, _NSTextInputReplacementRangeAttributeName, __kCFSystemVersionProductVersionExtraKey, _AXTextMarkerCreate, _AXTextMarkerRangeCopyStartMarker, _AXTextMarkerGetBytePtr, __kCFSystemVersionBuildVersionKey, _AudioDeviceDuck, __NSDrawCarbonThemeListBox, __NSInitializeKillRing, __CFCopyServerVersionDictionary, __NSYankFromKillRing, __LSSetApplicationLaunchServicesServerConnectionStatus, __kCFSystemVersionProductNameKey, __NSAppendToKillRing, __NSDrawCarbonThemeBezel, _AXTextMarkerRangeCreate, __kCFSystemVersionProductVersionKey, _AXTextMarkerGetLength, _SetApplicationIsDaemon, __NSNewKillRingSequence, __CFCopySystemVersionDictionary, __NSSetKillRingToYankedState
(The list of non-public frameworks is slightly different from what it was 6 days ago, if that matters.)
@buu700
can you post a link to your build?
Sure, you can download it here.
@buu700
you have a "app.asar.unpacked" include in you resource folder.
Theres a electron.app in it thats the one that triggers the API warnings
remove "app.asar.unpacked" an try again
before submitting dubble check you app
open app and navigate to the resource folder see pic.
see picture here
https://imgur.com/a/dYWxq5d
Thanks @JCBsystem! I'll look into removing that today; sounds like it most likely is a Cordova issue.
@JCBsystem @MarshallOfSound @erisu
Good news! My update was just accepted!
It seems that app.asar.unpacked is generated by the Electron build toolchain. I don't know the point at which it's generated, but I ended up having to patch app-builder-lib
as a temporary workaround:
What I'm confused about is how no one else seems to have run into this issue, given that as far as I can tell it's a happy path Electron bug. Is there maybe something that Cordova (or my app) is doing differently that might cause app.asar.unpacked to be unexpectedly created (or unexpectedly populated with the electron
module)?
app.asar.unpacked
is completely unrelated to this error, deleting it actually will render parts of your app unusable. Your issue was due to using the wrong darwin/mas build, maybe some other change you made in your build scripts fixed the underlying issue but deleting that unpacked folder will have 0 postive impact and will break most apps
but there is 2 Electron apps in his app
one on there normal place
and one in the app.asar.unpacked .
thats not right
@JCBsystem Sorry if I wasn't clear, I'm saying their issue is unrelated to #20027 (the current issue we are in). Their build system is incorrectly packaging their app either using or accidentally including the non-mas version of Electron and having that information / solution in this thread is poor context for folks reading this thread in the future. I was just making it clear that as their issue is completely different any solution they reference will not solve this issue.
app.asar.unpacked
is completely unrelated to this error, deleting it actually will render parts of your app unusable.
Ah, thanks, that's good to know. Would deleting just app.asar.unpacked/node_modules/electron/dist/Electron.app
cause issues?
Your issue was due to using the wrong darwin/mas build
Can you be more specific? You've said this several times and I don't understand what other kind of mas build you mean to suggest I'm using. Does the build config not look right?
maybe some other change you made in your build scripts fixed the underlying issue but deleting that unpacked folder will have 0 postive impact and will break most apps
Not sure what to tell you, there are literally no other changes. It passes with app.asar.unpacked removed and fails otherwise.
Ah, thanks, that's good to know. Would deleting just app.asar.unpacked/node_modules/electron/dist/Electron.app cause issues?
Probably not if you delete _just_ that app, but you should figure out why it's being put there instead of hacking around it.
Can you be more specific? You've said this several times and I don't understand what other kind of mas build you mean to suggest I'm using. Does the build config not look right?
The build config appears correct but as I said either using or accidentally including the non-mas version of Electron
. In this case you were "including" the non-mas version of Electron by accident in that folder, although your build config was targeting mas
by default the electron
npm package will use the normal darwin
build which was what was ending up in the app.asar.unpacked
folder.
You should figure out why that electron
npm package was included in app.asar.unpacked
but that
should be resolved off this issue thread, we've gone off topic here 馃槃
Got it, thanks for clarifying that! So some of the node modules in that folder are definitely needed at run-time, but just electron
typically wouldn't be?
In that case, I think we've narrowed down what it is that Cordova needs to fix (as well as an improvement for my hacky workaround). I'll go report this in the cordova-electron issue thread.
Sorry if this is answered elsewhere, but:
Are Electron versions 7.x, 8.x, and 9.x also problematic users of private APIs? Or have there been updates in the latest versions of Electron to address this issue?
I ask because I'm trying to figure out whether it's more work to undo the breaking API changes I made and revert back to Electron 5.x, or if I can just get a later version of Electron that's also fixed.
@briandk 8.0.2
and v9.0.0-beta.3
released yesterday and the release notes mention the fix, so those versions should be good for the app store. I do not believe a v7 release has come with the fix yet, but I assume the next one (so anything > 7.1.13
) will have it, as the PR was ported to the v7 branch.
I just released my app losslesscut with electron 8.2.0 and can confirm I did not get any private API issues during review.
Guys, do you know, is there a way to use the autoUpdater module in MAS build?聽Maybe this question is related to the current discussion.
@kalachevmax Mac App Store should handle the updates on its own. Without the Electron app auto-updating itself. That being said, there may be a way to do both.
Most helpful comment
List of private APIs detected:
_fileport_makefd
_fileport_makeport
CAContext
CALayerHost
NSAccessibilityRemoteUIElement
NSNextStepFrame
NSThemeFrame
NSURLFileTypeMappings
Please only comment on this issue if your rejection email has APIs that are not in the list above. If you just comment
+1
your comment will be removed. If you are also experiencing this rejection please react to this issue with 馃憤 to indicate so.