Closed qbit86 closed 7 years ago
@claywilkinson Looks like some post-process step rewrites previous headers and framework paths.
Thanks for the feedback, we'll take a look.
@claywilkinson Any chance this is fixed today—tomorrow?
Probably, the way to reproduce is to integrate Facebook plugin, then Play Games plugin.
I don't have time to confirm it works with Facebook, but a colleague ran into the same problem with another plugin and submitted a fix. I'll push that version (1.2.2) to https://github.com/googlesamples/unity-jar-resolver today and update this thread.
@Qbit86 - version 1.2.2 is pushed to https://github.com/googlesamples/unity-jar-resolver, it should replace the Assets/PlayServicesResolver directory.
@claywilkinson Thanks! What about further propagation the fix from unity-jar-resolver to play-games-plugin-for-unity? I mean, we do not use Jar Resolver directly, only via other plugins. Is it safe to import unity-jar-resolver
over existing play-games-plugin-for-unity
installation?
It's safe to install it over. I suggested that so you could be unblocked. I'll update this plugin today or tomorrow.
@claywilkinson Now compilation seems to succeed, but linker outputs thousands of errors like the following:
duplicate symbol _AES_decrypt in:
/Users/***/Frameworks/gpg.framework/gpg(libgpg.a-arm64-master.o)
/Users/***/Frameworks/gpg.framework/gpg(aes.o)
...
duplicate symbol __ZTVN4buzz10XmlBuilderE in:
/Users/***/Frameworks/gpg.framework/gpg(libgpg.a-arm64-master.o)
/Users/***/Frameworks/gpg.framework/gpg(xmlbuilder.o)
ld: 7245 duplicate symbols for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
And warnings:
ld: warning: object file (/Users/***/Frameworks/gpg.framework/gpg(libgpg.a-armv7-master.o)) was built for newer iOS version (9.0) than being linked (7.0)
...
ld: warning: object file (/Users/***/Frameworks/gpg.framework/gpg(xmlbuilder.o)) was built for newer iOS version (9.0) than being linked (7.0)
yikes! that's not good. can you share the command line for ld? Also, there should be a Podfile.lock in your iOS project, can you share that too?
can you share the command line for ld?
The following build commands failed:
Ld /Users/buildserver/Library/Developer/Xcode/DerivedData/Unity-iPhone-dtoljfsfvaydfnglckwhxshwcpzy/Build/Intermediates/ArchiveIntermediates/Unity-iPhone/IntermediateBuildFilesPath/Unity-iPhone.build/Release-iphoneos/Unity-iPhone.build/Objects-normal/arm64/devzombiegun3d normal arm64
there should be a Podfile.lock in your iOS project
PODS:
- GoogleAppUtilities (1.1.2):
- GoogleSymbolUtilities (~> 1.1)
- GoogleAuthUtilities (2.0.2):
- GoogleNetworkingUtilities (~> 1.2)
- GoogleSymbolUtilities (~> 1.1)
- GoogleNetworkingUtilities (1.2.2):
- GoogleSymbolUtilities (~> 1.1)
- GooglePlayGames (5.1.1):
- GooglePlusOpenSource (>= 1.7.1)
- GoogleSignIn (>= 2.2.0)
- GooglePlusOpenSource (1.7.1)
- GoogleSignIn (4.0.0):
- GoogleAppUtilities (~> 1.1)
- GoogleAuthUtilities (~> 2.0)
- GoogleNetworkingUtilities (~> 1.2)
- GoogleUtilities (~> 1.3)
- GoogleSymbolUtilities (1.1.2)
- GoogleUtilities (1.3.2):
- GoogleSymbolUtilities (~> 1.1)
DEPENDENCIES:
- GooglePlayGames (~> 5.0)
SPEC CHECKSUMS:
GoogleAppUtilities: a8a552aa74f6597f805e45b5a3962766c3134973
GoogleAuthUtilities: ccad2e0a9284699973ff57c0dd24c3893657fda4
GoogleNetworkingUtilities: 3edd3a8161347494f2da60ea0deddc8a472d94cb
GooglePlayGames: 3b4fdd70647f74a711695265d61eb9a64334d38d
GooglePlusOpenSource: 5d514063287e1e87060eb4f9fab9d23d1c8fa601
GoogleSignIn: 09036ed61f8e75f1424100d63f7719480b2428c3
GoogleSymbolUtilities: 631ee17048aa5e9ab133470d768ea997a5ef9b96
GoogleUtilities: 8bbc733218aad26306f9d4a253823986110e3358
PODFILE CHECKSUM: 8f188ab549e258315fcefdb21ccea61fae6ccd03
COCOAPODS: 1.0.1
@claywilkinson Seems like gpg
archive (?) contains many “small” object files (aes.o
, tcpport.o
, xmlelement.o
, etc.) along with single “large” amalgam libgpg.a-arm64-master.o
, doesn't it? libgpg.a-arm64-master.o
is mentioned in every error message.
@claywilkinson Any suggestions?
@claywilkinson ?
@claywilkinson Ok, if there are no ways to overcome “duplicate symbols”, how can I get rid of GPG plugin on iOS, but leave it on Android? We do not need GPG functionality on iOS, but it should build with no errors for iOS, so I could merge branch back to trunk.
I'll update this plugin today or tomorrow.
?
hi? any fix for this? i'm running exactly into the same problem, it makes unity crash when building and the generated Xcode is messed up
and 28 days and no reply... is google short of people to work on google play? i volunteer if necessarily
@joaquingrech Please let me know if you manage to solve this issue.
i volunteer if necessarily
Have you tried to fix sources and send pull request?
no, it's not my job at the moment to waste hours to fix other people's code. When I'm done with my stuff in a few weeks if this is not solved I may look into it but it would mean it is ridiculous that someone who is not related to google in any way needs to fix their code after months waiting
@joaquingrech Usually @claywilkinson is quite responsive; hope he can fix this.
it is ridiculous that someone who is not related to google in any way needs to fix their code
It is open-sourced, so community could help. A couple of times I reported issues and provided ways to fix sources — they were adopted (although not via pull requests). But I'm not experienced iOS user/developer, I do not know details of XCode project generation. Now I'm facing hell and nightmare of supporting diverged branches, because I cannot merge updated GPG plugin into trunk — it breaks iOS build :(
Our game has over 10M installs on Google Play, seating in top-sellers in its category, generating revenue for Google. It's weird to have such struggles with Google plugin.
@joaquingrech Have you tried this suggestion: https://github.com/playgameservices/play-games-plugin-for-unity/issues/1449 ?
...but linker outputs thousands of errors like the following:
duplicate symbol _AES_decrypt in:...
Updating to 0.9.36 seems to fix linker issue.
I'm not that close to XCode/iOS/macOS/OS X, running builds only on our build server. After updating from 0.9.33 to 0.9.35 “Xcode archive” phase started failing with error message:
Looks like some paths became broken after updating plugin, so Facebook source files cannot build.