BranchMetrics / sdk-release

TUNE iOS, Android, and Windows native SDKs
https://developers.tune.com/sdk/quick-starts/
GNU General Public License v3.0
56 stars 46 forks source link

IOS SDK - duplicate symbol for architecture arm64 #6

Closed bustazone closed 9 years ago

bustazone commented 9 years ago

The Xcode build process show me this error and I can't build :

duplicate symbol l071 in: /Users/jbustamante/Desktop/Aborda/aborda/mmc_mistura_iphone/MobileAppTracker.framework/MobileAppTracker(TuneEventQueue.o) /Users/jbustamante/Desktop/Aborda/aborda/mmc_mistura_iphone/MobileAppTracker.framework/MobileAppTracker(TuneDeferredDplinkr.o) ld: 1 duplicate symbol for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Thank you!!!

harshal-hasoffers commented 9 years ago

The MobileAppTracker iOS Xcode project build currently depends on universal build framework being installed. You can download the framework using this link: https://github.com/kstenerud/iOS-Universal-Framework/archive/master.zip

To install this framework, after you download and unzip the zip file, open a Terminal window and from the "Real Framework" folder, run install.sh.

Please let us know how this works for you.

john-gu commented 9 years ago

After installing the Universal Build Framework, you may also need to do:

Product -> hold Alt -> Clean Build Folder

bustazone commented 9 years ago

Hello everyone and thank you for your quick response!!! With your instructions, now I can execute the code in the IOS Simulator but when I try to compile for release I get the same error...

Thank you!!!

harshal-hasoffers commented 9 years ago

Also, make sure that you choose "iOS Device" and not a simulator target when building MobileAppTracker in Xcode. If this doesn't work, can you please send us a sample project to help us repro the error? Or you can file a ticket by sending an email to support@mobileapptracking.com. Please reference this page in your email.

andres-cianio commented 9 years ago

I'm getting the exact same issue mentioned above when building via jenkins. It works fine locally though. Any ideas?

harshal-hasoffers commented 9 years ago

we are probing it now, will update asap

bustazone commented 9 years ago

Yes, I find a solution last friday but I've no time to post it. In my case, I have in my mac the OSX 10.9 (mavericks). The problem seems yo be that the las xcode version that you be able to install mavericks, can't deal with builds for arm64 release. In my case, I test thet project in a mac with Yosemite version of OSX and the last version of xcode, and it works perfectly!!!! I hope that it help you!!! El 20/8/2015 21:21, "Andres Ciaño" notifications@github.com escribió:

I'm getting the exact same issue mentioned above when building via jenkins. It works fine locally though. Any ideas?

— Reply to this email directly or view it on GitHub https://github.com/MobileAppTracking/sdk-release/issues/6#issuecomment-133134611 .

andres-cianio commented 9 years ago

@bustazone That might be it... I'll try updating the XCode in my Jenkins machine and get back with the results

andres-cianio commented 9 years ago

@bustazone @harshal-hasoffers It seems the Xcode version doesn't have anything to do with it (Yosemite 10.10.5 with Xcode 6 6A313). After updating it, the issue persists (check below).

However, compiling locally in my machine, or even manually in the machine running Jenkins, works just fine. Compiling manually for iOS device (arm64) locally works. But compiling manually for iOS device (arm64) in the machine running Jenkins, doesn't work. => I assume this means some configuration problem may be the issue...

Maybe an issue related to xcodebuild? Some configuration missing? It's weird as Jenkins was working properly until we integrated Tune Tracker.

duplicate symbol l071 in:
    /Users/mobilemacmini1/dev/workspace/isildur/Pods/MobileAppTracker/MobileAppTracker.framework/MobileAppTracker(TuneDeferredDplinkr.o)
    /Users/mobilemacmini1/dev/workspace/isildur/Pods/MobileAppTracker/MobileAppTracker.framework/MobileAppTracker(TuneEventQueue.o)
ld: 1 duplicate symbol for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
andres-cianio commented 9 years ago

Sorry for the spam... But this will be my last reply, as everything is working fine now!

Xcode wasn't updating to the latest version (for some weird reason). Once I got it updated to the latest one everything worked fine :dancer:

harshal-hasoffers commented 9 years ago

@bustazone @andres-ciano thanks for posting your solution!

kkunowski commented 9 years ago

This issue still appears in: MobileAppTracker 3.11.0 Yosemite 10.10.5 (14F27) Xcode 6.2 (6C131e) iOS SDK 8.2 Swift iOS project when building for arm64 (i.e. preparing archive for itunes) On Simulator build OK. Any idea how to fix it ?

harshal-hasoffers commented 9 years ago

@kkunowski Can you try using the latest Xcode 6.4 (6E35b)? https://developer.apple.com/xcode/download/